summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/battleground/flavius/flavius01.txt4
-rw-r--r--npc/battleground/flavius/flavius02.txt4
-rw-r--r--npc/battleground/tierra/tierra01.txt6
-rw-r--r--npc/battleground/tierra/tierra02.txt6
-rw-r--r--npc/cities/aldebaran.txt40
-rw-r--r--npc/cities/jawaii.txt20
-rw-r--r--npc/cities/morocc.txt2
-rw-r--r--npc/cities/rachel.txt2
-rw-r--r--npc/custom/bartershop.txt21
-rw-r--r--npc/custom/battleground/bg_flavius_01.txt8
-rw-r--r--npc/custom/battleground/bg_flavius_02.txt8
-rw-r--r--npc/custom/battleground/bg_kvm01.txt10
-rw-r--r--npc/custom/battleground/bg_kvm02.txt10
-rw-r--r--npc/custom/battleground/bg_kvm03.txt10
-rw-r--r--npc/custom/battleground/bg_tierra_01.txt12
-rw-r--r--npc/custom/battleground/bg_tierra_02.txt12
-rw-r--r--npc/custom/bgqueue/flavius.txt4
-rw-r--r--npc/custom/breeder.txt6
-rw-r--r--npc/custom/etc/airplane.txt4
-rw-r--r--npc/custom/etc/monster_arena.txt2
-rw-r--r--npc/custom/etc/mvp_arena.txt4
-rw-r--r--npc/custom/events/cluckers.txt4
-rw-r--r--npc/custom/events/disguise.txt12
-rw-r--r--npc/custom/events/valentinesdayexp.txt6
-rw-r--r--npc/custom/events/xmas_rings_event.txt2
-rw-r--r--npc/custom/healer.txt6
-rw-r--r--npc/custom/item_signer.txt2
-rw-r--r--npc/custom/itembind.txt12
-rw-r--r--npc/custom/jobmaster.txt4
-rw-r--r--npc/custom/quests/hunting_missions.txt6
-rw-r--r--npc/custom/quests/may_hats.txt2
-rw-r--r--npc/custom/quests/quest_shop.txt10
-rw-r--r--npc/custom/quests/thq/THQS_TTShop.txt4
-rw-r--r--npc/custom/woe_controller.txt2
-rw-r--r--npc/dev/test.txt66
-rw-r--r--npc/events/MemorialDay_2008.txt17
-rw-r--r--npc/events/RWC_2012.txt10
-rw-r--r--npc/events/StPatrick_2008.txt2
-rw-r--r--npc/events/christmas_2005.txt12
-rw-r--r--npc/events/easter_2010.txt60
-rw-r--r--npc/events/gdevent_aru.txt36
-rw-r--r--npc/events/gdevent_sch.txt36
-rw-r--r--npc/events/halloween_2006.txt2
-rw-r--r--npc/events/nguild/nguild_ev_agit.txt8
-rw-r--r--npc/events/nguild/nguild_kafras.txt13
-rw-r--r--npc/events/nguild/nguild_managers.txt56
-rw-r--r--npc/events/xmas.txt30
-rw-r--r--npc/instances/EndlessTower.txt2268
-rw-r--r--npc/instances/NydhoggsNest.txt3393
-rw-r--r--npc/instances/OrcsMemory.txt737
-rw-r--r--npc/instances/SealedShrine.txt1893
-rw-r--r--npc/jobs/2-1/wizard.txt1
-rw-r--r--npc/jobs/2-2/crusader.txt36
-rw-r--r--npc/jobs/2-2/sage.txt62
-rw-r--r--npc/jobs/2-2e/SoulLinker.txt2
-rw-r--r--npc/kafras/functions_kafras.txt19
-rw-r--r--npc/mapflag/noteleport.txt1
-rw-r--r--npc/mapflag/private_airship.txt725
-rw-r--r--npc/merchants/advanced_refiner.txt4
-rw-r--r--npc/merchants/clothes_dyer.txt6
-rw-r--r--npc/merchants/enchan_arm.txt4
-rw-r--r--npc/merchants/inn.txt4
-rw-r--r--npc/merchants/quivers.txt4
-rw-r--r--npc/merchants/socket_enchant.txt13
-rw-r--r--npc/merchants/socket_enchant2.txt4
-rw-r--r--npc/other/CashShop_Functions.txt39
-rw-r--r--npc/other/Global_Functions.txt203
-rw-r--r--npc/other/acolyte_warp.txt12
-rw-r--r--npc/other/arena/arena_aco.txt8
-rw-r--r--npc/other/arena/arena_lvl50.txt6
-rw-r--r--npc/other/arena/arena_lvl60.txt6
-rw-r--r--npc/other/arena/arena_lvl70.txt6
-rw-r--r--npc/other/arena/arena_lvl80.txt6
-rw-r--r--npc/other/arena/arena_party.txt6
-rw-r--r--npc/other/comodo_gambling.txt11
-rw-r--r--npc/other/divorce.txt2
-rw-r--r--npc/other/gympass.txt16
-rw-r--r--npc/other/hugel_bingo.txt37
-rw-r--r--npc/other/inventory_expansion.txt63
-rw-r--r--npc/other/marriage.txt34
-rw-r--r--npc/other/monster_race.txt2
-rw-r--r--npc/other/poring_war.txt4
-rw-r--r--npc/other/private_airship.txt66
-rw-r--r--npc/pre-re/guides/guides_ayothaya.txt8
-rw-r--r--npc/pre-re/guides/guides_veins.txt2
-rw-r--r--npc/pre-re/jobs/1-1/acolyte.txt2
-rw-r--r--npc/pre-re/jobs/1-1/merchant.txt14
-rw-r--r--npc/pre-re/jobs/novice/novice.txt16
-rw-r--r--npc/pre-re/quests/skills/novice_skills.txt4
-rw-r--r--npc/quests/bard_quest.txt100
-rw-r--r--npc/quests/bunnyband.txt62
-rw-r--r--npc/quests/cooking_quest.txt114
-rw-r--r--npc/quests/counteragent_mixture.txt3
-rw-r--r--npc/quests/eye_of_hellion.txt12
-rw-r--r--npc/quests/first_class/tu_acolyte.txt14
-rw-r--r--npc/quests/first_class/tu_archer.txt16
-rw-r--r--npc/quests/first_class/tu_magician01.txt36
-rw-r--r--npc/quests/first_class/tu_thief01.txt24
-rw-r--r--npc/quests/kiel_hyre_quest.txt24
-rw-r--r--npc/quests/newgears/2004_headgears.txt16
-rw-r--r--npc/quests/newgears/2010_headgears.txt4
-rw-r--r--npc/quests/quests_13_1.txt70
-rw-r--r--npc/quests/quests_13_2.txt10
-rw-r--r--npc/quests/quests_airship.txt5599
-rw-r--r--npc/quests/quests_ayothaya.txt22
-rw-r--r--npc/quests/quests_ein.txt2720
-rw-r--r--npc/quests/quests_gonryun.txt51
-rw-r--r--npc/quests/quests_hugel.txt102
-rw-r--r--npc/quests/quests_juperos.txt8
-rw-r--r--npc/quests/quests_lighthalzen.txt839
-rw-r--r--npc/quests/quests_louyang.txt2
-rw-r--r--npc/quests/quests_morocc.txt90
-rw-r--r--npc/quests/quests_moscovia.txt84
-rw-r--r--npc/quests/quests_nameless.txt2
-rw-r--r--npc/quests/quests_prontera.txt4
-rw-r--r--npc/quests/quests_rachel.txt142
-rw-r--r--npc/quests/quests_veins.txt10
-rw-r--r--npc/quests/seals/brisingamen_seal.txt10
-rw-r--r--npc/quests/seals/megingard_seal.txt16
-rw-r--r--npc/quests/seals/mjolnir_seal.txt36
-rw-r--r--npc/quests/skills/alchemist_skills.txt6
-rw-r--r--npc/quests/skills/assassin_skills.txt22
-rw-r--r--npc/quests/skills/bard_skills.txt4
-rw-r--r--npc/quests/skills/dancer_skills.txt22
-rw-r--r--npc/quests/skills/hunter_skills.txt2
-rw-r--r--npc/quests/skills/merchant_skills.txt2
-rw-r--r--npc/quests/skills/priest_skills.txt4
-rw-r--r--npc/quests/skills/rogue_skills.txt18
-rw-r--r--npc/quests/skills/sage_skills.txt14
-rw-r--r--npc/quests/skills/swordman_skills.txt7
-rw-r--r--npc/quests/skills/thief_skills.txt2
-rw-r--r--npc/quests/skills/wizard_skills.txt8
-rw-r--r--npc/quests/thana_quest.txt82
-rw-r--r--npc/quests/the_sign_quest.txt19
-rw-r--r--npc/re/cities/dewata.txt14
-rw-r--r--npc/re/cities/malangdo.txt6
-rw-r--r--npc/re/cities/mora.txt2
-rw-r--r--npc/re/events/christmas_2013.txt14
-rw-r--r--npc/re/events/halloween_2014.txt28
-rw-r--r--npc/re/instances/BakonawaLake.txt658
-rw-r--r--npc/re/instances/BangungotHospital.txt46
-rw-r--r--npc/re/instances/BuwayaCave.txt469
-rw-r--r--npc/re/instances/EclageInterior.txt732
-rw-r--r--npc/re/instances/HazyForest.txt1210
-rw-r--r--npc/re/instances/MalangdoCulvert.txt1302
-rw-r--r--npc/re/instances/OldGlastHeim.txt1483
-rw-r--r--npc/re/instances/WolfchevLaboratory.txt107
-rw-r--r--npc/re/instances/ghost_palace.txt436
-rw-r--r--npc/re/instances/octopus_cave.txt315
-rw-r--r--npc/re/instances/saras_memory.txt1049
-rw-r--r--npc/re/jobs/2e/kagerou_oboro.txt370
-rw-r--r--npc/re/jobs/3-1/archbishop.txt20
-rw-r--r--npc/re/jobs/3-1/guillotine_cross.txt321
-rw-r--r--npc/re/jobs/3-1/ranger.txt8
-rw-r--r--npc/re/jobs/3-1/rune_knight.txt4
-rw-r--r--npc/re/jobs/3-1/warlock.txt2
-rw-r--r--npc/re/jobs/3-2/genetic.txt12
-rw-r--r--npc/re/jobs/3-2/royal_guard.txt6
-rw-r--r--npc/re/jobs/3-2/sura.txt4
-rw-r--r--npc/re/jobs/novice/academy.txt115
-rw-r--r--npc/re/jobs/novice/novice.txt4
-rw-r--r--npc/re/jobs/novice/supernovice_ex.txt8
-rw-r--r--npc/re/jobs/repair.txt2
-rw-r--r--npc/re/merchants/advanced_refiner.txt4
-rw-r--r--npc/re/merchants/blessed_refiner.txt2
-rw-r--r--npc/re/merchants/card_separation.txt8
-rw-r--r--npc/re/merchants/coin_exchange.txt2
-rw-r--r--npc/re/merchants/enchan_mal.txt48
-rw-r--r--npc/re/merchants/enchan_mora.txt14
-rw-r--r--npc/re/merchants/shadow_refiner.txt167
-rw-r--r--npc/re/other/clans.txt581
-rw-r--r--npc/re/quests/eden/26-40.txt6
-rw-r--r--npc/re/quests/eden/41-55.txt2
-rw-r--r--npc/re/quests/eden/71-85.txt2
-rw-r--r--npc/re/quests/eden/eden_iro.txt10
-rw-r--r--npc/re/quests/eden/eden_quests.txt2
-rw-r--r--npc/re/quests/eden/eden_tutorial.txt251
-rw-r--r--npc/re/quests/homun_s.txt22
-rw-r--r--npc/re/quests/magic_books.txt22
-rw-r--r--npc/re/quests/newgears/2012_headgears.txt4
-rw-r--r--npc/re/quests/quests_brasilis.txt24
-rw-r--r--npc/re/quests/quests_dewata.txt16
-rw-r--r--npc/re/quests/quests_dicastes.txt26
-rw-r--r--npc/re/quests/quests_eclage.txt8
-rw-r--r--npc/re/quests/quests_malangdo.txt165
-rw-r--r--npc/re/quests/quests_malaya.txt121
-rw-r--r--npc/re/quests/quests_mora.txt40
-rw-r--r--npc/re/scripts.conf2
-rw-r--r--npc/re/warps/cities/izlude.txt4
-rw-r--r--npc/re/woe-fe/invest_main.txt2
-rw-r--r--npc/scripts.conf2
-rw-r--r--npc/scripts_custom.conf1
-rw-r--r--npc/scripts_dev.conf2
-rw-r--r--npc/scripts_mapflags.conf1
-rw-r--r--npc/scripts_removed.conf2
-rw-r--r--npc/warps/fields/abyss_warper.txt6
-rw-r--r--npc/woe-se/agit_main_se.txt1192
197 files changed, 16573 insertions, 15753 deletions
diff --git a/npc/battleground/flavius/flavius01.txt b/npc/battleground/flavius/flavius01.txt
index 8370f1e53..ee8ac5cb3 100644
--- a/npc/battleground/flavius/flavius01.txt
+++ b/npc/battleground/flavius/flavius01.txt
@@ -301,7 +301,7 @@ OnStop:
}
bat_b01,10,294,3 script Battle Therapist#b01_a 4_F_SISTER,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes("[Battle Therapist]");
mes("Just close your eyes,\r"
"and take a deep breath.");
@@ -346,7 +346,7 @@ OnTouch:
}
bat_b01,389,14,3 script Battle Therapist#b01_b 4_F_SISTER,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes("[Battle Therapist]");
mes("Just close your eyes,\r"
"and take a deep breath.");
diff --git a/npc/battleground/flavius/flavius02.txt b/npc/battleground/flavius/flavius02.txt
index 232dd7e39..69a54017b 100644
--- a/npc/battleground/flavius/flavius02.txt
+++ b/npc/battleground/flavius/flavius02.txt
@@ -301,7 +301,7 @@ OnStop:
}
bat_b02,10,294,3 script Battle Therapist#b02_a 4_F_SISTER,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes("[Battle Therapist]");
mes("Just close your eyes,\r"
"and take a deep breath.");
@@ -346,7 +346,7 @@ OnTouch:
}
bat_b02,389,14,3 script Battle Therapist#b02_b 4_F_SISTER,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes("[Battle Therapist]");
mes("Just close your eyes,\r"
"and take a deep breath.");
diff --git a/npc/battleground/tierra/tierra01.txt b/npc/battleground/tierra/tierra01.txt
index 22a612c81..bdf41b0bd 100644
--- a/npc/battleground/tierra/tierra01.txt
+++ b/npc/battleground/tierra/tierra01.txt
@@ -481,7 +481,7 @@ OnInit:
}
bat_a01,53,377,3 script Battle Therapist#a01_a 4_F_SISTER,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes("[Battle Therapist]");
mes("Just close your eyes,\r"
"and take a deep breath.");
@@ -531,7 +531,7 @@ OnTouch_:
}
bat_a01,45,19,3 script Battle Therapist#a01_b 4_F_SISTER,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes("[Battle Therapist]");
mes("Just close your eyes,\r"
"and take a deep breath.");
@@ -581,7 +581,7 @@ OnTouch:
}
bat_a01,60,216,3 script Valley Ghost#bat_a01_n 4_GHOSTRING,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes("[Valley Ghost]");
mes("Boo...Boo...");
close;
diff --git a/npc/battleground/tierra/tierra02.txt b/npc/battleground/tierra/tierra02.txt
index a54935089..abdb50a3f 100644
--- a/npc/battleground/tierra/tierra02.txt
+++ b/npc/battleground/tierra/tierra02.txt
@@ -481,7 +481,7 @@ OnInit:
}
bat_a02,53,377,3 script Battle Therapist#a02_a 4_F_SISTER,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes("[Battle Therapist]");
mes("Just close your eyes,\r"
"and take a deep breath.");
@@ -531,7 +531,7 @@ OnTouch_:
}
bat_a02,45,19,3 script Battle Therapist#a02_b 4_F_SISTER,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes("[Battle Therapist]");
mes("Just close your eyes,\r"
"and take a deep breath.");
@@ -581,7 +581,7 @@ OnTouch:
}
bat_a02,60,216,3 script Valley Ghost#bat_a02_n 4_GHOSTRING,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes("[Valley Ghost]");
mes("Boo...Boo...");
close;
diff --git a/npc/cities/aldebaran.txt b/npc/cities/aldebaran.txt
index f2820b3b0..57d4205df 100644
--- a/npc/cities/aldebaran.txt
+++ b/npc/cities/aldebaran.txt
@@ -1209,13 +1209,8 @@ function script F_Lottery {
mes "[Kafra]";
mes "^FF0000Lets see.... This is...!!^000000";
next;
- if(@temp < 1) goto sL_Prize1;
- if(@temp < 2) goto sL_Prize2;
- if(@temp < 3) goto sL_Prize3;
- if(@temp <= 4) goto sL_Prize4;
- goto sL_Prize5;
-
- sL_Prize1:
+ switch (@temp) {
+ case 0:
mes "[Kafra]";
mes "WOW!!!!..... You win!!! 1st Prize~! Congratulations~~ You got the 1st prize~~";
if(@Lotto == 1) getitem Wooden_Mail,1;//Items: Wooden_Mail,
@@ -1227,7 +1222,7 @@ function script F_Lottery {
}
if(@Lotto == 5) getitem Yggdrasilberry,3;//Items: Yggdrasilberry,
return;
- sL_Prize2:
+ case 1:
mes "[Kafra]";
mes "Oh! WOW! You've won the 2nd prize! Congratulations!!";
if(@Lotto == 1) getitem Shoes,1;//Items: Shoes,
@@ -1239,7 +1234,7 @@ function script F_Lottery {
getitem Royal_Jelly,10;//Items: Royal_Jelly,
}
return;
- sL_Prize3:
+ case 2:
mes "[Kafra]";
mes "Congratulations! You've won the 3rd prize.";
if(@Lotto == 1) getitem Wing_Of_Butterfly,4;//Items: Butterfly_Wing,
@@ -1248,7 +1243,8 @@ function script F_Lottery {
if(@Lotto == 4) getitem White_Potion,15;//Items: White_Potion,
if(@Lotto == 5) getitem White_Potion,30;//Items: White_Potion,
return;
- sL_Prize4:
+ case 3:
+ case 4:
mes "[Kafra]";
mes "You've won the 4th prize.";
if(@Lotto == 1) getitem Sweet_Potato,100;//Items: Sweet_Potato,
@@ -1257,7 +1253,7 @@ function script F_Lottery {
if(@Lotto == 4) getitem Blue_Potion,5;//Items: Blue_Potion,
if(@Lotto == 5) getitem Blue_Potion,10;//Items: Blue_Potion,
return;
- sL_Prize5:
+ default:
mes "[Kafra]";
mes "You've won the 5th prize.";
if(@Lotto == 1) getitem Sweet_Potato,50;//Items: Sweet_Potato,
@@ -1266,18 +1262,20 @@ function script F_Lottery {
if(@Lotto == 4) getitem Red_Potion,250;//Items: Red_Potion,
if(@Lotto == 5) getitem Red_Potion,300;//Items: Red_Potion,
return;
+ }
sF_Spin:
- mes "[Lottery Machine]";
- mes "Number of spins remaining: "+@input;
- next;
- mes "[Lottery Machine]";
- mes "(rumble~rumble~rumble~)...";
- next;
- @temp = rand(10);
- --@input;
- if(@input <= 0) return;
- goto sF_Spin;
+ while (true) {
+ mes "[Lottery Machine]";
+ mes "Number of spins remaining: "+@input;
+ next;
+ mes "[Lottery Machine]";
+ mes "(rumble~rumble~rumble~)...";
+ next;
+ @temp = rand(10);
+ --@input;
+ if(@input <= 0) return;
+ }
}
//== Inside Clock Tower ====================================
diff --git a/npc/cities/jawaii.txt b/npc/cities/jawaii.txt
index e308d9f73..71ec8264f 100644
--- a/npc/cities/jawaii.txt
+++ b/npc/cities/jawaii.txt
@@ -921,7 +921,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "throat is burning.";
next;
mes "^3355FFYou gulped it down.^000000";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
percentheal -20,0;
next;
break;
@@ -943,7 +943,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "^3355FFYou drank it sip by sip,";
mes "savoring its rich,";
mes "robust flavor.^000000";
- specialeffect2 EF_FIREIVY;
+ specialeffect(EF_FIREIVY, AREA, playerattached());
percentheal -20,0;
next;
break;
@@ -967,7 +967,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "Lick the sugar before taking a sip. That will make it taste a little sweeter and will soften the taste.";
next;
mes "^3355FFYou carefully took a sip.^000000";
- specialeffect2 EF_DECAGILITY;
+ specialeffect(EF_DECAGILITY, AREA, playerattached());
percentheal -20,0;
next;
break;
@@ -993,7 +993,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
next;
mes "^3355FFYou gulp the delicious";
mes "Margarita down in one sip.^000000";
- specialeffect2 EF_MAGNUMBREAK;
+ specialeffect(EF_MAGNUMBREAK, AREA, playerattached());
percentheal -20,0;
next;
}
@@ -1015,7 +1015,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "I'm a cowboy hero!";
mes "Bang Bang Bang!";
next;
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
percentheal -10,0;
next;
break;
@@ -1039,7 +1039,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "Aaaaaahhhhhh~!";
mes "This drink is really good!";
- specialeffect2 EF_SANCTUARY;
+ specialeffect(EF_SANCTUARY, AREA, playerattached());
percentheal -10,0;
next;
break;
@@ -1059,7 +1059,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "gulped it down.^000000";
next;
mes "^3355FFYou feel pretty hammered.^000000";
- specialeffect2 EF_BLASTMINEBOMB;
+ specialeffect(EF_BLASTMINEBOMB, AREA, playerattached());
percentheal -10,0;
next;
break;
@@ -1081,7 +1081,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "^3355FFYou took a sip of it and sighed.^000000";
next;
mes "^3355FFAnd promised yourself that you would never drink it ever again.^000000";
- specialeffect2 EF_HIT6;
+ specialeffect(EF_HIT6, AREA, playerattached());
percentheal -10,0;
next;
break;
@@ -1271,7 +1271,7 @@ prt_in,173,13,4 script Customer#SoloHan 4_M_04,{
next;
mes "[Bachewcca]";
mes "^666666*Grunt!*^000000";
- specialeffect EF_TALK_SCREAM,AREA,"Customer#Bachewcca";
+ specialeffect(EF_TALK_SCREAM, AREA, getnpcid("Customer#Bachewcca"));
next;
mes "[SoloHan]";
mes "To...";
@@ -1377,7 +1377,7 @@ prt_in,173,13,4 script Customer#SoloHan 4_M_04,{
next;
mes "[Bachewcca]";
mes "^666666*Grrr...!*^000000";
- specialeffect EF_THROWITEM,AREA,"Customer#Bachewcca";
+ specialeffect(EF_THROWITEM, AREA, getnpcid("Customer#Bachewcca"));
close;
}
mes "Oh man...";
diff --git a/npc/cities/morocc.txt b/npc/cities/morocc.txt
index 8f1f1111d..e4400e7af 100644
--- a/npc/cities/morocc.txt
+++ b/npc/cities/morocc.txt
@@ -138,7 +138,7 @@ morocc,223,102,0 script Volunteer - Morroc#06::MocVolunteer 2_M_BARD_ORIENT,{
next;
mes "[Ringing Voice]";
mes "Be quiet! Can't you see what's going on?!";
- specialeffect EF_HIT2,AREA,"Volunteer - Morroc#06";
+ specialeffect(EF_HIT2, AREA, getnpcid("Volunteer - Morroc#06"));
next;
mes "[Morroc Volunteer]";
mes "Heyyy, you're being too harsh, Senyorita. Your fist may be as fragile as you are, but it sure can hurt somebody.";
diff --git a/npc/cities/rachel.txt b/npc/cities/rachel.txt
index ecd410ab1..2fbb92f05 100644
--- a/npc/cities/rachel.txt
+++ b/npc/cities/rachel.txt
@@ -309,7 +309,7 @@ rachel,206,30,3 script Freya's Priest#play 4_F_TRAINEE,{
mes "^3355FFYou told her the first";
mes "funny story that you";
mes "could think of.^000000";
- specialeffect2 EF_TALK_FROSTJOKE;
+ specialeffect(EF_TALK_FROSTJOKE, AREA, playerattached());
next;
mes "[Freya's Priest]";
mes "That's supposed to";
diff --git a/npc/custom/bartershop.txt b/npc/custom/bartershop.txt
new file mode 100644
index 000000000..bcb61795e
--- /dev/null
+++ b/npc/custom/bartershop.txt
@@ -0,0 +1,21 @@
+//===== Hercules Script ======================================
+//= Barter shop demo
+//===== By: ==================================================
+//= 4144
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= Barter shop demo in prontera.
+//============================================================
+
+prontera,159,284,4 trader Barter Shop#prt 4_M_KID1,{
+OnInit:
+ tradertype(NST_BARTER);
+ sellitem White_Herb, 100, Red_Potion, 2;
+ sellitem Blue_Herb, 200, Orange_Potion, 3;
+ sellitem Green_Herb, 100, Red_Potion, 4;
+ sellitem White_Herb, 100, Orange_Potion, 1;
+ sellitem Apple, -1, Orange_Potion, 1;
+ sellitem Praetorian_Shield, 100, Berserk_Potion, 10;
+ end;
+}
diff --git a/npc/custom/battleground/bg_flavius_01.txt b/npc/custom/battleground/bg_flavius_01.txt
index 0520902ba..73ab603c9 100644
--- a/npc/custom/battleground/bg_flavius_01.txt
+++ b/npc/custom/battleground/bg_flavius_01.txt
@@ -333,7 +333,7 @@ bat_b01,390,13,5 script Therapist in battle#fl12 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -341,7 +341,7 @@ bat_b01,10,293,5 script Therapist in battle#fl11 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -360,7 +360,7 @@ OnBGStop:
end;
OnTimer24000:
- misceffect 83;
+ specialeffect(EF_SANCTUARY);
end;
OnTimer25000:
@@ -382,7 +382,7 @@ OnBGStop:
end;
OnTimer24000:
- misceffect 83;
+ specialeffect(EF_SANCTUARY);
end;
OnTimer25000:
diff --git a/npc/custom/battleground/bg_flavius_02.txt b/npc/custom/battleground/bg_flavius_02.txt
index da6c9cfef..e970a0711 100644
--- a/npc/custom/battleground/bg_flavius_02.txt
+++ b/npc/custom/battleground/bg_flavius_02.txt
@@ -333,7 +333,7 @@ bat_b02,390,13,5 script Therapist in battle#fl22 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -341,7 +341,7 @@ bat_b02,10,293,5 script Therapist in battle#fl21 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -360,7 +360,7 @@ OnBGStop:
end;
OnTimer24000:
- misceffect 83;
+ specialeffect(EF_SANCTUARY);
end;
OnTimer25000:
@@ -382,7 +382,7 @@ OnBGStop:
end;
OnTimer24000:
- misceffect 83;
+ specialeffect(EF_SANCTUARY);
end;
OnTimer25000:
diff --git a/npc/custom/battleground/bg_kvm01.txt b/npc/custom/battleground/bg_kvm01.txt
index c27e042a2..a66e202e3 100644
--- a/npc/custom/battleground/bg_kvm01.txt
+++ b/npc/custom/battleground/bg_kvm01.txt
@@ -35,9 +35,9 @@ OnEnterBG:
bat_c01,54,123,0 script #bat_c01a HIDDEN_NPC,{
end;
-OnKvM01LightA: misceffect 54; end;
-OnKvM01LightB: misceffect 55; end;
-OnKvM01LightC: misceffect 56; end;
+OnKvM01LightA: specialeffect(EF_BEGINSPELL2); end;
+OnKvM01LightB: specialeffect(EF_BEGINSPELL3); end;
+OnKvM01LightC: specialeffect(EF_BEGINSPELL4); end;
}
bat_c01,56,125,0 duplicate(#bat_c01a) #bat_c01b HIDDEN_NPC
@@ -286,7 +286,7 @@ bat_c01,51,130,5 script Therapist in battle::TherapistKvM01a 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -294,7 +294,7 @@ bat_c01,148,53,1 script Therapist in battle::TherapistKvM01b 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
diff --git a/npc/custom/battleground/bg_kvm02.txt b/npc/custom/battleground/bg_kvm02.txt
index cd13241cb..f1637069a 100644
--- a/npc/custom/battleground/bg_kvm02.txt
+++ b/npc/custom/battleground/bg_kvm02.txt
@@ -35,9 +35,9 @@ OnEnterBG:
bat_c02,54,123,0 script #bat_c02a HIDDEN_NPC,{
end;
-OnKvM02LightA: misceffect 54; end;
-OnKvM02LightB: misceffect 55; end;
-OnKvM02LightC: misceffect 56; end;
+OnKvM02LightA: specialeffect(EF_BEGINSPELL2); end;
+OnKvM02LightB: specialeffect(EF_BEGINSPELL3); end;
+OnKvM02LightC: specialeffect(EF_BEGINSPELL4); end;
}
bat_c02,56,125,0 duplicate(#bat_c02a) #bat_c02b HIDDEN_NPC
@@ -286,7 +286,7 @@ bat_c02,51,130,5 script Therapist in battle::TherapistKvM02a 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -294,7 +294,7 @@ bat_c02,148,53,1 script Therapist in battle::TherapistKvM02b 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
diff --git a/npc/custom/battleground/bg_kvm03.txt b/npc/custom/battleground/bg_kvm03.txt
index 3ec87355e..612047dcb 100644
--- a/npc/custom/battleground/bg_kvm03.txt
+++ b/npc/custom/battleground/bg_kvm03.txt
@@ -35,9 +35,9 @@ OnEnterBG:
bat_c03,54,123,0 script #bat_c03a HIDDEN_NPC,{
end;
-OnKvM03LightA: misceffect 54; end;
-OnKvM03LightB: misceffect 55; end;
-OnKvM03LightC: misceffect 56; end;
+OnKvM03LightA: specialeffect(EF_BEGINSPELL2); end;
+OnKvM03LightB: specialeffect(EF_BEGINSPELL3); end;
+OnKvM03LightC: specialeffect(EF_BEGINSPELL4); end;
}
bat_c03,56,125,0 duplicate(#bat_c03a) #bat_c03b HIDDEN_NPC
@@ -286,7 +286,7 @@ bat_c03,51,130,5 script Therapist in battle::TherapistKvM03a 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -294,7 +294,7 @@ bat_c03,148,53,1 script Therapist in battle::TherapistKvM03b 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
diff --git a/npc/custom/battleground/bg_tierra_01.txt b/npc/custom/battleground/bg_tierra_01.txt
index 56a505356..2640723b3 100644
--- a/npc/custom/battleground/bg_tierra_01.txt
+++ b/npc/custom/battleground/bg_tierra_01.txt
@@ -381,7 +381,7 @@ bat_a01,53,377,3 script Guillaume Vintenar#tv1 4_M_KY_HEAD,{
bat_a01,60,216,3 script Ghost#tv13 4_GHOSTRING,{
mes "[Ghost in valley]";
mes "Boo...Boo...";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -389,7 +389,7 @@ bat_a01,53,377,3 script Therapist in battle#tv12 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -397,7 +397,7 @@ bat_a01,45,18,3 script Therapist in battle#tv11 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -416,7 +416,7 @@ OnBGStop:
end;
OnTimer19000:
- misceffect 83;
+ specialeffect(EF_SANCTUARY);
end;
OnTimer20000:
@@ -438,7 +438,7 @@ OnBGStop:
end;
OnTimer24000:
- misceffect 83;
+ specialeffect(EF_SANCTUARY);
end;
OnTimer25000:
@@ -460,7 +460,7 @@ OnBGStop:
end;
OnTimer24000:
- misceffect 83;
+ specialeffect(EF_SANCTUARY);
end;
OnTimer25000:
diff --git a/npc/custom/battleground/bg_tierra_02.txt b/npc/custom/battleground/bg_tierra_02.txt
index e0f1b402a..98b604fd7 100644
--- a/npc/custom/battleground/bg_tierra_02.txt
+++ b/npc/custom/battleground/bg_tierra_02.txt
@@ -381,7 +381,7 @@ bat_a02,53,377,3 script Guillaume Vintenar#tv2 4_M_KY_HEAD,{
bat_a02,60,216,3 script Ghost#tv23 4_GHOSTRING,{
mes "[Ghost in valley]";
mes "Boo...Boo...";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -389,7 +389,7 @@ bat_a02,53,377,3 script Therapist in battle#tv22 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -397,7 +397,7 @@ bat_a02,45,18,3 script Therapist in battle#tv21 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
- specialeffect2 312;
+ specialeffect(EF_HEAL, AREA, playerattached());
close;
}
@@ -416,7 +416,7 @@ OnBGStop:
end;
OnTimer19000:
- misceffect 83;
+ specialeffect(EF_SANCTUARY);
end;
OnTimer20000:
@@ -438,7 +438,7 @@ OnBGStop:
end;
OnTimer24000:
- misceffect 83;
+ specialeffect(EF_SANCTUARY);
end;
OnTimer25000:
@@ -460,7 +460,7 @@ OnBGStop:
end;
OnTimer24000:
- misceffect 83;
+ specialeffect(EF_SANCTUARY);
end;
OnTimer25000:
diff --git a/npc/custom/bgqueue/flavius.txt b/npc/custom/bgqueue/flavius.txt
index d959253f3..21c79f48f 100644
--- a/npc/custom/bgqueue/flavius.txt
+++ b/npc/custom/bgqueue/flavius.txt
@@ -333,7 +333,7 @@ OnStop:
}
bat_b01,10,294,3 script Battle Therapist#b01_a 4_F_SISTER,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes "[Battle Therapist]";
mes "Just close your eyes,";
mes "and take a deep breath.";
@@ -378,7 +378,7 @@ OnTouch:
}
bat_b01,389,14,3 script Battle Therapist#b01_b 4_F_SISTER,{
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
mes "[Battle Therapist]";
mes "Just close your eyes,";
mes "and take a deep breath.";
diff --git a/npc/custom/breeder.txt b/npc/custom/breeder.txt
index 555fd4c93..9efb73ac6 100644
--- a/npc/custom/breeder.txt
+++ b/npc/custom/breeder.txt
@@ -22,7 +22,7 @@ prontera,124,201,1 script Universal Rental NPC 4_F_JOB_BLACKSMITH,{
setfalcon;
else
getitem Wolfs_Flute, 1;
- specialeffect2 EF_TEIHIT3;
+ specialeffect(EF_TEIHIT3, AREA, playerattached());
close;
} else {
getitem Wolfs_Flute,1;
@@ -34,7 +34,7 @@ prontera,124,201,1 script Universal Rental NPC 4_F_JOB_BLACKSMITH,{
} else {
setmount(MOUNT_MADO);
}
- specialeffect2 EF_TEIHIT3;
+ specialeffect(EF_TEIHIT3, AREA, playerattached());
close;
} else {
setcart;
@@ -51,7 +51,7 @@ prontera,124,201,1 script Universal Rental NPC 4_F_JOB_BLACKSMITH,{
message strcharinfo(PC_NAME),"You do not meet requirements to rent.";
end;
}
- specialeffect2 EF_TEIHIT3;
+ specialeffect(EF_TEIHIT3, AREA, playerattached());
end;
}
diff --git a/npc/custom/etc/airplane.txt b/npc/custom/etc/airplane.txt
index 6fd500a41..2487acb1f 100644
--- a/npc/custom/etc/airplane.txt
+++ b/npc/custom/etc/airplane.txt
@@ -244,7 +244,7 @@ Board:
L_Yes:
if($destination!=getarg(0))goto Notime;
warp "airplane", 105, 72;
- specialeffect2 501;
+ specialeffect(EF_CASTSPIN, AREA, playerattached());
L_Nope:
mes "^FF0000[Porter]^000000";
mes "Have a good day. Thank you for traveling with Airship.";
@@ -356,7 +356,7 @@ Lyes:
if($destination == 250)goto Notime;
if($destination != @dockky)goto Notime;
warp $locationsmap$[$destination], $locationsx[$destination], $locationsy[$destination];
- specialeffect2 501;
+ specialeffect(EF_CASTSPIN, AREA, playerattached());
Lnope:
mes "^FF0000[Airplane Attendant]^000000";
diff --git a/npc/custom/etc/monster_arena.txt b/npc/custom/etc/monster_arena.txt
index db4c37b73..8420cd544 100644
--- a/npc/custom/etc/monster_arena.txt
+++ b/npc/custom/etc/monster_arena.txt
@@ -736,7 +736,7 @@ gon_test,55,103,6 script Nurse 4_F_01,{
set @fighting,0;
set #heal,0;
set @healing,0;
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
announce "Your monster has healed.",19;
end;
diff --git a/npc/custom/etc/mvp_arena.txt b/npc/custom/etc/mvp_arena.txt
index d4205456e..a86e64aae 100644
--- a/npc/custom/etc/mvp_arena.txt
+++ b/npc/custom/etc/mvp_arena.txt
@@ -36,7 +36,7 @@ quiz_00,49,31,4 script MVP Arena Guide 4_M_TWTEAMAN,{
mes "There are eight rooms per Keeper, and sixteen MVPs in total.";
close;
case 2:
- specialeffect2 313;
+ specialeffect(EF_HEAL2, AREA, playerattached());
percentheal 100,100;
close;
case 3:
@@ -77,7 +77,7 @@ function script Protector {
warp getarg(0),102,102;
end;
case 2:
- specialeffect2 313;
+ specialeffect(EF_HEAL2, AREA, playerattached());
percentheal 100,100;
close;
case 3:
diff --git a/npc/custom/events/cluckers.txt b/npc/custom/events/cluckers.txt
index fbdbbed3f..7047ca00e 100644
--- a/npc/custom/events/cluckers.txt
+++ b/npc/custom/events/cluckers.txt
@@ -21,7 +21,7 @@ prontera,156,219,4 script Cluckers 4_NFCOCK,{
set .@GMAccess,80; // GM level required to access NPC
if (.startcluck) {
- specialeffect2 2;
+ specialeffect(EF_HIT3, AREA, playerattached());
switch(rand(15)) {
case 0: npctalk "CLUUUUUUCK!!!"; unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; emotion 23; break;
case 1: npctalk "Cluuuuuck!~"; break;
@@ -40,7 +40,7 @@ prontera,156,219,4 script Cluckers 4_NFCOCK,{
default:
if (rand(50) < 4) {
npctalk "WOOF!...........";
- specialeffect2 72;
+ specialeffect(EF_SPHERE, AREA, playerattached());
announce "[Cluck! Cluck! Boom!] " + strcharinfo(PC_NAME) + " squeezed out the prize! Well done!",0;
getitem $cluck_item_id,$cluck_item_amount;
set .startcluck,0;
diff --git a/npc/custom/events/disguise.txt b/npc/custom/events/disguise.txt
index cd44d1767..fde5e544a 100644
--- a/npc/custom/events/disguise.txt
+++ b/npc/custom/events/disguise.txt
@@ -8,6 +8,7 @@
//= Note: This script requires PCRE to run properly.
//= 5.0 Last update by GmOcean.
//= 5.1 Cleaned and standardized, mostly. [Euphy]
+//= 5.2 Fix a bug that causes this event run indefinitely [AnnieRuru]
//============================================================
prontera,160,155,4 script Disguise Event 4_M_NFDEADMAN,{
@@ -178,11 +179,20 @@ OnTimer30000:
set .Change,0;
setnpcdisplay "Disguise Event", 4_M_NFDEADMAN;
npctalk "You took too long to guess what I was. Please wait 10 seconds while I disguise again.";
- specialeffect 725;
+ specialeffect EF_DETECT2;
set $MonsterName$,"";
deletepset 1;
stopnpctimer;
setnpctimer 0;
+ ++.RoundCount;
+ if (.RoundCount >= .Rounds) {
+ setnpcdisplay "Disguise Event", 4_M_NFDEADMAN;
+ .RoundCount = 0;
+ .Change = 0;
+ .EventON = 0;
+ npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later.";
+ end;
+ }
initnpctimer;
end;
OnTimer60000:
diff --git a/npc/custom/events/valentinesdayexp.txt b/npc/custom/events/valentinesdayexp.txt
index 5119a119f..33339dcd9 100644
--- a/npc/custom/events/valentinesdayexp.txt
+++ b/npc/custom/events/valentinesdayexp.txt
@@ -25,7 +25,7 @@ prontera,156,172,4 script Tine 1_M_MERCHANT,{
mes "The legend says that on 14th February... on the Day of Saint Valentine...";
mes "Only in Run-Midgard kingdom...";
next;
- specialeffect 417;
+ specialeffect EF_HITBODY;
mes "[Tine]";
mes "Some married chocolate lovers almost double their experience at trainings!";
mes "But everything isn't so simply...";
@@ -58,9 +58,9 @@ prontera,156,172,4 script Tine 1_M_MERCHANT,{
OnInit:
//559,Hand-made_Chocolate
- setitemscript 559,"{ itemheal 50,50; if(Sex==0 || @dsv == gettime(GETTIME_HOUR)+1 || ispartneron()==0)end; set @dsv,gettime(GETTIME_HOUR)+1; misceffect 113; }";
+ setitemscript 559,"{ itemheal 50,50; if(Sex==0 || @dsv == gettime(GETTIME_HOUR)+1 || ispartneron()==0)end; set @dsv,gettime(GETTIME_HOUR)+1; specialeffect(EF_MAGNUS, AREA, playerattached()); }";
//560,Hand-made_White_Chocolate
- setitemscript 560,"{ itemheal 50,50; if(Sex || @dsv == gettime(GETTIME_HOUR)+1 || ispartneron()==0)end; set @dsv,gettime(GETTIME_HOUR)+1; misceffect 113; }";
+ setitemscript 560,"{ itemheal 50,50; if(Sex || @dsv == gettime(GETTIME_HOUR)+1 || ispartneron()==0)end; set @dsv,gettime(GETTIME_HOUR)+1; specialeffect(EF_MAGNUS, AREA, playerattached()); }";
//2634,Wedding_Ring_M,Wedding Ring,5,,10,0,,0,,0,127918079,7,1,136,,0,0,0,{ skill 334,1; skill 335,1; skill 336,1; }
setitemscript 2634,"{ skill 334,1; skill 335,1; skill 336,1; if(@dsv == gettime(GETTIME_HOUR)+1 && ispartneron()){ bonus2 bExpAddRace,5,50; bonus2 bExpAddRace,6,50; bonus2 bExpAddRace,7,50; bonus2 bExpAddRace,8,50; bonus2 bExpAddRace,1,50; } }";
diff --git a/npc/custom/events/xmas_rings_event.txt b/npc/custom/events/xmas_rings_event.txt
index 05e4f40f6..633f09cf7 100644
--- a/npc/custom/events/xmas_rings_event.txt
+++ b/npc/custom/events/xmas_rings_event.txt
@@ -91,7 +91,7 @@ prontera,156,174,4 script Snower 4_M_06,{
OnInit:
//Santa's Hat
- setitemscript 2236,"{ bonus bMdef,1; bonus bLuk,1; if(isequipped(2636,2637)){if(@xmr == gettime(GETTIME_MINUTE))end; set @xmr,gettime(GETTIME_MINUTE); misceffect 410; end;} if(isequipped(2636)){if(@xmr == gettime(GETTIME_MINUTE))end; set @xmr,gettime(GETTIME_MINUTE); misceffect 72;} if(isequipped(2637)){if(@xmr == gettime(GETTIME_MINUTE))end; set @xmr,gettime(GETTIME_MINUTE); misceffect 338;}}";
+ setitemscript 2236,"{ bonus bMdef,1; bonus bLuk,1; if(isequipped(2636,2637)){if(@xmr == gettime(GETTIME_MINUTE))end; set @xmr,gettime(GETTIME_MINUTE); specialeffect(EF_RAINBOW, AREA, playerattached()); end;} if(isequipped(2636)){if(@xmr == gettime(GETTIME_MINUTE))end; set @xmr,gettime(GETTIME_MINUTE); specialeffect(EF_SPHERE, AREA, playerattached());} if(isequipped(2637)){if(@xmr == gettime(GETTIME_MINUTE))end; set @xmr,gettime(GETTIME_MINUTE); specialeffect(EF_ANGEL2, AREA, playerattached());}}";
//Gold Xmas Ring
setitemscript 2636,"{ bonus bLoseSPWhenUnequip,30; if(isequipped(2236)==0)end; if(getskilllv(\"AL_HEAL\")){skill \"TF_HIDING\",4+isequipped(2637);}else{skill \"AL_HEAL\",1+4*isequipped(2637);} }";
//Silver Xmas Ring
diff --git a/npc/custom/healer.txt b/npc/custom/healer.txt
index 97c4e7284..9e0d4abe4 100644
--- a/npc/custom/healer.txt
+++ b/npc/custom/healer.txt
@@ -25,10 +25,10 @@
if(select("^0055FFHeal^000000", "^777777Cancel^000000") == 2) close;
Zeny -= .@price;
}
- specialeffect2 EF_HEAL2; percentheal 100,100;
+ specialeffect(EF_HEAL2, AREA, playerattached()); percentheal 100,100;
if (.@Buffs) {
- specialeffect2 EF_INCAGILITY; sc_start SC_INC_AGI,240000,10;
- specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10;
+ specialeffect(EF_INCAGILITY, AREA, playerattached()); sc_start SC_INC_AGI,240000,10;
+ specialeffect(EF_BLESSING, AREA, playerattached()); sc_start SC_BLESSING,240000,10;
}
if (.@Delay) @HD = gettimetick(2)+.@Delay;
end;
diff --git a/npc/custom/item_signer.txt b/npc/custom/item_signer.txt
index a0097bb55..6c12926e5 100644
--- a/npc/custom/item_signer.txt
+++ b/npc/custom/item_signer.txt
@@ -78,7 +78,7 @@ prt_in,24,61,7 script Perchik 1_M_01,{
emotion e_hmm;
close;
}
- if (getiteminfo(.@id,10)) {
+ if (getiteminfo(.@id, ITEMINFO_SLOTS) > 0) {
mes "Sorry, I don't sign slotted items.";
emotion e_sry;
close;
diff --git a/npc/custom/itembind.txt b/npc/custom/itembind.txt
index 8c51ad24d..7d95afdfc 100644
--- a/npc/custom/itembind.txt
+++ b/npc/custom/itembind.txt
@@ -35,14 +35,10 @@ prontera,144,174,4 script Bound Items 4_M_JP_MID,{
//Allows equipment (default) or non-rental item
if (@inventorylist_bound[.@i] || @inventorylist_expire[.@i])
continue;
- if (((.allowbind & 1) && (getiteminfo(@inventorylist_id[.@i], 2) == IT_WEAPON || getiteminfo(@inventorylist_id[.@i], 2) == IT_ARMOR)) ||
- ((.allowbind & 2) &&
- (getiteminfo(@inventorylist_id[.@i], 2) == IT_HEALING || getiteminfo(@inventorylist_id[.@i], 2) == IT_USABLE ||
- getiteminfo(@inventorylist_id[.@i], 2) == IT_DELAYCONSUME || getiteminfo(@inventorylist_id[.@i], 2) == IT_CASH)) ||
- ((.allowbind & 4) &&
- (getiteminfo(@inventorylist_id[.@i], 2) == IT_ETC || getiteminfo(@inventorylist_id[.@i], 2) == IT_CARD ||
- getiteminfo(@inventorylist_id[.@i], 2) == IT_PETEGG || getiteminfo(@inventorylist_id[.@i], 2) == IT_PETARMOR ||
- getiteminfo(@inventorylist_id[.@i], 2) == IT_AMMO))
+ .@itemtype = getiteminfo(@inventorylist_id[.@i], ITEMINFO_TYPE);
+ if (((.allowbind & 1) != 0 && (.@itemtype == IT_WEAPON || .@itemtype == IT_ARMOR))
+ || ((.allowbind & 2) != 0 && (.@itemtype == IT_HEALING || .@itemtype == IT_USABLE || .@itemtype == IT_DELAYCONSUME || .@itemtype == IT_CASH))
+ || ((.allowbind & 4) != 0 && (.@itemtype == IT_ETC || .@itemtype == IT_CARD || .@itemtype == IT_PETEGG || .@itemtype == IT_PETARMOR || .@itemtype == IT_AMMO))
) {
set .@bindlist$, .@bindlist$ + ":" + getitemname(@inventorylist_id[.@i]) + " - " + @inventorylist_id[.@i];
set .@bindlist[.@j],.@i;
diff --git a/npc/custom/jobmaster.txt b/npc/custom/jobmaster.txt
index cc09055a4..4b56a36e5 100644
--- a/npc/custom/jobmaster.txt
+++ b/npc/custom/jobmaster.txt
@@ -162,8 +162,8 @@ function Job_Menu {
resetlvl(4);
SkillPoint = 0;
}
- specialeffect2 EF_ANGEL2;
- specialeffect2 EF_ELECTRIC;
+ specialeffect(EF_ANGEL2, AREA, playerattached());
+ specialeffect(EF_ELECTRIC, AREA, playerattached());
if (.platinum)
callsub Get_Platinum;
close;
diff --git a/npc/custom/quests/hunting_missions.txt b/npc/custom/quests/hunting_missions.txt
index 611bdd480..5ba860ed4 100644
--- a/npc/custom/quests/hunting_missions.txt
+++ b/npc/custom/quests/hunting_missions.txt
@@ -115,7 +115,7 @@ function Chk; function Cm;
mes "[Hunting Missions]";
mes "Alright, I've dropped";
mes "your current mission.";
- specialeffect2 EF_STORMKICK4;
+ specialeffect(EF_STORMKICK4, AREA, playerattached());
for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
setd "Mission"+.@i,0;
setd "Mission"+.@i+"_",0;
@@ -185,8 +185,8 @@ Mission_Status:
mes "Good work.";
mes "Here's your reward.";
emotion e_no1;
- specialeffect2 EF_ANGEL;
- specialeffect2 EF_TRUESIGHT;
+ specialeffect(EF_ANGEL, AREA, playerattached());
+ specialeffect(EF_TRUESIGHT, AREA, playerattached());
set #Mission_Points, #Mission_Points+.@Mission_Points;
set BaseExp, BaseExp+.@Base_Exp;
set JobExp, JobExp+.@Job_Exp;
diff --git a/npc/custom/quests/may_hats.txt b/npc/custom/quests/may_hats.txt
index a1864f96f..d4103874f 100644
--- a/npc/custom/quests/may_hats.txt
+++ b/npc/custom/quests/may_hats.txt
@@ -17,7 +17,7 @@ gonryun,187,140,4 script Yakima 4_F_EINWOMAN,{
mes callfunc("F_Hi");
mes "I can make some items for you.";
mes "They are quite rare novadays...";
- specialeffect 417;
+ specialeffect EF_HITBODY;
next;
switch (select("Bird Nest", "Lion Mask", "Skeleton Manteau", "Fashion Hip Sack", "Sales Banner", "Leave")) {
case 1:
diff --git a/npc/custom/quests/quest_shop.txt b/npc/custom/quests/quest_shop.txt
index f96b4cb75..739b53c02 100644
--- a/npc/custom/quests/quest_shop.txt
+++ b/npc/custom/quests/quest_shop.txt
@@ -121,8 +121,8 @@ OnBuyItem:
if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000";
next;
- setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11);
- if (@qe[2] > 0 && ((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192)))
+ setarray @qe[1], getiteminfo(.@q[0], ITEMINFO_LOC), getiteminfo(.@q[0], ITEMINFO_VIEWSPRITE);
+ if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT)))
set .@preview,1;
addtimer 1000, strnpcinfo(NPC_NAME)+"::OnEnd";
while(1) {
@@ -135,7 +135,7 @@ OnBuyItem:
}
if (!checkweight(.@q[0],.@q[2])) {
mes "[Quest Shop]";
- mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
+ mes "^FF0000You need "+(((.@q[2] * getiteminfo(.@q[0], ITEMINFO_WEIGHT)) + Weight - MaxWeight) / 10)+" additional weight capacity to complete this trade.^000000";
close;
}
if (.@q[4]) Zeny -= (.@q[4]*.@q[1]);
@@ -144,7 +144,7 @@ OnBuyItem:
delitem .@q[.@i],.@q[.@i+1]*.@q[1];
getitem .@q[0],.@q[2];
if (.Announce) announce strcharinfo(PC_NAME)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0;
- specialeffect2 EF_FLOWERLEAF;
+ specialeffect(EF_FLOWERLEAF, AREA, playerattached());
close;
case 2:
setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1;
@@ -198,7 +198,7 @@ function Slot {
set .@s$,getitemname(getarg(0));
switch(.ShowSlot) {
case 1: if (!getitemslots(getarg(0))) return .@s$;
- case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]";
+ case 2: if (getiteminfo(getarg(0), ITEMINFO_TYPE) == IT_WEAPON || getiteminfo(getarg(0), ITEMINFO_TYPE) == IT_ARMOR) return .@s$+" ["+getitemslots(getarg(0))+"]";
default: return .@s$;
}
}
diff --git a/npc/custom/quests/thq/THQS_TTShop.txt b/npc/custom/quests/thq/THQS_TTShop.txt
index c85a9c9fe..96e7346d3 100644
--- a/npc/custom/quests/thq/THQS_TTShop.txt
+++ b/npc/custom/quests/thq/THQS_TTShop.txt
@@ -67,11 +67,11 @@ function script thqs_trade_token {
// 10^0, 10^1, 10^2
@type -= 1;
- @price = pow(10, @type);
+ @price = (10 ** @type);
// 10^3, 10^4, 10^5
@type += 3; // So we can use pow later to determine the qt of Zeny
- @prize = pow(10, @type);
+ @prize = (10 ** @type);
if( #Treasure_Token < @price ) {
mes "You don't have enough tokens!";
diff --git a/npc/custom/woe_controller.txt b/npc/custom/woe_controller.txt
index 14e288be7..5f619c1db 100644
--- a/npc/custom/woe_controller.txt
+++ b/npc/custom/woe_controller.txt
@@ -22,7 +22,7 @@ prontera,149,193,4 script WOE Information 2_BOARD1,{
end;
OnAgitStart:
while(agitcheck()) {
- misceffect EF_BEGINSPELL6;
+ specialeffect(EF_BEGINSPELL6);
sleep 425;
}
end;
diff --git a/npc/dev/test.txt b/npc/dev/test.txt
index b711a0a28..2822ee65c 100644
--- a/npc/dev/test.txt
+++ b/npc/dev/test.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) 2013-2015 Haru
+//= Copyright (C) 2013-2017 Hercules Dev Team
+//= Copyright (C) 2013-2017 Haru
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -150,6 +150,20 @@ function script HerculesSelfTestHelper {
callsub(OnCheck, "Prefix decrement --", .@y);
callsub(OnCheck, "Prefix decrement --", .@x);
+ // Increment and decrement operators after a condition
+ .@x = 0;
+ if (1) .@x++;
+ callsub(OnCheck, "Suffix increment ++ after (condition)", .@x);
+ .@x = 2;
+ if (1) .@x--;
+ callsub(OnCheck, "Suffix decrement -- after (condition)", .@x);
+ .@x = 0;
+ if (1) ++.@x;
+ callsub(OnCheck, "Prefix increment ++ after (condition)", .@x);
+ .@x = 2;
+ if (1) --.@x;
+ callsub(OnCheck, "Prefix decrement -- after (condition)", .@x);
+
// Order of [] and --/++
.@a[1] = 0;
.@a[1]++; // .@a[1] = .@a[1] + 1;
@@ -268,6 +282,19 @@ function script HerculesSelfTestHelper {
callsub(OnCheck, "Order of + and *", .@x, 7);
+ // Binary ** operator
+ .@x = 2 ** 3; // .@x = 8;
+ callsub(OnCheck, "Binary ** operator", .@x, 8);
+
+ // Associativity of **
+ .@x = 2 ** 3 ** 2; // .@x = (2 ** 3) ** 2;
+ callsub(OnCheck, "Associativity of **", .@x, 64);
+
+ // Order of ** and *
+ .@x = 5 * 2 ** 3 * 2; // .@x = 5 * (2 ** 3) * 2;
+ callsub(OnCheck, "Order of ** and *", .@x, 80);
+
+
// << and >> operators
.@x = 1<<3; // .@x = 1*2*2*2;
callsub(OnCheck, "Left shift << operator", .@x, 8);
@@ -624,6 +651,12 @@ function script HerculesSelfTestHelper {
setd(".@x", getd(".@y"));
callsub(OnCheck, "setd getd", .@x, .@y);
+ // getd types
+ callsub(OnCheck, "Getdatatype (getd: param)", getdatatype(getd("Hp")), DATATYPE_INT | DATATYPE_PARAM);
+ callsub(OnCheck, "Getdatatype (getd: const)", getdatatype(getd("DATATYPE_CONST")), DATATYPE_INT | DATATYPE_CONST);
+ callsub(OnCheck, "Getdatatype (getd: numeric var)", getdatatype(getd(".@foo")), DATATYPE_INT | DATATYPE_VAR);
+ callsub(OnCheck, "Getdatatype (getd: string var)", getdatatype(getd(".@foo$")), DATATYPE_STR | DATATYPE_VAR);
+
// getvariableofnpc
.x = 2;
set getvariableofnpc(.x, "TestVarOfAnotherNPC"), 1;
@@ -729,6 +762,29 @@ function script HerculesSelfTestHelper {
callsub(OnCheckStr, "sprintf (positional)", sprintf("'%2$+05d'", 5, 6), "'+0006'");
callsub(OnCheckStr, "sprintf (positional)", sprintf("'%2$s' '%1$c'", "First", "Second"), "'Second' 'F'");
+ callsub(OnCheck, "Getdatatype (integer)", getdatatype(5), DATATYPE_INT);
+ callsub(OnCheck, "Getdatatype (constant string)", getdatatype("foo"), DATATYPE_STR | DATATYPE_CONST);
+ callsub(OnCheck, "Getdatatype (parameter)", getdatatype(Hp), DATATYPE_INT | DATATYPE_PARAM);
+ callsub(OnCheck, "Getdatatype (numeric variable)", getdatatype(.@x), DATATYPE_INT | DATATYPE_VAR);
+ callsub(OnCheck, "Getdatatype (string variable)", getdatatype(.@x$), DATATYPE_STR | DATATYPE_VAR);
+ callsub(OnCheck, "Getdatatype (label)", getdatatype(OnTestGetdatatype), DATATYPE_LABEL);
+ callsub(OnCheck, "Getdatatype (constant)", getdatatype(DATATYPE_CONST), DATATYPE_INT | DATATYPE_CONST);
+ callsub(OnCheck, "Getdatatype (returned integer)", getdatatype(callsub(OnTestReturnValue, 5)), DATATYPE_INT);
+ callsub(OnCheck, "Getdatatype (returned string)", getdatatype(callsub(OnTestReturnValue, "foo")), DATATYPE_STR | DATATYPE_CONST);
+ callsub(OnCheck, "Getdatatype (getarg default value)", callsub(OnTestGetdatatypeDefault), DATATYPE_INT);
+ callsub(OnCheck, "Getdatatype (getarg integer value)", callsub(OnTestGetdatatype, 5), DATATYPE_INT);
+ callsub(OnCheck, "Getdatatype (getarg string)", callsub(OnTestGetdatatype, "foo"), DATATYPE_STR | DATATYPE_CONST);
+
+ callsub(OnCheck, "data_to_string (NIL)", data_to_string(), "");
+ callsub(OnCheck, "data_to_string (empty string)", data_to_string(""), "");
+ callsub(OnCheck, "data_to_string (string)", data_to_string("foo"), "foo");
+ callsub(OnCheck, "data_to_string (integer)", data_to_string(5), "5");
+ callsub(OnCheck, "data_to_string (parameter)", data_to_string(Hp), "Hp");
+ callsub(OnCheck, "data_to_string (constant)", data_to_string(DATATYPE_CONST), "DATATYPE_CONST");
+ callsub(OnCheck, "data_to_string (label)", data_to_string(OnTestGetdatatype), "OnTestGetdatatype");
+ callsub(OnCheck, "data_to_string (string variable)", data_to_string(.@x$), ".@x$");
+ callsub(OnCheck, "data_to_string (integer variable)", data_to_string(.@x), ".@x");
+
if (.errors) {
debugmes "Script engine self-test [ \033[0;31mFAILED\033[0m ]";
debugmes "**** The test was completed with " + .errors + " errors. ****";
@@ -773,6 +829,12 @@ OnTestScopeArrays:
OnTestVarOfAnotherNPC:
return getvariableofnpc(.x, getarg(0));
+OnTestGetdatatypeDefault:
+ return getdatatype(getarg(0, 0));
+
+OnTestGetdatatype:
+ return getdatatype(getarg(0));
+
OnReportError:
.@msg$ = getarg(0,"Unknown Error");
.@val$ = getarg(1,"");
diff --git a/npc/events/MemorialDay_2008.txt b/npc/events/MemorialDay_2008.txt
index 41ff5b610..b87bba5f2 100644
--- a/npc/events/MemorialDay_2008.txt
+++ b/npc/events/MemorialDay_2008.txt
@@ -211,12 +211,7 @@ prontera,153,286,4 script Memorial Plaque#Memorial 4_BOARD3,{
next;
Memorial08 = 9;
getexp 93750,43750;
- goto L_CleanPlaque;
- } else if (Memorial08 >= 9) {
- goto L_CleanPlaque;
}
-
-L_CleanPlaque:
mes "- You see a message from the cleaned plaque.-";
next;
mes "-Although no sculptured marble should rise to their memory,-";
@@ -285,9 +280,9 @@ prontera,150,270,4 script Grast#Memorial 4_M_HUMERCHANT,{
mes "I can provide you all the materials.";
next;
if (select("I'll gather the rest.", "Give me the materials.") == 2) {
- goto L_GiveUp;
+ callsub L_GiveUp;
}
- goto L_Continue;
+ callsub L_Continue;
} else {
mes "[Grast]";
mes "Oh, you've brought the materials I asked.";
@@ -313,9 +308,9 @@ prontera,150,270,4 script Grast#Memorial 4_M_HUMERCHANT,{
mes "If you feel too burdened to gather them all, I can provide you all the materials.";
next;
if (select("I'll gather the rest.", "Give me the materials.") == 2) {
- goto L_GiveUp;
+ callsub L_GiveUp;
}
- goto L_Continue;
+ callsub L_Continue;
} else {
mes "[Grast]";
mes "Oh, you've brought everything I asked.";
@@ -342,9 +337,9 @@ prontera,150,270,4 script Grast#Memorial 4_M_HUMERCHANT,{
mes "It's your call, " + strcharinfo(PC_NAME) + ".";
next;
if (select("I'll gather the rest.", "Give me the materials.") == 2) {
- goto L_GiveUp;
+ callsub L_GiveUp;
}
- goto L_Continue;
+ callsub L_Continue;
} else {
mes "[Grast]";
mes "Have you brought the materials I asked?";
diff --git a/npc/events/RWC_2012.txt b/npc/events/RWC_2012.txt
index 70d6c0d60..ae1ded057 100644
--- a/npc/events/RWC_2012.txt
+++ b/npc/events/RWC_2012.txt
@@ -89,12 +89,12 @@ prontera,147,61,3 script Driller#pron 4_M_BARBER,{
delequip .@part;
if (rand(1,10) > 5) {
getitem .@slotted,1;
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
mes "[Driller]";
mes "Yay! Success! Your "+.@name$+" now has a card slot. Check it out!";
close;
} else {
- specialeffect2 EF_LORD;
+ specialeffect(EF_LORD, AREA, playerattached());
mes "[Driller]";
mes "Awww... Damn weak "+.@str$+"... It broke during the procedure. I'm sorry.";
close;
@@ -293,7 +293,7 @@ prontera,147,59,3 script Goldberg#pron 4_M_OILMAN,{
mes "[Goldberg]";
mes "Oh gosh!";
mes "The item was not strong enough to bear the enchantment and thus got destroyed. I am sorry.";
- specialeffect2 EF_LORD;
+ specialeffect(EF_LORD, AREA, playerattached());
close;
}
if (.@enchant == 0) { // Should never happen.
@@ -303,7 +303,7 @@ prontera,147,59,3 script Goldberg#pron 4_M_OILMAN,{
mes "[Goldberg]";
mes "Great!";
mes "The enchantment is a success! It will be applied in socket No.^990000"+(.@slot+1)+"^000000.";
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
}
//GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
@@ -329,7 +329,7 @@ prontera,147,59,3 script Goldberg#pron 4_M_OILMAN,{
mes "Hm... this equipment is clean. I cannot initialize it if there's nothing! Check it again.";
close;
}
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
mes "[Goldberg]";
mes "The enchant option in your item will be initialized.";
delitem RWC_Inicializer,1;
diff --git a/npc/events/StPatrick_2008.txt b/npc/events/StPatrick_2008.txt
index a47e7f661..323792344 100644
--- a/npc/events/StPatrick_2008.txt
+++ b/npc/events/StPatrick_2008.txt
@@ -239,7 +239,7 @@ OnTouch:
mes "You light the fuse.";
next;
mes "*BOOM!*";
- specialeffect2 EF_LORD;
+ specialeffect(EF_LORD, AREA, playerattached());
next;
mes "After A cloud of dust and smoke has dissipated,";
mes "You've found a box between the rocks and soil.";
diff --git a/npc/events/christmas_2005.txt b/npc/events/christmas_2005.txt
index 0a631cfb6..cba1581e0 100644
--- a/npc/events/christmas_2005.txt
+++ b/npc/events/christmas_2005.txt
@@ -108,7 +108,7 @@ xmas_in,89,92,5 script Louise Kim#designer 4_F_06,{
mes "~With the number one designer, Louise Kim,~";
mes "~you are the most blessed soul.~";
emotion e_ho;
- misceffect EF_BLESSING;
+ specialeffect(EF_BLESSING);
next;
mes "-Immediately, she puts Rosary in an-";
mes "-unknown liquid and dissolves it.-";
@@ -120,7 +120,7 @@ xmas_in,89,92,5 script Louise Kim#designer 4_F_06,{
mes "~With the number one designer, Louise Kim,~";
mes "~you are the luckiest soul.~";
emotion e_ho;
- misceffect EF_GLORIA;
+ specialeffect(EF_GLORIA);
next;
mes "-She starts sewing the hat with -";
mes "-a Cactus Needle and a thread.-";
@@ -131,7 +131,7 @@ xmas_in,89,92,5 script Louise Kim#designer 4_F_06,{
mes "~The most talented disigner,~";
mes "~L_O_U_I_S_E K_I_M~";
emotion e_lv;
- misceffect EF_BENEDICTIO;
+ specialeffect(EF_BENEDICTIO);
next;
mes "[Designer Louise Kim]";
mes "Here!! All done~~";
@@ -299,7 +299,7 @@ prontera,155,285,3 script Enjoy#enjoy 4_M_MONK,{
mes "........................";
mes "Get lost,you devil!!!!!!";
specialeffect EF_BEGINASURA;
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
Hp /= 2;
Hp /= 2;
close2;
@@ -408,7 +408,7 @@ prontera,155,285,3 script Enjoy#enjoy 4_M_MONK,{
donpcevent "Christ#christ02::OnCommandEmotion";
donpcevent "Mas#mas02::OnCommandEmotion";
donpcevent "Event#event02::OnCommandEmotion";
- misceffect EF_HITLINE2;
+ specialeffect(EF_HITLINE2);
delitem Branch_Of_Dead_Tree,5; //Branch_of_Dead_Tree
christ_solo05 = 6;
donpcevent "Happymerry#happymerry02::OnCommandOff";
@@ -1173,7 +1173,7 @@ prontera,156,242,0 script Oholy#pron::OholyDup 1_F_PRIEST,{
mes "~and tomorrow you'll see~";
mes "~Every wish, one and all,~";
mes "~waiting under the tree.~";
- specialeffect2 EF_GLORIA;
+ specialeffect(EF_GLORIA, AREA, playerattached());
next;
mes "[Oholy]";
mes "Oh, my. You have a wonderful";
diff --git a/npc/events/easter_2010.txt b/npc/events/easter_2010.txt
index 645e0cacf..154fb95c5 100644
--- a/npc/events/easter_2010.txt
+++ b/npc/events/easter_2010.txt
@@ -95,7 +95,7 @@ prontera,202,297,3 script Rina#Easter 4_F_JOB_HUNTER,{
mes " ";
mes "^787878( A mysterious atmosphere hangs in the air. )^000000";
next;
- specialeffect2 EF_COUPLECASTING;
+ specialeffect(EF_COUPLECASTING, AREA, playerattached());
next;
mes "[Rina]";
mes "Blah blah blah...";
@@ -104,7 +104,7 @@ prontera,202,297,3 script Rina#Easter 4_F_JOB_HUNTER,{
mes " ";
mes "^787878( ... This is a strange spell. )^000000";
next;
- specialeffect2 EF_SIGNUM;
+ specialeffect(EF_SIGNUM, AREA, playerattached());
mes "[Rina]";
mes "Haaaaah~";
mes "^800080Oath-taking ceremony^000000 is done enough now.";
@@ -119,31 +119,7 @@ prontera,202,297,3 script Rina#Easter 4_F_JOB_HUNTER,{
setquest 9117;
close;
} else if (.@quest1 == 1) {
- L_HuntingInfo:
- mes "[Rina]";
- mes "What you need to do is";
- mes "to choose one monster among";
- mes "^FF0000DEVIRUCHI,^000000 ^FF0000WRAITH DEAD,^000000";
- mes "^FF0000DULLAHAN,^000000 ^FF0000NIGHTMARE TERROR^000000";
- mes "and then kill ^0000FF50^000000 monsters";
- mes "and come back to me.";
- next;
- mes "[Rina]";
- mes "It must be a tough task,";
- mes "but you are the right person";
- mes "who did the oath-taking ceremony.";
- mes "I hope you succeed.";
- if (.@quest1 < 2) {
- completequest 9117;
- setquest 9118;
- setquest 9119;
- setquest 9120;
- setquest 9121;
- }
- close2;
- npcskill "AL_INCAGI",1,0,0;
- npcskill "AL_BLESSING",1,0,0;
- end;
+ callsub(L_HuntingInfo, .@quest1);
} else if (.@quest1 == 2) {
if (questprogress(9118) != 2 || questprogress(9119) != 2 || questprogress(9120) != 2 || questprogress(9121) != 2) {
if (questprogress(9118,HUNTING) == 2 || questprogress(9119,HUNTING) == 2 || questprogress(9120,HUNTING) == 2 || questprogress(9121,HUNTING) == 2) {
@@ -162,7 +138,7 @@ prontera,202,297,3 script Rina#Easter 4_F_JOB_HUNTER,{
completequest 9121;
setquest 9122;
} else
- goto L_HuntingInfo;
+ callsub(L_HuntingInfo, .@quest1);
end;
}
}
@@ -309,6 +285,32 @@ prontera,202,297,3 script Rina#Easter 4_F_JOB_HUNTER,{
npcskill "AL_INCAGI",1,0,0;
npcskill "AL_BLESSING",1,0,0;
end;
+
+L_HuntingInfo:
+ mes "[Rina]";
+ mes "What you need to do is";
+ mes "to choose one monster among";
+ mes "^FF0000DEVIRUCHI,^000000 ^FF0000WRAITH DEAD,^000000";
+ mes "^FF0000DULLAHAN,^000000 ^FF0000NIGHTMARE TERROR^000000";
+ mes "and then kill ^0000FF50^000000 monsters";
+ mes "and come back to me.";
+ next;
+ mes "[Rina]";
+ mes "It must be a tough task,";
+ mes "but you are the right person";
+ mes "who did the oath-taking ceremony.";
+ mes "I hope you succeed.";
+ if (getarg(0) < 2) {
+ completequest 9117;
+ setquest 9118;
+ setquest 9119;
+ setquest 9120;
+ setquest 9121;
+ }
+ close2;
+ npcskill "AL_INCAGI",1,0,0;
+ npcskill "AL_BLESSING",1,0,0;
+ end;
}
geffen,207,114,4 script #Hiddne01Easter CLEAR_NPC,{
@@ -317,7 +319,7 @@ OnRelease:
specialeffect EF_PATTACK;
mes "- I found ^0000FFthe strange mark^000000. -";
next;
- specialeffect2 EF_HOLYHIT;
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
mes "- I can definitely feel that";
mes "- ^0000FFRina^000000 has been released";
mes "- from the curse.";
diff --git a/npc/events/gdevent_aru.txt b/npc/events/gdevent_aru.txt
index d192456aa..0a3eef0b1 100644
--- a/npc/events/gdevent_aru.txt
+++ b/npc/events/gdevent_aru.txt
@@ -1351,33 +1351,33 @@ OnMVP:
end;
OnTimer1000:
- specialeffect EF_MVP,AREA,"paper_sp_1_a";
- specialeffect EF_MVP,AREA,"paper_sp_3_a";
- specialeffect EF_MVP,AREA,"paper_sp_5_a";
- specialeffect EF_MVP,AREA,"paper_sp_7_a";
- specialeffect EF_MVP,AREA,"paper_sp_9_a";
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_1_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_3_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_5_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_7_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_9_a"));
end;
OnTimer2000:
- specialeffect EF_MVP,AREA,"paper_sp_2_a";
- specialeffect EF_MVP,AREA,"paper_sp_4_a";
- specialeffect EF_MVP,AREA,"paper_sp_6_a";
- specialeffect EF_MVP,AREA,"paper_sp_8_a";
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_2_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_4_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_6_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_8_a"));
end;
OnTimer3000:
- specialeffect EF_MVP,AREA,"paper_sp_1_a";
- specialeffect EF_MVP,AREA,"paper_sp_3_a";
- specialeffect EF_MVP,AREA,"paper_sp_5_a";
- specialeffect EF_MVP,AREA,"paper_sp_7_a";
- specialeffect EF_MVP,AREA,"paper_sp_9_a";
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_1_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_3_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_5_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_7_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_9_a"));
end;
OnTimer4000:
- specialeffect EF_MVP,AREA,"paper_sp_2_a";
- specialeffect EF_MVP,AREA,"paper_sp_4_a";
- specialeffect EF_MVP,AREA,"paper_sp_6_a";
- specialeffect EF_MVP,AREA,"paper_sp_8_a";
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_2_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_4_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_6_a"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_8_a"));
stopnpctimer;
end;
}
diff --git a/npc/events/gdevent_sch.txt b/npc/events/gdevent_sch.txt
index dcb529ebe..add37bcb9 100644
--- a/npc/events/gdevent_sch.txt
+++ b/npc/events/gdevent_sch.txt
@@ -1348,33 +1348,33 @@ OnMVP:
end;
OnTimer1000:
- specialeffect EF_MVP,AREA,"paper_sp_1_s";
- specialeffect EF_MVP,AREA,"paper_sp_3_s";
- specialeffect EF_MVP,AREA,"paper_sp_5_s";
- specialeffect EF_MVP,AREA,"paper_sp_7_s";
- specialeffect EF_MVP,AREA,"paper_sp_9_s";
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_1_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_3_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_5_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_7_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_9_s"));
end;
OnTimer2000:
- specialeffect EF_MVP,AREA,"paper_sp_2_s";
- specialeffect EF_MVP,AREA,"paper_sp_4_s";
- specialeffect EF_MVP,AREA,"paper_sp_6_s";
- specialeffect EF_MVP,AREA,"paper_sp_8_s";
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_2_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_4_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_6_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_8_s"));
end;
OnTimer3000:
- specialeffect EF_MVP,AREA,"paper_sp_1_s";
- specialeffect EF_MVP,AREA,"paper_sp_3_s";
- specialeffect EF_MVP,AREA,"paper_sp_5_s";
- specialeffect EF_MVP,AREA,"paper_sp_7_s";
- specialeffect EF_MVP,AREA,"paper_sp_9_s";
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_1_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_3_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_5_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_7_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_9_s"));
end;
OnTimer4000:
- specialeffect EF_MVP,AREA,"paper_sp_2_s";
- specialeffect EF_MVP,AREA,"paper_sp_4_s";
- specialeffect EF_MVP,AREA,"paper_sp_6_s";
- specialeffect EF_MVP,AREA,"paper_sp_8_s";
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_2_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_4_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_6_s"));
+ specialeffect(EF_MVP, AREA, getnpcid("paper_sp_8_s"));
stopnpctimer;
end;
}
diff --git a/npc/events/halloween_2006.txt b/npc/events/halloween_2006.txt
index 101434be3..940ffe30a 100644
--- a/npc/events/halloween_2006.txt
+++ b/npc/events/halloween_2006.txt
@@ -331,7 +331,7 @@ geffen,145,132,3 script Hoirin#06_hw 4_F_NOVICE,{
mes "[Hoirin]";
mes "You are right!";
mes "You brought all things right. Give it to me!!";
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
next;
specialeffect EF_PIERCESELF;
mes "[Hoirin]";
diff --git a/npc/events/nguild/nguild_ev_agit.txt b/npc/events/nguild/nguild_ev_agit.txt
index 99545bfff..9bb76f728 100644
--- a/npc/events/nguild/nguild_ev_agit.txt
+++ b/npc/events/nguild/nguild_ev_agit.txt
@@ -125,7 +125,7 @@ OnAgitStart:
end;
OnAgitBreak:
callfunc "F_AgitBreak","nguild_alde","N01";
- goto OnAgitEliminate;
+ callsub OnAgitEliminate;
end;
OnGuildBreak:
callfunc "F_GuildBreak","nguild_alde","N01";
@@ -152,7 +152,7 @@ OnAgitStart:
end;
OnAgitBreak:
callfunc "F_AgitBreak","nguild_gef","N02";
- goto OnAgitEliminate;
+ callsub OnAgitEliminate;
end;
OnGuildBreak:
callfunc "F_GuildBreak","nguild_gef","N02";
@@ -179,7 +179,7 @@ OnAgitStart:
end;
OnAgitBreak:
callfunc "F_AgitBreak","nguild_pay","N03";
- goto OnAgitEliminate;
+ callsub OnAgitEliminate;
end;
OnGuildBreak:
callfunc "F_GuildBreak","nguild_pay","N03";
@@ -206,7 +206,7 @@ OnAgitStart:
end;
OnAgitBreak:
callfunc "F_AgitBreak","nguild_prt","N04";
- goto OnAgitEliminate;
+ callsub OnAgitEliminate;
end;
OnGuildBreak:
callfunc "F_GuildBreak","nguild_prt","N04";
diff --git a/npc/events/nguild/nguild_kafras.txt b/npc/events/nguild/nguild_kafras.txt
index 8b448bbe3..96371ec91 100644
--- a/npc/events/nguild/nguild_kafras.txt
+++ b/npc/events/nguild/nguild_kafras.txt
@@ -39,13 +39,12 @@
function script F_GKafra {
cutin "kafra_01",2;
@GID = getcastledata(getarg(0),1);
- if (getcharid(CHAR_ID_GUILD) == @GID && getgdskilllv(@GID,10001)) goto L_StartG;
-
- mes "[Kafra Service]";
- mes "I am contracted to provide service only for the ^ff0000" + getguildname(@GID) + "^000000 Guild. Please use another Kafra Corporation staff member around here. I am Sorry for your inconvenience.";
- cutin "",255;
- close;
-L_StartG:
+ if (getcharid(CHAR_ID_GUILD) != @GID || getgdskilllv(@GID,10001) < 1) {
+ mes "[Kafra Service]";
+ mes "I am contracted to provide service only for the ^ff0000" + getguildname(@GID) + "^000000 Guild. Please use another Kafra Corporation staff member around here. I am Sorry for your inconvenience.";
+ cutin "",255;
+ close;
+ }
@wrpP[0] = 200;
@wrpD$[0] = getarg(1);
setarray @wrpC$[0], @wrpD$[0]+" ^880000"+@wrpP[0]+"^000000 z", "Cancel", "", "", "","";
diff --git a/npc/events/nguild/nguild_managers.txt b/npc/events/nguild/nguild_managers.txt
index 1d9b56966..a24a0cb15 100644
--- a/npc/events/nguild/nguild_managers.txt
+++ b/npc/events/nguild/nguild_managers.txt
@@ -63,7 +63,34 @@ function script F_GldManager {
switch (select("Kafra Staff Employment / Dismissal","Enter Treasure Room","Cancel")) {
case 1: // Employment / Dismissal
mes "[ "+getarg(0)+" ]";
- if (getcastledata(getarg(1),9) == 1) goto L_Dismiss;
+ if (getcastledata(getarg(1),9) == 1) {
+ mes "Would you like to dismiss the current Kafra?";
+ next;
+ if (select("Dismissal","Cancel") != 1) {
+ mes "[ "+getarg(0)+" ]";
+ mes "Master, I think you should keep the current Kafra Staff because she is already trying her best to serve us";
+ return;
+ }
+ cutin "kafra_01",2;
+ mes "[ Kafra Staff ]";
+ mes "Have I done anything wrong? If I did, will you please forgive me?";
+ next;
+ if (select("Dismiss","Cancel") != 1) {
+ mes "[ Kafra Staff ]";
+ mes "Thank you master, I'll do my best! ^^.";
+ cutin "kafra_01",255;
+ return;
+ }
+ mes "[ Kafra Staff ]";
+ mes "It's unfortunate that I won't be able to serve your guild anymore....";
+ next;
+ disablenpc "Kafra Staff#"+getarg(4);
+ setcastledata getarg(1),9,0;
+ cutin "kafra_01",255;
+ mes "[ "+getarg(0)+" ]";
+ mes "The Kafra has been dismissed. But... we should really get a Kafra as soon as possible!";
+ return;
+ }
if (getgdskilllv(@GID,10001) == 0){
mes "Master, you don't have a contract with the Kafra Staff Company.";
mes "In order to hire a Kafra, you must first learn the Guild skill ^5533FFContract With Kafra^000000.";
@@ -97,33 +124,6 @@ function script F_GldManager {
//mes "Your employment contract lasts ^5533FF1 month^000000. After this term is over you will have to create a new contract.";
mes "I think the Kafra Staff will benefit our guild members.";
return;
- L_Dismiss:
- mes "Would you like to dismiss the current Kafra?";
- next;
- if (select("Dismissal","Cancel") != 1) {
- mes "[ "+getarg(0)+" ]";
- mes "Master, I think you should keep the current Kafra Staff because she is already trying her best to serve us";
- return;
- }
- cutin "kafra_01",2;
- mes "[ Kafra Staff ]";
- mes "Have I done anything wrong? If I did, will you please forgive me?";
- next;
- if (select("Dismiss","Cancel") != 1) {
- mes "[ Kafra Staff ]";
- mes "Thank you master, I'll do my best! ^^.";
- cutin "kafra_01",255;
- return;
- }
- mes "[ Kafra Staff ]";
- mes "It's unfortunate that I won't be able to serve your guild anymore....";
- next;
- disablenpc "Kafra Staff#"+getarg(4);
- setcastledata getarg(1),9,0;
- cutin "kafra_01",255;
- mes "[ "+getarg(0)+" ]";
- mes "The Kafra has been dismissed. But... we should really get a Kafra as soon as possible!";
- return;
case 2: // Enter Treasure Room
mes "[ "+getarg(0)+" ]";
mes "Would you to go to our Treasure Room? Only you, the Guild Master, are allowed to enter this room.";
diff --git a/npc/events/xmas.txt b/npc/events/xmas.txt
index a6308b867..7419bc4bc 100644
--- a/npc/events/xmas.txt
+++ b/npc/events/xmas.txt
@@ -44,15 +44,14 @@
xmas_in,100,96,4 script Santa Claus::Santa2 4_M_SANTA,{
mes "[Santa Claus]";
if(xmas_npc==0) xmas_npc = 1; // For Lutie & Bard quest
- if(#event_xmas > 0 && #event_xmas < 30 ) goto L_Start;
- mes "Merry Christmas!";
- if(Class==0 || #event_xmas>=30 ) close; //anti exploit protection
- mes "I have a gift for you! Ho Ho Ho!";
- getitem rand(664,667),1; //gives one of 4 gift boxes
- ++#event_xmas;
- close;
-
-L_Start:
+ if(#event_xmas <= 0 || #event_xmas >= 30 ) {
+ mes "Merry Christmas!";
+ if(Class==0 || #event_xmas>=30 ) close; //anti exploit protection
+ mes "I have a gift for you! Ho Ho Ho!";
+ getitem rand(664,667),1; //gives one of 4 gift boxes
+ ++#event_xmas;
+ close;
+ }
mes "I'm having a bit of a problem...";
mes "Do you care to listen?";
next;
@@ -98,7 +97,12 @@ L_Start:
close;
case 2: // Give proof
mes "[Santa Claus]";
- if(countitem(Red_Socks_With_Holes) < 3) goto L_NotEnuf;
+ if(countitem(Red_Socks_With_Holes) < 3) {
+ mes "You don't have enough socks as proof.";
+ mes "Go take down those evil Santas";
+ mes "and get more for me and I'll reward you.";
+ close;
+ }
delitem 7034,3;
mes "Seems you've been doing a";
mes "good job of taking down those";
@@ -111,12 +115,6 @@ L_Start:
mes "If you get 3 more, I'll give you another.";
mes "Hope you get a good item.";
close;
-
- L_NotEnuf:
- mes "You don't have enough socks as proof.";
- mes "Go take down those evil Santas";
- mes "and get more for me and I'll reward you.";
- close;
default: // Cancel
mes "[Santa Claus]";
mes "I see. Well, at the very least";
diff --git a/npc/instances/EndlessTower.txt b/npc/instances/EndlessTower.txt
index f94bc177a..2964f7e2a 100644
--- a/npc/instances/EndlessTower.txt
+++ b/npc/instances/EndlessTower.txt
@@ -37,164 +37,163 @@
//=========================================================================
alberta,214,77,6 script Captain Janssen 4_M_SEAMAN,{
- if (checkweight(Knife,1) == 0) {
- mes "^008800Wait here!!";
- mes "You're carrying too much stuff. Why don't you put some of it away, and then come back.^000000";
- close;
+ if (checkweight(Knife, 1) == 0) {
+ mes("^008800Wait here!!");
+ mes("You're carrying too much stuff. Why don't you put some of it away, and then come back.^000000");
+ close();
}
if (BaseLevel < 50) {
- mes "[Captain Janssen]";
- mes "Sigh... I don't know if I can ever go back to sailing the sea...";
- close;
+ mes("[Captain Janssen]");
+ mes("Sigh... I don't know if I can ever go back to sailing the sea...");
+ close();
}
.@name$ = strcharinfo(PC_NAME);
if (in_102tower == 1) {
- mes "^0000ffLooking incredibly excited, the old man ran into the marine shop hurriedly ordering goods. You don't have anything better to do, so you decide to ask him why he is in such a rush.^000000";
- next;
- mes "^0000ffThe old man, after finishing his orders, walks towards you.^000000";
- next;
- mes "[Captain Janssen]";
- mes "I was touched when you accepted a request from me, a stranger, so easily. You must truly be one of those good, heroic adventurers. Are you interested in setting out on an ocean voyage?";
- next;
- mes "["+.@name$+"]";
- mes "I've sailed a few times... But now that I think about it, I've never gone across the continent.";
- next;
- mes "[Captain Janssen]";
- mes "No, that's good enough. I may just have one small fishing vessel, but I used to be a captain that commanded a fleet.";
- next;
- mes "[Captain Janssen]";
- mes "As you may know after a few sea voyages, not many people have gone across the ocean beyond the continent. I too have failed to conquer the ocean.";
- next;
- mes "^0000ffMr. Janssen talked about his perilous ocean journeys for quite a while. You have enough time on your hands, so you sit down, quietly listening to his story.^000000";
- next;
- mes "^0000ffAt least half of his story sounded grossly exaggerated, but something caught your ear: he insists that a humongous tower exists on the ocean, and that it's so tall, it scrapes across the sky.^000000";
+ mes("^0000ffLooking incredibly excited, the old man ran into the marine shop hurriedly ordering goods. You don't have anything better to do, so you decide to ask him why he is in such a rush.^000000");
+ next();
+ mes("^0000ffThe old man, after finishing his orders, walks towards you.^000000");
+ next();
+ mes("[Captain Janssen]");
+ mes("I was touched when you accepted a request from me, a stranger, so easily. You must truly be one of those good, heroic adventurers. Are you interested in setting out on an ocean voyage?");
+ next();
+ mesf("[%s]", .@name$);
+ mes("I've sailed a few times... But now that I think about it, I've never gone across the continent.");
+ next();
+ mes("[Captain Janssen]");
+ mes("No, that's good enough. I may just have one small fishing vessel, but I used to be a captain that commanded a fleet.");
+ next();
+ mes("[Captain Janssen]");
+ mes("As you may know after a few sea voyages, not many people have gone across the ocean beyond the continent. I too have failed to conquer the ocean.");
+ next();
+ mes("^0000ffMr. Janssen talked about his perilous ocean journeys for quite a while. You have enough time on your hands, so you sit down, quietly listening to his story.^000000");
+ next();
+ mes("^0000ffAt least half of his story sounded grossly exaggerated, but something caught your ear: he insists that a humongous tower exists on the ocean, and that it's so tall, it scrapes across the sky.^000000");
in_102tower = 2;
- close;
+ close();
} else if (in_102tower == 2) {
- mes "[Captain Janssen]";
- mes "So all I could do was cast anchor at that humongous tower after my fleet was wrecked. At first, we were only going to stay there until the rainstorm was over, but it didn't end as soon as we had hoped.";
- next;
- mes "[Captain Janssen]";
- mes "My crew was starving, and a few of them walked into the tower in order to find food... They never came back.";
- next;
- mes "["+.@name$+"]";
- mes "Why didn't you go in there with them?";
- next;
- mes "[Captain Janssen]";
- mes "My instincts told me that tower was dangerous. I was curious, but I wasn't going to risk my life. We waited for them to come back for 7 days until the rainstorm was finally over, but no one returned.";
- next;
- mes "[Captain Janssen]";
- mes "In our desperation to survive, we abandoned all our goods, and left the tower only with a little bit of the water and edible plants we'd found around the tower. When we finally reached land, I was the only one alive...";
- next;
- mes "^0000ffYou could imagine the heartwretching scene of the dying fleet on their last voyage, even if he didn't explain it any further. A look of somber regret swept over his face as he remained silent a while, and then he said:^000000";
- next;
- mes "[Captain Janssen]";
- mes "I have something I must do before I die. I must retrieve the remains of my crew that died in the tower, and give them a proper burial.";
- next;
- mes "[Captain Janssen]";
- mes "I feel so lucky to meet a warm-hearted adventurer like you. With the money you've given me, I can finally go sailing to the tower again.";
- next;
- mes "["+.@name$+"]";
- mes "How about hiring me as your first mate?";
- next;
- mes "[Captain Janssen]";
- mes "Thank you, but it is an extremely dangerous place. I have my duty to fulfill, but you don't have any obligation to me or them. I don't wish to sacrifice someone as young as you to such a dangerous place.";
- next;
- mes "["+.@name$+"]";
- mes "No...";
- mes ".";
- mes ".";
- mes "As an adventurer, there's my obligation to those in need. I'm also very curious about that place...";
- next;
- mes "[Captain Janssen]";
- mes "I was going to leave right away, but since you've joined me, I should give you time to prepare. I'll be waiting here until you're ready to go.";
- next;
- mes "[Captain Janssen]";
- mes "...Okay then...";
- mes "Welcome aboard, first mate.";
+ mes("[Captain Janssen]");
+ mes("So all I could do was cast anchor at that humongous tower after my fleet was wrecked. At first, we were only going to stay there until the rainstorm was over, but it didn't end as soon as we had hoped.");
+ next();
+ mes("[Captain Janssen]");
+ mes("My crew was starving, and a few of them walked into the tower in order to find food... They never came back.");
+ next();
+ mesf("[%s]", .@name$);
+ mes("Why didn't you go in there with them?");
+ next();
+ mes("[Captain Janssen]");
+ mes("My instincts told me that tower was dangerous. I was curious, but I wasn't going to risk my life. We waited for them to come back for 7 days until the rainstorm was finally over, but no one returned.");
+ next();
+ mes("[Captain Janssen]");
+ mes("In our desperation to survive, we abandoned all our goods, and left the tower only with a little bit of the water and edible plants we'd found around the tower. When we finally reached land, I was the only one alive...");
+ next();
+ mes("^0000ffYou could imagine the heartwretching scene of the dying fleet on their last voyage, even if he didn't explain it any further. A look of somber regret swept over his face as he remained silent a while, and then he said:^000000");
+ next();
+ mes("[Captain Janssen]");
+ mes("I have something I must do before I die. I must retrieve the remains of my crew that died in the tower, and give them a proper burial.");
+ next();
+ mes("[Captain Janssen]");
+ mes("I feel so lucky to meet a warm-hearted adventurer like you. With the money you've given me, I can finally go sailing to the tower again.");
+ next();
+ mesf("[%s]", .@name$);
+ mes("How about hiring me as your first mate?");
+ next();
+ mes("[Captain Janssen]");
+ mes("Thank you, but it is an extremely dangerous place. I have my duty to fulfill, but you don't have any obligation to me or them. I don't wish to sacrifice someone as young as you to such a dangerous place.");
+ next();
+ mesf("[%s]", .@name$);
+ mes("No...");
+ mes(".");
+ mes(".");
+ mes("As an adventurer, there's my obligation to those in need. I'm also very curious about that place...");
+ next();
+ mes("[Captain Janssen]");
+ mes("I was going to leave right away, but since you've joined me, I should give you time to prepare. I'll be waiting here until you're ready to go.");
+ next();
+ mes("[Captain Janssen]");
+ mes("...Okay then...");
+ mes("Welcome aboard, first mate.");
in_102tower = 3;
- close;
+ close();
} else if (in_102tower == 3) {
- mes "[Captain Janssen]";
- mes "Shall we leave now?";
- next;
- switch(select("Yes, let's go!", "No, I'm not quite ready...")) {
+ mes("[Captain Janssen]");
+ mes("Shall we leave now?");
+ next();
+ switch (select("Yes, let's go!", "No, I'm not quite ready...")) {
case 1:
- mes "[Captain Janssen]";
- mes "Then pull up the anchor, first mate!";
- close2;
+ mes("[Captain Janssen]");
+ mes("Then pull up the anchor, first mate!");
+ close2();
in_102tower = 4;
- warp "e_tower",70,114;
+ warp("e_tower", 70, 114);
end;
case 2:
- mes "[Captain Janssen]";
- mes "Sure, no problem. Come back when you're ready.";
- close;
+ mes("[Captain Janssen]");
+ mes("Sure, no problem. Come back when you're ready.");
+ close();
}
} else if (in_102tower > 3) {
- mes "[Captain Janssen]";
- mes "Well, to travel the ocean again, we need to restock on goods. If you give me 10,000 Zeny, I'll take care of the rest.";
- next;
- switch(select("I'll come back later.", "Let's go, now!")) {
+ mes("[Captain Janssen]");
+ mes("Well, to travel the ocean again, we need to restock on goods. If you give me 10,000 Zeny, I'll take care of the rest.");
+ next();
+ switch (select("I'll come back later.", "Let's go, now!")) {
case 1:
- mes "["+.@name$+"]";
- mes "I'm sorry, but I don't have that much money. I'll come back when I save enough.";
- next;
- mes "[Captain Janssen]";
- mes "Sure, no problem. I'll be waiting for your return.";
- close;
+ mesf("[%s]", .@name$);
+ mes("I'm sorry, but I don't have that much money. I'll come back when I save enough.");
+ next();
+ mes("[Captain Janssen]");
+ mes("Sure, no problem. I'll be waiting for your return.");
+ close();
case 2:
if (Zeny < 10000) {
- mes "[Captain Janssen]";
- mes "I'm sorry, but you don't have enough money. I need at least 10,000 Zeny to restock our supplies...";
- close;
- }
- else {
- mes "[Captain Janssen]";
- mes "Excellent! Now we're good to go. Let's pull up the anchor again!";
+ mes("[Captain Janssen]");
+ mes("I'm sorry, but you don't have enough money. I need at least 10,000 Zeny to restock our supplies...");
+ close();
+ } else {
+ mes("[Captain Janssen]");
+ mes("Excellent! Now we're good to go. Let's pull up the anchor again!");
Zeny -= 10000;
- close2;
- warp "e_tower",70,114;
+ close2();
+ warp("e_tower", 70, 114);
end;
}
}
} else {
- mes "[Captain Janssen]";
- mes "Excuse me, are you an adventurer?";
- next;
- mes "[Captain Janssen]";
- mes "I'm sorry to ask you this, especially when this is the first time we've ever met, but can you do me a favor? I'll make it short.";
- next;
- mes "[Captain Janssen]";
- mes "Can you donate ^0000ff10,000 Zeny^000000 to me? It's for a cause that's important to me...";
- next;
- switch(select("No!", "Sure thing.")) {
+ mes("[Captain Janssen]");
+ mes("Excuse me, are you an adventurer?");
+ next();
+ mes("[Captain Janssen]");
+ mes("I'm sorry to ask you this, especially when this is the first time we've ever met, but can you do me a favor? I'll make it short.");
+ next();
+ mes("[Captain Janssen]");
+ mes("Can you donate ^0000ff10,000 Zeny^000000 to me? It's for a cause that's important to me...");
+ next();
+ switch (select("No!", "Sure thing.")) {
case 1:
- mes "["+.@name$+"]";
- mes "I'm sorry, but you've got the wrong person to ask that.";
- next;
- mes "[Captain Janssen]";
- mes "I see... Sorry to bother you. I understand it was too rude to ask something like that to begin with.";
- close;
+ mesf("[%s]", .@name$);
+ mes("I'm sorry, but you've got the wrong person to ask that.");
+ next();
+ mes("[Captain Janssen]");
+ mes("I see... Sorry to bother you. I understand it was too rude to ask something like that to begin with.");
+ close();
case 2:
- mes "[Captain Janssen]";
- mes "Huh? Are you sure that you don't mind giving me that much money? Wow, thank you so much!";
- next;
+ mes("[Captain Janssen]");
+ mes("Huh? Are you sure that you don't mind giving me that much money? Wow, thank you so much!");
+ next();
if (Zeny < 10000) {
- mes "[Captain Janssen]";
- mes "...I'm sorry, but I don't think you have 10,000 Zeny. Thank you for your kindness, but I need more than that.";
- close;
+ mes("[Captain Janssen]");
+ mes("...I'm sorry, but I don't think you have 10,000 Zeny. Thank you for your kindness, but I need more than that.");
+ close();
} else {
- mes "["+.@name$+"]";
- mes "I don't know why you'd need so much money, but here. You can take it.";
- next;
- mes "^0000ffYou have donated 10,000 Zeny to Captain Janssen^000000.";
- next;
- mes "[Captain Janssen]";
- mes "Thank you so much! Now I can stock up on food and materials for my ship. You're kind, very kind!";
+ mesf("[%s]", .@name$);
+ mes("I don't know why you'd need so much money, but here. You can take it.");
+ next();
+ mes("^0000ffYou have donated 10,000 Zeny to Captain Janssen^000000.");
+ next();
+ mes("[Captain Janssen]");
+ mes("Thank you so much! Now I can stock up on food and materials for my ship. You're kind, very kind!");
Zeny -= 10000;
in_102tower = 1;
- close;
+ close();
}
}
}
@@ -204,116 +203,117 @@ e_tower,81,105,0 script Tower Protection Stone 2_MONEMUS,{
.@party_id = getcharid(CHAR_ID_PARTY);
.@p_name$ = getpartyname(.@party_id);
- .@md_name$ = "Endless Tower";
+ .@md_name$ = _("Endless Tower");
- .@etower_timer = questprogress(60200,PLAYTIME); // 1 week
- .@etower_timer2 = questprogress(60201,PLAYTIME); // 4 hours
+ .@etower_timer = questprogress(60200, PLAYTIME); // 1 week
+ .@etower_timer2 = questprogress(60201, PLAYTIME); // 4 hours
- if (!instance_check_party(.@party_id,2)) {
- mes "Make or join a party with more than 1 member and try again.";
- close;
+ if (!instance_check_party(.@party_id, 2)) {
+ mes("Make or join a party with more than 1 member and try again.");
+ close();
}
if (!.@etower_timer) {
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
- mes "Confirmed the party has been made. Would you like to reserve entrance to the Endless Tower?";
- next;
- switch(select("Generate dungeon "+.@md_name$, "Enter the dungeon", "Return to Alberta", "Cancel")) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2)) {
+ mes("Confirmed the party has been made. Would you like to reserve entrance to the Endless Tower?");
+ next();
+ .@str$ = sprintf(_$("Generate Dungeon %s"), .@md_name$);
+ switch (select(.@str$, "Enter the Dungeon", "Return to Alberta", "Cancel")) {
case 1:
- .@instance = instance_create(.@md_name$,.@party_id);
- if (.@instance < 0) {
- mes "Party Name: "+.@p_name$;
- mes "Party Leader: "+strcharinfo(PC_NAME);
- mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!";
- close;
- }
- mes "^0000ff"+.@md_name$+"^000000 - Try to reserve";
- mes "After making a reservation, you have to talk to NPC behind and select the menu 'Enter the Dungeon' to enter the dungeon.";
- for (.@i = 1; .@i <= 6; ++.@i) {
- if( instance_attachmap(.@i + "@tower", .@instance) == "" ) {
- mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!";
- instance_destroy(.@instance);
- close;
+ .@instance = instance_create(.@md_name$, .@party_id);
+ if (.@instance >= 0) {
+ for (.@i = 1; .@i <= 6; ++.@i) {
+ if (instance_attachmap(.@i + "@tower", .@instance) == "") {
+ mesf("Party Name: %s", .@p_name$);
+ mesf("Party Leader: %s", strcharinfo(PC_NAME));
+ mesf("^0000ff%s ^000000- Reservation Failed!", .@md_name$);
+ instance_destroy(.@instance);
+ close();
+ }
}
+ instance_set_timeout(14400, 300, .@instance);
+ instance_init(.@instance);
}
- instance_set_timeout 14400,300,.@instance;
- instance_init(.@instance);
- close;
+ mesf("^0000ff%s^000000 - Try to reserve", .@md_name$);
+ mes("After making a reservation, you have to talk to NPC behind and select the menu 'Enter the Dungeon' to enter the dungeon.");
+ close();
case 2:
- callsub L_Enter,0,1,.@md_name$,.@p_name$;
+ callsub(L_Enter, 0, 1, .@md_name$, .@p_name$);
case 3:
- mes "I will move you to Alberta.";
- close2;
- warp "alberta",223,36;
+ mes("I will move you to Alberta.");
+ close2();
+ warp("alberta", 223, 36);
end;
case 4:
- close;
+ close();
}
}
- switch(select("Enter the "+.@md_name$, "Return to Alberta", "Cancel")) {
+ mes("If you have the dungeon generated already, you can enter it.");
+ next();
+ switch (select("Enter the Dungeon", "Return to Alberta", "Cancel")) {
case 1:
- callsub L_Enter,1,1,.@md_name$,.@p_name$;
+ callsub(L_Enter, 1, 1, .@md_name$, .@p_name$);
case 2:
- mes "I will move you to Alberta.";
- close2;
- warp "alberta",223,36;
+ mes("I will move you to Alberta.");
+ close2();
+ warp("alberta", 223, 36);
end;
case 3:
end;
}
} else if (.@etower_timer == 1 && .@etower_timer2 == 2) {
- .@dun_lim_time = etower_timer+604800; // 1 week
- .@dun_lim_time2 = etower_timer+14400; // 4 hours
+ .@dun_lim_time = etower_timer + 604800; // 1 week
+ .@dun_lim_time2 = etower_timer + 14400; // 4 hours
.@dun_cur_time = gettimetick(2);
- .@dun_ent_t = (.@dun_lim_time - .@dun_cur_time);
- .@dun_h = (.@dun_ent_t / 3600);
+ .@dun_ent_t = .@dun_lim_time - .@dun_cur_time;
+ .@dun_h = .@dun_ent_t / 3600;
.@dun_m = (.@dun_ent_t - (.@dun_h * 3600)) / 60;
.@dun_s = .@dun_ent_t - ((.@dun_h * 3600) + (.@dun_m * 60));
- mes "Due to the tower's aftereffects, you cannot enter the dungeon right now, " + .@dun_h + "hours " + .@dun_m + "minutes " + .@dun_s + "seconds left to enter the next dungeon.";
- next;
- mes "It is dangerous here. Let me move you to Alberta.";
- close2;
- warp "alberta",223,36;
+ mesf("Due to the tower's aftereffects, you cannot enter the dungeon right now, %d hours %d minutes %d seconds left to enter the next dungeon.", .@dun_h, .@dun_m, .@dun_s);
+ next();
+ mes("It is dangerous here. Let me move you to Alberta.");
+ close2();
+ warp("alberta", 223, 36);
end;
} else if (.@etower_timer == 1) {
- mes "If you have the dungeon generated already, you can enter it. ";
- next;
- switch(select("Enter the "+.@md_name$, "Return to Alberta", "Cancel")) {
+ mes("If you have the dungeon generated already, you can enter it.");
+ next();
+ switch (select("Enter the Dungeon", "Return to Alberta", "Cancel")) {
case 1:
- callsub L_Enter,0,0,.@md_name$,.@p_name$;
+ callsub(L_Enter, 0, 0, .@md_name$, .@p_name$);
case 2:
- mes "I will move you to Alberta.";
- close2;
- warp "alberta",223,36;
+ mes("I will move you to Alberta.");
+ close2();
+ warp("alberta", 223, 36);
end;
case 3:
break;
}
- close;
+ close();
} else {
etower_timer = 0;
- erasequest 60200;
- erasequest 60201;
- mes "^0000ffThe records and after effects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000";
- close;
+ erasequest(60200);
+ erasequest(60201);
+ mes("^0000ffThe records and after effects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000");
+ close();
}
L_Enter:
if (has_instance("1@tower") == "") {
- mes "The memorial dungeon " +getarg(2)+ " does not exist.";
- mes "The party leader did not generate the dungeon yet.";
- close;
+ mesf("The memorial dungeon %s does not exist.", getarg(2));
+ mes("The party leader did not generate the dungeon yet.");
+ close();
} else {
- mapannounce "e_tower", strcharinfo(PC_NAME)+" of the party, " +getarg(3)+", is entering the dungeon, Endless Tower.",bc_map,"0x00ff99",FW_NORMAL,12;
+ mapannounce("e_tower", sprintf(_$("%s of the party, %s, is entering the dungeon, Endless Tower."), strcharinfo(PC_NAME), getarg(3)), bc_map, C_SPRINGGREEN, FW_NORMAL, 12);
if (getarg(1)) {
etower_timer = gettimetick(2);
- setquest 60200;
- setquest 60201;
+ setquest(60200);
+ setquest(60201);
}
- warp "1@tower",52,354;
+ warp("1@tower", 52, 354);
if (getarg(0) == 0)
- close;
+ close();
else
end;
}
@@ -322,75 +322,75 @@ L_Enter:
e_tower,30,30,2 script Huge Vortex CLEAR_NPC,2,2,{
end;
OnTouch:
- mapannounce "e_tower","[ " + strcharinfo(PC_NAME) + " ], seems to be engulfed by a huge vortex",bc_map,"0x00ff99",FW_NORMAL,12;
- warp "alberta",223,36;
+ mapannounce("e_tower", sprintf(_$("[ %s ], seems to be engulfed by a huge vortex"), strcharinfo(PC_NAME)), bc_map, C_SPRINGGREEN, FW_NORMAL, 12);
+ warp("alberta", 223, 36);
end;
}
// Original name: "#102Administrator Mode104"
e_tower,1,1,2 script #102Administrator Mode CLEAR_NPC,{
- callfunc "F_GM_NPC";
- mes "Please enter the password";
- .@i = callfunc("F_GM_NPC","dmc2008",1);
- next;
+ callfunc("F_GM_NPC");
+ mes("Please enter the password.");
+ .@i = callfunc("F_GM_NPC", "dmc2008", 1);
+ next();
if (.@i == 1) {
- switch(select("Generate Purification Stone", "Remove Purification Stone", "Cancel")) {
+ switch (select("Generate Purification Stone", "Remove Purification Stone", "Cancel")) {
case 1:
- mes "Create the Purification Stone that stays for 30 minutes.";
- donpcevent "Purification Stone#et1::OnEnable";
+ mes("Create the Purification Stone that stays for 30 minutes.");
+ donpcevent("Purification Stone#et1::OnEnable");
break;
case 2:
- mes "Destroy the Purification Stone immediately";
- donpcevent "Purification Stone#et1::OnDisable";
+ mes("Destroy the Purification Stone immediately");
+ donpcevent("Purification Stone#et1::OnDisable");
break;
case 3:
- mes "You have canceled it.";
+ mes("You have canceled it.");
break;
}
- close;
+ close();
} else {
- mes "Enter the password exactly.";
- close;
+ mes("Enter the password exactly.");
+ close();
}
}
e_tower,69,117,4 script Purification Stone#et1 2_MONEMUS,{
etower_timer = 0;
- mes "^0000ffThe records and aftereffects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000";
- close;
+ mes("^0000ffThe records and aftereffects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000");
+ close();
OnInit:
- disablenpc "Purification Stone#et1";
+ disablenpc("Purification Stone#et1");
end;
OnEnable:
- initnpctimer;
+ initnpctimer();
end;
OnDisable:
- stopnpctimer;
- disablenpc "Purification Stone#et1";
+ stopnpctimer();
+ disablenpc("Purification Stone#et1");
end;
OnTimer1000:
- enablenpc "Purification Stone#et1";
+ enablenpc("Purification Stone#et1");
end;
OnTimer1740000:
- mapannounce "e_tower", "The Purification Stone will be destroyed in one minute.",bc_map,"0x00ff99";
+ mapannounce("e_tower", _("The Purification Stone will be destroyed in one minute."), bc_map, C_SPRINGGREEN);
end;
OnTimer1800000:
- disablenpc "Purification Stone#et1";
+ disablenpc("Purification Stone#et1");
end;
}
e_tower,151,185,4 script Purification Stone#et2 CLEAR_NPC,{
- callfunc "F_GM_NPC";
+ callfunc("F_GM_NPC");
etower_timer = 0;
- mes "^0000ffThe records and aftereffects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000";
- close2;
- warp "e_tower",75,108;
+ mes("^0000ffThe records and aftereffects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000");
+ close2();
+ warp("e_tower", 75, 108);
end;
}
@@ -401,677 +401,677 @@ function script F_Tower_Monster {
.@map$ = getarg(1);
.@label$ = getarg(2);
- switch(.@level) {
+ switch (.@level) {
case 1:
- areamonster .@map$,7,351,17,387,"Metaling",1613,15,.@label$;
- areamonster .@map$,7,351,17,387,"Marin",1242,5,.@label$;
- areamonster .@map$,7,351,17,387,"Poporing",1031,5,.@label$;
- areamonster .@map$,7,351,17,387,"Drops",1113,5,.@label$;
- areamonster .@map$,7,351,17,387,"Mastering",1090,1,.@label$;
- areamonster .@map$,7,351,17,387,"Poring",1002,5,.@label$;
+ areamonster(.@map$, 7, 351, 17, 387, _("Metaling"), METALING, 15, .@label$);
+ areamonster(.@map$, 7, 351, 17, 387, _("Marin"), MARIN, 5, .@label$);
+ areamonster(.@map$, 7, 351, 17, 387, _("Poporing"), POPORING, 5, .@label$);
+ areamonster(.@map$, 7, 351, 17, 387, _("Drops"), DROPS, 5, .@label$);
+ areamonster(.@map$, 7, 351, 17, 387, _("Mastering"), MASTERING, 1, .@label$);
+ areamonster(.@map$, 7, 351, 17, 387, _("Poring"), PORING, 5, .@label$);
break;
case 2:
- areamonster .@map$,93,351,103,387,"Desert Wolf",1106,20,.@label$;
- areamonster .@map$,93,351,103,387,"Vagabond Wolf",1092,1,.@label$;
- areamonster .@map$,93,351,103,387,"Baby Desert Wolf",1107,10,.@label$;
+ areamonster(.@map$, 93, 351, 103, 387, _("Desert Wolf"), DESERT_WOLF, 20, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Vagabond Wolf"), VAGABOND_WOLF, 1, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Baby Desert Wolf"), DESERT_WOLF_B, 10, .@label$);
break;
case 3:
- areamonster .@map$,181,351,191,387,"Archer Skeleton",1016,5,.@label$;
- areamonster .@map$,181,351,191,387,"Skel Worker",1169,5,.@label$;
- areamonster .@map$,181,351,191,387,"Soldier Skeleton",1028,5,.@label$;
- areamonster .@map$,181,351,191,387,"Orc Skeleton",1152,5,.@label$;
- areamonster .@map$,181,351,191,387,"Pirate Skeleton",1071,5,.@label$;
- areamonster .@map$,181,351,191,387,"Skeleton",1076,5,.@label$;
+ areamonster(.@map$, 181, 351, 191, 387, _("Archer Skeleton"), ARCHER_SKELETON, 5, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Skel Worker"), SKEL_WORKER, 5, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Soldier Skeleton"), SOLDIER_SKELETON, 5, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Orc Skeleton"), ORC_SKELETON, 5, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Pirate Skeleton"), PIRATE_SKEL, 5, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Skeleton"), SKELETON, 5, .@label$);
break;
case 4:
- areamonster .@map$,267,351,277,387,"Argiope",1099,15,.@label$;
- areamonster .@map$,267,351,277,387,"Mantis",1139,5,.@label$;
- areamonster .@map$,267,351,277,387,"Argos",1100,5,.@label$;
- areamonster .@map$,267,351,277,387,"Vocal",1088,1,.@label$;
- areamonster .@map$,267,351,277,387,"Rocker",1052,5,.@label$;
- areamonster .@map$,267,351,277,387,"Hornet",1004,5,.@label$;
+ areamonster(.@map$, 267, 351, 277, 387, _("Argiope"), ARGIOPE, 15, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Mantis"), MANTIS, 5, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Argos"), ARGOS, 5, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Vocal"), VOCAL, 1, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Rocker"), ROCKER, 5, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Hornet"), HORNET, 5, .@label$);
break;
case 5:
- areamonster .@map$,352,351,362,387,"Golden Thief Bug",1086,1,.@label$;
- areamonster .@map$,352,351,362,387,"Thief Bug Male",1054,15,.@label$;
- areamonster .@map$,352,351,362,387,"Thief Bug Female",1053,15,.@label$;
- areamonster .@map$,352,351,362,387,"Thief Bug",1051,15,.@label$;
- areamonster .@map$,352,351,362,387,"Thief Bug Egg",1048,5,.@label$;
+ areamonster(.@map$, 352, 351, 362, 387, _("Golden Thief Bug"), GOLDEN_BUG, 1, .@label$);
+ areamonster(.@map$, 352, 351, 362, 387, _("Thief Bug Male"), THIEF_BUG__, 15, .@label$);
+ areamonster(.@map$, 352, 351, 362, 387, _("Thief Bug Female"), THIEF_BUG_, 15, .@label$);
+ areamonster(.@map$, 352, 351, 362, 387, _("Thief Bug"), THIEF_BUG, 15, .@label$);
+ areamonster(.@map$, 352, 351, 362, 387, _("Thief Bug Egg"), THIEF_BUG_EGG, 5, .@label$);
break;
case 6:
- areamonster .@map$,9,267,19,303,"Dragon Egg",1721,5,.@label$;
- areamonster .@map$,9,267,19,303,"Thief Bug Egg",1048,5,.@label$;
- areamonster .@map$,9,267,19,303,"Ant Egg",1097,5,.@label$;
- areamonster .@map$,9,267,19,303,"Pupa",1008,5,.@label$;
+ areamonster(.@map$, 9, 267, 19, 303, _("Dragon Egg"), DRAGON_EGG, 5, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Thief Bug Egg"), THIEF_BUG_EGG, 5, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Ant Egg"), ANT_EGG, 5, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Pupa"), PUPA, 5, .@label$);
break;
case 7:
- areamonster .@map$,93,267,103,303,"Explosion",1383,15,.@label$;
- areamonster .@map$,93,267,103,303,"Drainliar",1111,15,.@label$;
- areamonster .@map$,93,267,103,303,"Anopheles",1627,15,.@label$;
- areamonster .@map$,93,267,103,303,"Farmiliar",1005,15,.@label$;
+ areamonster(.@map$, 93, 267, 103, 303, _("Explosion"), EXPLOSION, 15, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Drainliar"), DRAINLIAR, 15, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Anopheles"), ANOPHELES, 15, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Farmiliar"), FARMILIAR, 15, .@label$);
break;
case 8:
- areamonster .@map$,181,267,191,303,"Firelock Soldier",1403,15,.@label$;
- areamonster .@map$,181,267,191,303,"Cruiser",1248,15,.@label$;
+ areamonster(.@map$, 181, 267, 191, 303, _("Firelock Soldier"), ANTIQUE_FIRELOCK, 15, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Cruiser"), CRUISER, 15, .@label$);
break;
case 9:
- areamonster .@map$,267,267,277,303,"Obsidian",1615,15,.@label$;
- areamonster .@map$,267,267,277,303,"Golem",1040,15,.@label$;
- areamonster .@map$,267,267,277,303,"Stapo",1784,10,.@label$;
+ areamonster(.@map$, 267, 267, 277, 303, _("Obsidian"), OBSIDIAN, 15, .@label$);
+ areamonster(.@map$, 267, 267, 277, 303, _("Golem"), GOLEM, 15, .@label$);
+ areamonster(.@map$, 267, 267, 277, 303, _("Stapo"), STAPO, 10, .@label$);
break;
case 10:
- areamonster .@map$,352,267,362,303,"Mistress",1059,1,.@label$;
- areamonster .@map$,352,267,362,303,"Giant Hornet",1303,25,.@label$;
- areamonster .@map$,352,267,362,303,"Hornet",1004,20,.@label$;
+ areamonster(.@map$, 352, 267, 362, 303, _("Mistress"), MISTRESS, 1, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Giant Hornet"), GIANT_HONET, 25, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Hornet"), HORNET, 20, .@label$);
break;
case 11:
- areamonster .@map$,9,180,19,216,"Dryad",1493,15,.@label$;
- areamonster .@map$,9,180,19,216,"Parasite",1500,15,.@label$;
- areamonster .@map$,9,180,19,216,"Hermit Plant",1413,15,.@label$;
- areamonster .@map$,9,180,19,216,"Rafflesia",1162,5,.@label$;
+ areamonster(.@map$, 9, 180, 19, 216, _("Dryad"), DRYAD, 15, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Parasite"), PARASITE, 15, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Hermit Plant"), WILD_GINSENG, 15, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Rafflesia"), RAFFLESIA, 5, .@label$);
break;
case 12:
- areamonster .@map$,93,180,103,216,"Demon Pungus",1378,25,.@label$;
- areamonster .@map$,93,180,103,216,"Punk",1199,25,.@label$;
+ areamonster(.@map$, 93, 180, 103, 216, _("Demon Pungus"), DEMON_PUNGUS, 25, .@label$);
+ areamonster(.@map$, 93, 180, 103, 216, _("Punk"), PUNK, 25, .@label$);
break;
case 13:
- areamonster .@map$,181,180,191,216,"Yao Yun",1512,15,.@label$;
- areamonster .@map$,181,180,191,216,"Bongunn",1188,15,.@label$;
- areamonster .@map$,181,180,191,216,"Munak",1026,10,.@label$;
+ areamonster(.@map$, 181, 180, 191, 216, _("Yao Yun"), HYEGUN, 15, .@label$);
+ areamonster(.@map$, 181, 180, 191, 216, _("Bongunn"), BON_GUN, 15, .@label$);
+ areamonster(.@map$, 181, 180, 191, 216, _("Munak"), MUNAK, 10, .@label$);
break;
case 14:
- areamonster .@map$,267,180,277,216,"High Orc",1213,15,.@label$;
- areamonster .@map$,267,180,277,216,"Orc Archer",1189,10,.@label$;
- areamonster .@map$,267,180,277,216,"Orc Lady",1273,10,.@label$;
- areamonster .@map$,267,180,277,216,"Orc Warrior",1023,5,.@label$;
- areamonster .@map$,267,180,277,216,"Orc Baby",1686,5,.@label$;
+ areamonster(.@map$, 267, 180, 277, 216, _("High Orc"), HIGH_ORC, 15, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Orc Archer"), ORC_ARCHER, 10, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Orc Lady"), ORC_LADY, 10, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Orc Warrior"), ORK_WARRIOR, 5, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Orc Baby"), ORC_BABY, 5, .@label$);
break;
case 15:
- areamonster .@map$,352,180,362,216,"Maya",1147,1,.@label$;
- areamonster .@map$,352,180,362,216,"Phreeoni",1159,1,.@label$;
- areamonster .@map$,352,180,362,216,"Deniro",1105,15,.@label$;
- areamonster .@map$,352,180,362,216,"Pierre",1160,15,.@label$;
- areamonster .@map$,352,180,362,216,"Andre",1095,15,.@label$;
- areamonster .@map$,352,180,362,216,"Ant Egg",1097,5,.@label$;
+ areamonster(.@map$, 352, 180, 362, 216, _("Maya"), MAYA, 1, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Phreeoni"), PHREEONI, 1, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Deniro"), DENIRO, 15, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Pierre"), PIERE, 15, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Andre"), ANDRE, 15, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Ant Egg"), ANT_EGG, 5, .@label$);
break;
case 16:
- areamonster .@map$,9,96,19,132,"Raydric Archer",1276,10,.@label$;
- areamonster .@map$,9,96,19,132,"Orc Archer",1189,10,.@label$;
- areamonster .@map$,9,96,19,132,"Gargoyle",1253,10,.@label$;
- areamonster .@map$,9,96,19,132,"Archer Skeleton",1016,10,.@label$;
+ areamonster(.@map$, 9, 96, 19, 132, _("Raydric Archer"), RAYDRIC_ARCHER, 10, .@label$);
+ areamonster(.@map$, 9, 96, 19, 132, _("Orc Archer"), ORC_ARCHER, 10, .@label$);
+ areamonster(.@map$, 9, 96, 19, 132, _("Gargoyle"), GARGOYLE, 10, .@label$);
+ areamonster(.@map$, 9, 96, 19, 132, _("Archer Skeleton"), ARCHER_SKELETON, 10, .@label$);
break;
case 17:
- areamonster .@map$,93,96,103,132,"Merman",1264,10,.@label$;
- areamonster .@map$,93,96,103,132,"Baphomet Jr.",1101,10,.@label$;
- areamonster .@map$,93,96,103,132,"Strouf",1065,15,.@label$;
- areamonster .@map$,93,96,103,132,"Hill Wind",1629,5,.@label$;
+ areamonster(.@map$, 93, 96, 103, 132, _("Merman"), MERMAN, 10, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Baphomet Jr."), BAPHOMET_, 10, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Strouf"), STROUF, 15, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Hill Wind"), HILL_WIND, 5, .@label$);
break;
case 18:
- areamonster .@map$,181,96,191,132,"Cramp",1209,25,.@label$;
- areamonster .@map$,181,96,191,132,"Tarou",1175,15,.@label$;
+ areamonster(.@map$, 181, 96, 191, 132, _("Cramp"), CRAMP, 25, .@label$);
+ areamonster(.@map$, 181, 96, 191, 132, _("Tarou"), TAROU, 15, .@label$);
break;
case 19:
- areamonster .@map$,267,96,277,132,"Deviace",1108,10,.@label$;
- areamonster .@map$,267,96,277,132,"Megalodon",1064,10,.@label$;
- areamonster .@map$,267,96,277,132,"Swordfish",1069,10,.@label$;
- areamonster .@map$,267,96,277,132,"Phen",1158,10,.@label$;
+ areamonster(.@map$, 267, 96, 277, 132, _("Deviace"), DEVIACE, 10, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("Megalodon"), MEGALODON, 10, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("Swordfish"), SWORD_FISH, 10, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("Phen"), PHEN, 10, .@label$);
break;
case 20:
- areamonster .@map$,352,96,362,132,"Drake",1112,1,.@label$;
- areamonster .@map$,352,96,362,132,"Pirate Skeleton",1071,50,.@label$;
+ areamonster(.@map$, 352, 96, 362, 132, _("Drake"), DRAKE, 1, .@label$);
+ areamonster(.@map$, 352, 96, 362, 132, _("Pirate Skeleton"), PIRATE_SKEL, 50, .@label$);
break;
case 21:
- areamonster .@map$,9,9,19,45,"Plasma",1693,10,.@label$;
- areamonster .@map$,9,9,19,45,"Plasma",1696,10,.@label$;
- areamonster .@map$,9,9,19,45,"Plasma",1695,5,.@label$;
- areamonster .@map$,9,9,19,45,"Plasma",1697,5,.@label$;
- areamonster .@map$,9,9,19,45,"Plasma",1694,5,.@label$;
+ areamonster(.@map$, 9, 9, 19, 45, _("Plasma"), PLASMA_Y, 10, .@label$);
+ areamonster(.@map$, 9, 9, 19, 45, _("Plasma"), PLASMA_P, 10, .@label$);
+ areamonster(.@map$, 9, 9, 19, 45, _("Plasma"), PLASMA_G, 5, .@label$);
+ areamonster(.@map$, 9, 9, 19, 45, _("Plasma"), PLASMA_B, 5, .@label$);
+ areamonster(.@map$, 9, 9, 19, 45, _("Plasma"), PLASMA_R, 5, .@label$);
break;
case 22:
- areamonster .@map$,93,9,103,45,"Muscipular",1780,15,.@label$;
- areamonster .@map$,93,9,103,45,"Drosera",1781,15,.@label$;
- areamonster .@map$,93,9,103,45,"Flora",1118,15,.@label$;
- areamonster .@map$,93,9,103,45,"Hydra",1068,15,.@label$;
- areamonster .@map$,93,9,103,45,"Mandragora",1020,10,.@label$;
- areamonster .@map$,93,9,103,45,"Rafflesia",1162,10,.@label$;
+ areamonster(.@map$, 93, 9, 103, 45, _("Muscipular"), MUSCIPULAR, 15, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Drosera"), DROSERA, 15, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Flora"), FLORA, 15, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Hydra"), HYDRA, 15, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Mandragora"), MANDRAGORA, 10, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Rafflesia"), RAFFLESIA, 10, .@label$);
break;
case 23:
- areamonster .@map$,181,9,191,45,"Penomena",1216,15,.@label$;
- areamonster .@map$,181,9,191,45,"Obeaune",1044,10,.@label$;
- areamonster .@map$,181,9,191,45,"Marse",1144,10,.@label$;
- areamonster .@map$,181,9,191,45,"Swordfish",1069,10,.@label$;
- areamonster .@map$,181,9,191,45,"Hydra",1068,5,.@label$;
+ areamonster(.@map$, 181, 9, 191, 45, _("Penomena"), PENOMENA, 15, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Obeaune"), OBEAUNE, 10, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Marse"), MARSE, 10, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Swordfish"), SWORD_FISH, 10, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Hydra"), HYDRA, 5, .@label$);
break;
case 24:
- areamonster .@map$,267,9,277,45,"Joker",1131,15,.@label$;
- areamonster .@map$,267,9,277,45,"Carat",1267,15,.@label$;
- areamonster .@map$,267,9,277,45,"Jakk",1130,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Joker"), JOKER, 15, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Carat"), CARAT, 15, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Jakk"), JAKK, 10, .@label$);
break;
case 25:
- areamonster .@map$,352,9,362,45,"Cat o' Nine Tails",1307,15,.@label$;
- areamonster .@map$,352,9,362,45,"Moonlight",1150,1,.@label$;
- areamonster .@map$,352,9,362,45,"Nine Tail",1180,15,.@label$;
+ areamonster(.@map$, 352, 9, 362, 45, _("Cat o' Nine Tails"), CAT_O_NINE_TAIL, 15, .@label$);
+ areamonster(.@map$, 352, 9, 362, 45, _("Moonlight"), MOONLIGHT, 1, .@label$);
+ areamonster(.@map$, 352, 9, 362, 45, _("Nine Tail"), NINE_TAIL, 15, .@label$);
break;
case 26:
- areamonster .@map$,9,351,19,387,"Gibbet",1503,10,.@label$;
- areamonster .@map$,9,351,19,387,"Enchanted Peach Tree",1410,10,.@label$;
- areamonster .@map$,9,351,19,387,"Wooden Golem",1497,10,.@label$;
- areamonster .@map$,9,351,19,387,"Stone Shooter",1495,10,.@label$;
- areamonster .@map$,9,351,19,387,"Elder Willow",1033,5,.@label$;
+ areamonster(.@map$, 9, 351, 19, 387, _("Gibbet"), GIBBET, 10, .@label$);
+ areamonster(.@map$, 9, 351, 19, 387, _("Enchanted Peach Tree"), LIVE_PEACH_TREE, 10, .@label$);
+ areamonster(.@map$, 9, 351, 19, 387, _("Wooden Golem"), WOODEN_GOLEM, 10, .@label$);
+ areamonster(.@map$, 9, 351, 19, 387, _("Stone Shooter"), STONE_SHOOTER, 10, .@label$);
+ areamonster(.@map$, 9, 351, 19, 387, _("Elder Willow"), ELDER_WILOW, 5, .@label$);
break;
case 27:
- areamonster .@map$,93,351,103,387,"Goblin Archer",1258,10,.@label$;
- areamonster .@map$,93,351,103,387,"Goblin",1122,10,.@label$;
- areamonster .@map$,93,351,103,387,"Goblin",1123,5,.@label$;
- areamonster .@map$,93,351,103,387,"Goblin",1124,5,.@label$;
- areamonster .@map$,93,351,103,387,"Gobin",1125,5,.@label$;
- areamonster .@map$,93,351,103,387,"Goblin",1126,5,.@label$;
+ areamonster(.@map$, 93, 351, 103, 387, _("Goblin Archer"), GOBLIN_ARCHER, 10, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Goblin"), GOBLIN_1, 10, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Goblin"), GOBLIN_2, 5, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Goblin"), GOBLIN_3, 5, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Gobin"), GOBLIN_4, 5, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Goblin"), GOBLIN_5, 5, .@label$);
break;
case 28:
- areamonster .@map$,181,351,191,387,"Arclouse",1194,30,.@label$;
- areamonster .@map$,181,351,191,387,"Neraid",1255,15,.@label$;
- areamonster .@map$,181,351,191,387,"Pest",1256,15,.@label$;
- areamonster .@map$,181,351,191,387,"Kukre",1070,10,.@label$;
+ areamonster(.@map$, 181, 351, 191, 387, _("Arclouse"), ARCLOUSE, 30, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Neraid"), NERAID, 15, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Pest"), PEST, 15, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Kukre"), KUKRE, 10, .@label$);
break;
case 29:
- areamonster .@map$,267,351,277,387,"Dark Frame",1260,10,.@label$;
- areamonster .@map$,267,351,277,387,"The Paper",1375,10,.@label$;
- areamonster .@map$,267,351,277,387,"Hylozoist",1510,10,.@label$;
- areamonster .@map$,267,351,277,387,"Quve",1508,5,.@label$;
- areamonster .@map$,267,351,277,387,"Lude",1509,5,.@label$;
- areamonster .@map$,267,351,277,387,"Whisper",1179,10,.@label$;
+ areamonster(.@map$, 267, 351, 277, 387, _("Dark Frame"), DARK_FRAME, 10, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("The Paper"), THE_PAPER, 10, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Hylozoist"), HYLOZOIST, 10, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Quve"), QUVE, 5, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Lude"), LUDE, 5, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Whisper"), WHISPER, 10, .@label$);
break;
case 30:
- areamonster .@map$,352,351,362,387,"White Lady",1630,1,.@label$;
- areamonster .@map$,352,351,362,387,"Evil Nymph",1416,30,.@label$;
+ areamonster(.@map$, 352, 351, 362, 387, _("White Lady"), BACSOJIN_, 1, .@label$);
+ areamonster(.@map$, 352, 351, 362, 387, _("Evil Nymph"), WICKED_NYMPH, 30, .@label$);
break;
case 31:
- areamonster .@map$,9,267,19,303,"Gig",1387,20,.@label$;
- areamonster .@map$,9,267,19,303,"Iron Fist",1212,15,.@label$;
- areamonster .@map$,9,267,19,303,"Argiope",1099,10,.@label$;
- areamonster .@map$,9,267,19,303,"Scorpion",1001,5,.@label$;
+ areamonster(.@map$, 9, 267, 19, 303, _("Gig"), GIG, 20, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Iron Fist"), IRON_FIST, 15, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Argiope"), ARGIOPE, 10, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Scorpion"), SCORPION, 5, .@label$);
break;
case 32:
- areamonster .@map$,93,267,103,303,"Goblin Leader",1299,1,.@label$;
- areamonster .@map$,93,267,103,303,"Goblin Archer",1258,10,.@label$;
- areamonster .@map$,93,267,103,303,"Goblin",1122,10,.@label$;
- areamonster .@map$,93,267,103,303,"Goblin",1123,5,.@label$;
- areamonster .@map$,93,267,103,303,"Goblin",1124,5,.@label$;
- areamonster .@map$,93,267,103,303,"Goblin",1125,5,.@label$;
- areamonster .@map$,93,267,103,303,"Goblin",1126,5,.@label$;
+ areamonster(.@map$, 93, 267, 103, 303, _("Goblin Leader"), GOBLIN_LEADER, 1, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Goblin Archer"), GOBLIN_ARCHER, 10, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Goblin"), GOBLIN_1, 10, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Goblin"), GOBLIN_2, 5, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Goblin"), GOBLIN_3, 5, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Goblin"), GOBLIN_4, 5, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Goblin"), GOBLIN_5, 5, .@label$);
break;
case 33:
- areamonster .@map$,181,267,191,303,"Kobold Leader",1296,1,.@label$;
- areamonster .@map$,181,267,191,303,"Kobold",1133,15,.@label$;
- areamonster .@map$,181,267,191,303,"Kobold_Archer",1282,15,.@label$;
- areamonster .@map$,181,267,191,303,"Kobold",1134,10,.@label$;
- areamonster .@map$,181,267,191,303,"Kobold",1135,5,.@label$;
+ areamonster(.@map$, 181, 267, 191, 303, _("Kobold Leader"), KOBOLD_LEADER, 1, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Kobold"), KOBOLD_1, 15, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Kobold_Archer"), KOBOLD_ARCHER, 15, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Kobold"), KOBOLD_2, 10, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Kobold"), KOBOLD_3, 5, .@label$);
break;
case 34:
- areamonster .@map$,267,267,277,303,"Flame Skull",1869,20,.@label$;
- areamonster .@map$,267,267,277,303,"Whisper",1179,10,.@label$;
- areamonster .@map$,267,267,277,303,"Giant Whisper",1186,10,.@label$;
+ areamonster(.@map$, 267, 267, 277, 303, _("Flame Skull"), FLAME_SKULL, 20, .@label$);
+ areamonster(.@map$, 267, 267, 277, 303, _("Whisper"), WHISPER, 10, .@label$);
+ areamonster(.@map$, 267, 267, 277, 303, _("Giant Whisper"), WHISPER_BOSS, 10, .@label$);
break;
case 35:
- areamonster .@map$,352,267,362,303,"Turtle General",1312,1,.@label$;
- areamonster .@map$,352,267,362,303,"Freezer",1319,10,.@label$;
- areamonster .@map$,352,267,362,303,"Solider",1316,10,.@label$;
- areamonster .@map$,352,267,362,303,"Heater",1318,10,.@label$;
- areamonster .@map$,352,267,362,303,"Permeter",1314,10,.@label$;
+ areamonster(.@map$, 352, 267, 362, 303, _("Turtle General"), TURTLE_GENERAL, 1, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Freezer"), FREEZER, 10, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Solider"), SOLIDER, 10, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Heater"), HEATER, 10, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Permeter"), PERMETER, 10, .@label$);
break;
case 36:
- areamonster .@map$,9,180,19,216,"Anolian",1206,30,.@label$;
- areamonster .@map$,9,180,19,216,"Grove",1687,10,.@label$;
- areamonster .@map$,9,180,19,216,"Alligator",1271,10,.@label$;
+ areamonster(.@map$, 9, 180, 19, 216, _("Anolian"), ANOLIAN, 30, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Grove"), GREEN_IGUANA, 10, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Alligator"), ALLIGATOR, 10, .@label$);
break;
case 37:
- areamonster .@map$,93,180,103,216,"Clock Tower Manager",1270,10,.@label$;
- areamonster .@map$,93,180,103,216,"Clock",1269,10,.@label$;
- areamonster .@map$,93,180,103,216,"Alarm",1193,30,.@label$;
+ areamonster(.@map$, 93, 180, 103, 216, _("Clock Tower Manager"), C_TOWER_MANAGER, 10, .@label$);
+ areamonster(.@map$, 93, 180, 103, 216, _("Clock"), CLOCK, 10, .@label$);
+ areamonster(.@map$, 93, 180, 103, 216, _("Alarm"), ALARM, 30, .@label$);
break;
case 38:
- areamonster .@map$,181,180,191,216,"Death Word",1698,25,.@label$;
- areamonster .@map$,181,180,191,216,"Rideword",1195,25,.@label$;
+ areamonster(.@map$, 181, 180, 191, 216, _("Death Word"), DEATHWORD, 25, .@label$);
+ areamonster(.@map$, 181, 180, 191, 216, _("Rideword"), RIDEWORD, 25, .@label$);
break;
case 39:
- areamonster .@map$,267,180,277,216,"Evil Nymph",1416,10,.@label$;
- areamonster .@map$,267,180,277,216,"Mao Gui",1513,10,.@label$;
- areamonster .@map$,267,180,277,216,"Taoist Hermit",1412,10,.@label$;
- areamonster .@map$,267,180,277,216,"Zhu Po Long",1514,10,.@label$;
- areamonster .@map$,267,180,277,216,"Jin Guai",1517,5,.@label$;
+ areamonster(.@map$, 267, 180, 277, 216, _("Evil Nymph"), WICKED_NYMPH, 10, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Mao Gui"), CIVIL_SERVANT, 10, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Taoist Hermit"), EVIL_CLOUD_HERMIT, 10, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Zhu Po Long"), DANCING_DRAGON, 10, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Jin Guai"), LI_ME_MANG_RYANG, 5, .@label$);
break;
case 40:
- areamonster .@map$,352,180,362,216,"Samurai Specter",1492,1,.@label$;
- areamonster .@map$,352,180,362,216,"Shinobi",1401,10,.@label$;
- areamonster .@map$,352,180,362,216,"Tengu",1405,10,.@label$;
- areamonster .@map$,352,180,362,216,"Firelock Soldier",1403,5,.@label$;
- areamonster .@map$,352,180,362,216,"Miyabi Doll",1404,10,.@label$;
- areamonster .@map$,352,180,362,216,"Karakasa",1400,5,.@label$;
+ areamonster(.@map$, 352, 180, 362, 216, _("Samurai Specter"), INCANTATION_SAMURAI, 1, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Shinobi"), SHINOBI, 10, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Tengu"), TENGU, 10, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Firelock Soldier"), ANTIQUE_FIRELOCK, 5, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Miyabi Doll"), MIYABI_NINGYO, 10, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Karakasa"), KARAKASA, 5, .@label$);
break;
case 41:
- areamonster .@map$,9,96,19,132,"Kraben",1587,50,.@label$;
+ areamonster(.@map$, 9, 96, 19, 132, _("Kraben"), KRABEN, 50, .@label$);
break;
case 42:
- areamonster .@map$,93,96,103,132,"Sleeper",1386,20,.@label$;
- areamonster .@map$,93,96,103,132,"Sting",1207,10,.@label$;
- areamonster .@map$,93,96,103,132,"Mi Gao",1516,10,.@label$;
- areamonster .@map$,93,96,103,132,"Sandman",1165,5,.@label$;
- areamonster .@map$,93,96,103,132,"Hode",1127,5,.@label$;
+ areamonster(.@map$, 93, 96, 103, 132, _("Sleeper"), SLEEPER, 20, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Sting"), STING, 10, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Mi Gao"), INCREASE_SOIL, 10, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Sandman"), SAND_MAN, 5, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Hode"), HODE, 5, .@label$);
break;
case 43:
- areamonster .@map$,181,96,191,132,"Medusa",1148,10,.@label$;
- areamonster .@map$,181,96,191,132,"Sidewinder",1037,40,.@label$;
- areamonster .@map$,181,96,191,132,"Anacondaq",1030,5,.@label$;
- areamonster .@map$,181,96,191,132,"Boa",1025,5,.@label$;
+ areamonster(.@map$, 181, 96, 191, 132, _("Medusa"), MEDUSA, 10, .@label$);
+ areamonster(.@map$, 181, 96, 191, 132, _("Sidewinder"), SIDE_WINDER, 40, .@label$);
+ areamonster(.@map$, 181, 96, 191, 132, _("Anacondaq"), ANACONDAQ, 5, .@label$);
+ areamonster(.@map$, 181, 96, 191, 132, _("Boa"), SNAKE, 5, .@label$);
break;
case 44:
- areamonster .@map$,267,96,277,132,"Hatii Baby",1515,20,.@label$;
- areamonster .@map$,267,96,277,132,"Baphomet Jr.",1101,20,.@label$;
- areamonster .@map$,267,96,277,132,"Orc Baby",1686,1,.@label$;
- areamonster .@map$,267,96,277,132,"Baby Desert Wolf",1107,10,.@label$;
- areamonster .@map$,267,96,277,132,"Savage Babe",1167,10,.@label$;
+ areamonster(.@map$, 267, 96, 277, 132, _("Hatii Baby"), GARM_BABY, 20, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("Baphomet Jr."), BAPHOMET_, 20, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("Orc Baby"), ORC_BABY, 1, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("Baby Desert Wolf"), DESERT_WOLF_B, 10, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("Savage Babe"), SAVAGE_BABE, 10, .@label$);
break;
case 45:
- areamonster .@map$,352,96,362,132,"Osiris",1038,1,.@label$;
- areamonster .@map$,352,96,362,132,"Ancient Mummy",1297,15,.@label$;
- areamonster .@map$,352,96,362,132,"Verit",1032,15,.@label$;
- areamonster .@map$,352,96,362,132,"Mummy",1041,20,.@label$;
+ areamonster(.@map$, 352, 96, 362, 132, _("Osiris"), OSIRIS, 1, .@label$);
+ areamonster(.@map$, 352, 96, 362, 132, _("Ancient Mummy"), ANCIENT_MUMMY, 15, .@label$);
+ areamonster(.@map$, 352, 96, 362, 132, _("Verit"), VERIT, 15, .@label$);
+ areamonster(.@map$, 352, 96, 362, 132, _("Mummy"), MUMMY, 20, .@label$);
break;
case 46:
- areamonster .@map$,9,9,19,45,"Seeker",1774,20,.@label$;
- areamonster .@map$,9,9,19,45,"Beholder",1633,20,.@label$;
+ areamonster(.@map$, 9, 9, 19, 45, _("Seeker"), SEEKER, 20, .@label$);
+ areamonster(.@map$, 9, 9, 19, 45, _("Beholder"), BEHOLDER, 20, .@label$);
break;
case 47:
- areamonster .@map$,93,9,103,45,"Deleter",1384,20,.@label$;
- areamonster .@map$,93,9,103,45,"Deleter",1385,10,.@label$;
- areamonster .@map$,93,9,103,45,"Petite",1156,10,.@label$;
- areamonster .@map$,93,9,103,45,"Petite",1155,10,.@label$;
+ areamonster(.@map$, 93, 9, 103, 45, _("Deleter"), DELETER, 20, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Deleter"), DELETER_, 10, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Petite"), PETIT_, 10, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Petite"), PETIT, 10, .@label$);
break;
case 48:
- areamonster .@map$,181,9,191,45,"Ancient Worm",1305,10,.@label$;
- areamonster .@map$,181,9,191,45,"Ancient Mummy",1297,10,.@label$;
- areamonster .@map$,181,9,191,45,"Ancient Mimic",1699,10,.@label$;
+ areamonster(.@map$, 181, 9, 191, 45, _("Ancient Worm"), ANCIENT_WORM, 10, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Ancient Mummy"), ANCIENT_MUMMY, 10, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Ancient Mimic"), ANCIENT_MIMIC, 10, .@label$);
break;
case 49:
- areamonster .@map$,267,9,277,45,"Grizzly",1381,20,.@label$;
- areamonster .@map$,267,9,277,45,"Leib Olmai",1306,7,.@label$;
- areamonster .@map$,267,9,277,45,"Zipper Bear",1417,5,.@label$;
- areamonster .@map$,267,9,277,45,"Sasquatch",1243,5,.@label$;
- areamonster .@map$,267,9,277,45,"Bigfoot",1060,5,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Grizzly"), GRIZZLY, 20, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Leib Olmai"), LEIB_OLMAI, 7, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Zipper Bear"), ZIPPER_BEAR, 5, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Sasquatch"), SASQUATCH, 5, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Bigfoot"), BIGFOOT, 5, .@label$);
break;
case 50:
- areamonster .@map$,352,9,362,45,"Pharaoh",1157,1,.@label$;
- areamonster .@map$,352,9,362,45,"Amon Ra",1511,1,.@label$;
- areamonster .@map$,352,9,362,45,"Anubis",1098,10,.@label$;
- areamonster .@map$,352,9,362,45,"Marduk",1140,10,.@label$;
- areamonster .@map$,352,9,362,45,"Matyr",1146,10,.@label$;
+ areamonster(.@map$, 352, 9, 362, 45, _("Pharaoh"), PHARAOH, 1, .@label$);
+ areamonster(.@map$, 352, 9, 362, 45, _("Amon Ra"), AMON_RA, 1, .@label$);
+ areamonster(.@map$, 352, 9, 362, 45, _("Anubis"), ANUBIS, 10, .@label$);
+ areamonster(.@map$, 352, 9, 362, 45, _("Marduk"), MARDUK, 10, .@label$);
+ areamonster(.@map$, 352, 9, 362, 45, _("Matyr"), MATYR, 10, .@label$);
break;
case 51:
- areamonster .@map$,9,351,19,387,"Mini Demon",1292,20,.@label$;
- areamonster .@map$,9,351,19,387,"Diabolic",1382,20,.@label$;
- areamonster .@map$,9,351,19,387,"Deviruchi",1109,10,.@label$;
+ areamonster(.@map$, 9, 351, 19, 387, _("Mini Demon"), MINI_DEMON, 20, .@label$);
+ areamonster(.@map$, 9, 351, 19, 387, _("Diabolic"), DIABOLIC, 20, .@label$);
+ areamonster(.@map$, 9, 351, 19, 387, _("Deviruchi"), DEVIRUCHI, 10, .@label$);
break;
case 52:
- areamonster .@map$,93,351,103,387,"Harpy",1376,20,.@label$;
- areamonster .@map$,93,351,103,387,"Grand Peco",1369,10,.@label$;
- areamonster .@map$,93,351,103,387,"Bloody Butterfly",1408,10,.@label$;
- areamonster .@map$,93,351,103,387,"Gargoyle",1253,10,.@label$;
- areamonster .@map$,93,351,103,387,"Hill Wind",1680,5,.@label$;
- areamonster .@map$,93,351,103,387,"Hill Wind",1629,5,.@label$;
+ areamonster(.@map$, 93, 351, 103, 387, _("Harpy"), HARPY, 20, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Grand Peco"), GRAND_PECO, 10, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Bloody Butterfly"), BLOOD_BUTTERFLY, 10, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Gargoyle"), GARGOYLE, 10, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Hill Wind"), HILL_WIND_1, 5, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Hill Wind"), HILL_WIND, 5, .@label$);
break;
case 53:
- areamonster .@map$,181,351,191,387,"Assaulter",1315,25,.@label$;
- areamonster .@map$,181,351,191,387,"Shinobi",1401,30,.@label$;
+ areamonster(.@map$, 181, 351, 191, 387, _("Assaulter"), ASSULTER, 25, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Shinobi"), SHINOBI, 30, .@label$);
break;
case 54:
- areamonster .@map$,267,351,277,387,"Chepet",1250,10,.@label$;
- areamonster .@map$,267,351,277,387,"Mariontte",1143,10,.@label$;
- areamonster .@map$,267,351,277,387,"Miyabi Doll",1404,10,.@label$;
+ areamonster(.@map$, 267, 351, 277, 387, _("Chepet"), CHEPET, 10, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Mariontte"), MARIONETTE, 10, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Miyabi Doll"), MIYABI_NINGYO, 10, .@label$);
break;
case 55:
- areamonster .@map$,352,351,362,387,"Medusa",1148,25,.@label$;
- areamonster .@map$,352,351,362,387,"Evil Snake Lord",1418,1,.@label$;
- areamonster .@map$,352,351,362,387,"Isis",1029,15,.@label$;
- areamonster .@map$,352,351,362,387,"Sidewinder",1037,15,.@label$;
+ areamonster(.@map$, 352, 351, 362, 387, _("Medusa"), MEDUSA, 25, .@label$);
+ areamonster(.@map$, 352, 351, 362, 387, _("Evil Snake Lord"), DARK_SNAKE_LORD, 1, .@label$);
+ areamonster(.@map$, 352, 351, 362, 387, _("Isis"), ISIS, 15, .@label$);
+ areamonster(.@map$, 352, 351, 362, 387, _("Sidewinder"), SIDE_WINDER, 15, .@label$);
break;
case 56:
- areamonster .@map$,9,267,19,303,"Freezer",1319,10,.@label$;
- areamonster .@map$,9,267,19,303,"Hatii Baby",1515,10,.@label$;
- areamonster .@map$,9,267,19,303,"Ice Titan",1777,15,.@label$;
- areamonster .@map$,9,267,19,303,"Snowier",1775,10,.@label$;
- areamonster .@map$,9,267,19,303,"Gazeti",1778,10,.@label$;
+ areamonster(.@map$, 9, 267, 19, 303, _("Freezer"), FREEZER, 10, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Hatii Baby"), GARM_BABY, 10, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Ice Titan"), ICE_TITAN, 15, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Snowier"), SNOWIER, 10, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Gazeti"), GAZETI, 10, .@label$);
break;
case 57:
- areamonster .@map$,93,267,103,303,"Arc Angeling",1388,1,.@label$;
- areamonster .@map$,93,267,103,303,"Deviling",1582,1,.@label$;
- areamonster .@map$,93,267,103,303,"Angeling",1096,1,.@label$;
- areamonster .@map$,93,267,103,303,"Ghostring",1120,1,.@label$;
- areamonster .@map$,93,267,103,303,"Mastering",1090,1,.@label$;
- areamonster .@map$,93,267,103,303,"Metaling",1613,25,.@label$;
- areamonster .@map$,93,267,103,303,"Marin",1242,5,.@label$;
- areamonster .@map$,93,267,103,303,"Poporing",1031,5,.@label$;
- areamonster .@map$,93,267,103,303,"Drops",1113,5,.@label$;
+ areamonster(.@map$, 93, 267, 103, 303, _("Arc Angeling"), ARCHANGELING, 1, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Deviling"), DEVILING, 1, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Angeling"), ANGELING, 1, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Ghostring"), GHOSTRING, 1, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Mastering"), MASTERING, 1, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Metaling"), METALING, 25, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Marin"), MARIN, 5, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Poporing"), POPORING, 5, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Drops"), DROPS, 5, .@label$);
break;
case 58:
- areamonster .@map$,181,267,191,303,"Phendark",1202,20,.@label$;
- areamonster .@map$,181,267,191,303,"Rybio",1201,10,.@label$;
- areamonster .@map$,181,267,191,303,"Zombie Prisoner",1197,10,.@label$;
- areamonster .@map$,181,267,191,303,"Skeleton Prisoner",1196,5,.@label$;
- areamonster .@map$,181,267,191,303,"Injustice",1257,5,.@label$;
+ areamonster(.@map$, 181, 267, 191, 303, _("Phendark"), PHENDARK, 20, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Rybio"), RYBIO, 10, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Zombie Prisoner"), ZOMBIE_PRISONER, 10, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Skeleton Prisoner"), SKEL_PRISONER, 5, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Injustice"), INJUSTICE, 5, .@label$);
break;
case 59:
- areamonster .@map$,267,267,277,303,"Ancient Mimic",1699,30,.@label$;
- areamonster .@map$,267,267,277,303,"Mimic",1191,20,.@label$;
- areamonster .@map$,267,267,277,303,"Mystcase",1249,10,.@label$;
+ areamonster(.@map$, 267, 267, 277, 303, _("Ancient Mimic"), ANCIENT_MIMIC, 30, .@label$);
+ areamonster(.@map$, 267, 267, 277, 303, _("Mimic"), MIMIC, 20, .@label$);
+ areamonster(.@map$, 267, 267, 277, 303, _("Mystcase"), MYSTCASE, 10, .@label$);
break;
case 60:
- areamonster .@map$,352,267,362,303,"Egnigem Cenia",1658,1,.@label$;
- areamonster .@map$,352,267,362,303,"Doppelganger",1046,1,.@label$;
- areamonster .@map$,352,267,362,303,"Armeyer Dinze",1654,10,.@label$;
- areamonster .@map$,352,267,362,303,"Wickebine Tres",1653,10,.@label$;
- areamonster .@map$,352,267,362,303,"Laurell Winder",1657,10,.@label$;
- areamonster .@map$,352,267,362,303,"Kavach Icarus",1656,10,.@label$;
- areamonster .@map$,352,267,362,303,"Errende Ebecee",1655,10,.@label$;
- areamonster .@map$,352,267,362,303,"Egnigem Cenia",1652,10,.@label$;
+ areamonster(.@map$, 352, 267, 362, 303, _("Egnigem Cenia"), B_YGNIZEM, 1, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Doppelganger"), DOPPELGANGER, 1, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Armeyer Dinze"), ARMAIA, 10, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Wickebine Tres"), WHIKEBAIN, 10, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Laurell Winder"), RAWREL, 10, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Kavach Icarus"), KAVAC, 10, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Errende Ebecee"), EREND, 10, .@label$);
+ areamonster(.@map$, 352, 267, 362, 303, _("Egnigem Cenia"), YGNIZEM, 10, .@label$);
break;
case 61:
- areamonster .@map$,9,180,19,216,"Agav",1769,10,.@label$;
- areamonster .@map$,9,180,19,216,"Echio",1770,10,.@label$;
- areamonster .@map$,9,180,19,216,"Isilla",1772,5,.@label$;
- areamonster .@map$,9,180,19,216,"Mobster",1313,10,.@label$;
- areamonster .@map$,9,180,19,216,"Pasana",1154,10,.@label$;
- areamonster .@map$,9,180,19,216,"Vanberk",1771,5,.@label$;
+ areamonster(.@map$, 9, 180, 19, 216, _("Agav"), AGAV, 10, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Echio"), ECHIO, 10, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Isilla"), ISILLA, 5, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Mobster"), MOBSTER, 10, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Pasana"), PASANA, 10, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Vanberk"), VANBERK, 5, .@label$);
break;
case 62:
- areamonster .@map$,93,180,103,216,"Wanderer",1208,35,.@label$;
+ areamonster(.@map$, 93, 180, 103, 216, _("Wanderer"), WANDER_MAN, 35, .@label$);
break;
case 63:
- areamonster .@map$,181,180,191,216,"Ragged Zombie",1865,20,.@label$;
- areamonster .@map$,181,180,191,216,"Zombie Master",1298,10,.@label$;
- areamonster .@map$,181,180,191,216,"Zombie Prisoner",1197,5,.@label$;
- areamonster .@map$,181,180,191,216,"Orc Zombie",1153,5,.@label$;
- areamonster .@map$,181,180,191,216,"Zombie",1015,5,.@label$;
+ areamonster(.@map$, 181, 180, 191, 216, _("Ragged Zombie"), RAGGED_ZOMBIE, 20, .@label$);
+ areamonster(.@map$, 181, 180, 191, 216, _("Zombie Master"), ZOMBIE_MASTER, 10, .@label$);
+ areamonster(.@map$, 181, 180, 191, 216, _("Zombie Prisoner"), ZOMBIE_PRISONER, 5, .@label$);
+ areamonster(.@map$, 181, 180, 191, 216, _("Orc Zombie"), ORC_ZOMBIE, 5, .@label$);
+ areamonster(.@map$, 181, 180, 191, 216, _("Zombie"), ZOMBIE, 5, .@label$);
break;
case 64:
- areamonster .@map$,267,180,277,216,"Ungoliant",1618,30,.@label$;
- areamonster .@map$,267,180,277,216,"Ancient Worm",1305,2,.@label$;
- areamonster .@map$,267,180,277,216,"Caterpillar",1300,2,.@label$;
- areamonster .@map$,267,180,277,216,"Creamy Fear",1293,2,.@label$;
- areamonster .@map$,267,180,277,216,"Killer Mantis",1294,2,.@label$;
- areamonster .@map$,267,180,277,216,"Giant Hornet",1303,2,.@label$;
+ areamonster(.@map$, 267, 180, 277, 216, _("Ungoliant"), UNGOLIANT, 30, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Ancient Worm"), ANCIENT_WORM, 2, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Caterpillar"), CATERPILLAR, 2, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Creamy Fear"), CREMY_FEAR, 2, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Killer Mantis"), KILLER_MANTIS, 2, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Giant Hornet"), GIANT_HONET, 2, .@label$);
break;
case 65:
- areamonster .@map$,352,180,362,216,"Atros",1785,1,.@label$;
- areamonster .@map$,352,180,362,216,"Galion",1783,20,.@label$;
+ areamonster(.@map$, 352, 180, 362, 216, _("Atros"), ATROCE, 1, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Galion"), GALION, 20, .@label$);
break;
case 66:
- areamonster .@map$,9,96,19,132,"Incubus",1374,20,.@label$;
- areamonster .@map$,9,96,19,132,"Aliot",1736,20,.@label$;
- areamonster .@map$,9,96,19,132,"Injustice",1257,10,.@label$;
+ areamonster(.@map$, 9, 96, 19, 132, _("Incubus"), INCUBUS, 20, .@label$);
+ areamonster(.@map$, 9, 96, 19, 132, _("Aliot"), ALIOT, 20, .@label$);
+ areamonster(.@map$, 9, 96, 19, 132, _("Injustice"), INJUSTICE, 10, .@label$);
break;
case 67:
- areamonster .@map$,93,96,103,132,"Acidus",1716,10,.@label$;
- areamonster .@map$,93,96,103,132,"Acidus",1713,10,.@label$;
- areamonster .@map$,93,96,103,132,"Deleter",1384,5,.@label$;
- areamonster .@map$,93,96,103,132,"Mutant Dragonoid",1262,10,.@label$;
- areamonster .@map$,93,96,103,132,"Petite",1156,5,.@label$;
+ areamonster(.@map$, 93, 96, 103, 132, _("Acidus"), ACIDUS_, 10, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Acidus"), ACIDUS, 10, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Deleter"), DELETER, 5, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Mutant Dragonoid"), MUTANT_DRAGON, 10, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Petite"), PETIT_, 5, .@label$);
break;
case 68:
- areamonster .@map$,181,96,191,132,"Lava Golem",1366,10,.@label$;
- areamonster .@map$,181,96,191,132,"Stalactic Golem",1278,10,.@label$;
- areamonster .@map$,181,96,191,132,"Ice Titan",1777,10,.@label$;
- areamonster .@map$,181,96,191,132,"Wooden Golem",1497,5,.@label$;
- areamonster .@map$,181,96,191,132,"Golem",1040,5,.@label$;
+ areamonster(.@map$, 181, 96, 191, 132, _("Lava Golem"), LAVA_GOLEM, 10, .@label$);
+ areamonster(.@map$, 181, 96, 191, 132, _("Stalactic Golem"), STALACTIC_GOLEM, 10, .@label$);
+ areamonster(.@map$, 181, 96, 191, 132, _("Ice Titan"), ICE_TITAN, 10, .@label$);
+ areamonster(.@map$, 181, 96, 191, 132, _("Wooden Golem"), WOODEN_GOLEM, 5, .@label$);
+ areamonster(.@map$, 181, 96, 191, 132, _("Golem"), GOLEM, 5, .@label$);
break;
case 69:
- areamonster .@map$,267,96,277,132,"Dame of Sentinel",1700,20,.@label$;
- areamonster .@map$,267,96,277,132,"Mistress of Shelter",1701,10,.@label$;
- areamonster .@map$,267,96,277,132,"Baroness of Retribution",1702,10,.@label$;
- areamonster .@map$,267,96,277,132,"Lady Solace",1703,10,.@label$;
- areamonster .@map$,267,96,277,132,"False Angel",1371,10,.@label$;
+ areamonster(.@map$, 267, 96, 277, 132, _("Dame of Sentinel"), OBSERVATION, 20, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("Mistress of Shelter"), SHELTER, 10, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("Baroness of Retribution"), RETRIBUTION, 10, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("Lady Solace"), SOLACE, 10, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("False Angel"), FAKE_ANGEL, 10, .@label$);
break;
case 70:
- areamonster .@map$,352,96,362,132,"Orc Hero",1087,1,.@label$;
- areamonster .@map$,352,96,362,132,"Orc Lord",1190,1,.@label$;
- areamonster .@map$,352,96,362,132,"Orc Baby",1686,20,.@label$;
+ areamonster(.@map$, 352, 96, 362, 132, _("Orc Hero"), ORK_HERO, 1, .@label$);
+ areamonster(.@map$, 352, 96, 362, 132, _("Orc Lord"), ORC_LORD, 1, .@label$);
+ areamonster(.@map$, 352, 96, 362, 132, _("Orc Baby"), ORC_BABY, 20, .@label$);
break;
case 71:
- areamonster .@map$,9,9,19,45,"Succubus",1370,20,.@label$;
- areamonster .@map$,9,9,19,45,"Nightmare Terror",1379,20,.@label$;
- areamonster .@map$,9,9,19,45,"Incubus",1374,20,.@label$;
- areamonster .@map$,9,9,19,45,"Nightmare",1061,5,.@label$;
+ areamonster(.@map$, 9, 9, 19, 45, _("Succubus"), SUCCUBUS, 20, .@label$);
+ areamonster(.@map$, 9, 9, 19, 45, _("Nightmare Terror"), NIGHTMARE_TERROR, 20, .@label$);
+ areamonster(.@map$, 9, 9, 19, 45, _("Incubus"), INCUBUS, 20, .@label$);
+ areamonster(.@map$, 9, 9, 19, 45, _("Nightmare"), NIGHTMARE, 5, .@label$);
break;
case 72:
- areamonster .@map$,93,9,103,45,"Margaretha Sorin",1637,10,.@label$;
- areamonster .@map$,93,9,103,45,"Permeter",1314,10,.@label$;
- areamonster .@map$,93,9,103,45,"Errende Ebecee",1655,10,.@label$;
- areamonster .@map$,93,9,103,45,"Enchanted Peach Tree",1410,10,.@label$;
+ areamonster(.@map$, 93, 9, 103, 45, _("Margaretha Sorin"), MAGALETA, 10, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Permeter"), PERMETER, 10, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Errende Ebecee"), EREND, 10, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Enchanted Peach Tree"), LIVE_PEACH_TREE, 10, .@label$);
break;
case 73:
- areamonster .@map$,181,9,191,45,"Succubus",1370,10,.@label$;
- areamonster .@map$,181,9,191,45,"Loli Ruri",1505,20,.@label$;
- areamonster .@map$,181,9,191,45,"Aliza",1737,10,.@label$;
- areamonster .@map$,181,9,191,45,"Zealotus",1200,5,.@label$;
- areamonster .@map$,181,9,191,45,"Alice",1275,5,.@label$;
- areamonster .@map$,181,9,191,45,"Green Maiden",1519,10,.@label$;
+ areamonster(.@map$, 181, 9, 191, 45, _("Succubus"), SUCCUBUS, 10, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Loli Ruri"), LOLI_RURI, 20, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Aliza"), ALIZA, 10, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Zealotus"), ZHERLTHSH, 5, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Alice"), ALICE, 5, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Green Maiden"), CHUNG_E, 10, .@label$);
break;
case 74:
- areamonster .@map$,267,9,277,45,"Dimik",1671,6,.@label$;
- areamonster .@map$,267,9,277,45,"Dimik",1673,6,.@label$;
- areamonster .@map$,267,9,277,45,"Dimik",1672,6,.@label$;
- areamonster .@map$,267,9,277,45,"Venatu",1677,6,.@label$;
- areamonster .@map$,267,9,277,45,"Dimik",1670,6,.@label$;
- areamonster .@map$,267,9,277,45,"Archdam",1668,6,.@label$;
- areamonster .@map$,267,9,277,45,"Venatu",1678,6,.@label$;
- areamonster .@map$,267,9,277,45,"Venatu",1679,6,.@label$;
- areamonster .@map$,267,9,277,45,"Venatu",1676,6,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Dimik"), DIMIK_2, 6, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Dimik"), DIMIK_4, 6, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Dimik"), DIMIK_3, 6, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Venatu"), VENATU_2, 6, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Dimik"), DIMIK_1, 6, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Archdam"), ARCHDAM, 6, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Venatu"), VENATU_3, 6, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Venatu"), VENATU_4, 6, .@label$);
+ areamonster(.@map$, 267, 9, 277, 45, _("Venatu"), VENATU_1, 6, .@label$);
break;
case 75:
- areamonster .@map$,352,9,362,45,"Baphomet",1039,1,.@label$;
- areamonster .@map$,352,9,362,45,"Dark Lord",1272,1,.@label$;
- areamonster .@map$,352,9,362,45,"Baphomet Jr.",1101,20,.@label$;
- areamonster .@map$,352,9,362,45,"Dark Illusion",1302,10,.@label$;
+ areamonster(.@map$, 352, 9, 362, 45, _("Baphomet"), BAPHOMET, 1, .@label$);
+ areamonster(.@map$, 352, 9, 362, 45, _("Dark Lord"), DARK_LORD, 1, .@label$);
+ areamonster(.@map$, 352, 9, 362, 45, _("Baphomet Jr."), BAPHOMET_, 20, .@label$);
+ areamonster(.@map$, 352, 9, 362, 45, _("Dark Illusion"), DARK_ILLUSION, 10, .@label$);
break;
case 76:
- areamonster .@map$,9,351,19,387,"Abysmal Knight",1219,30,.@label$;
- areamonster .@map$,9,351,19,387,"Nightmare Terror",1379,20,.@label$;
- areamonster .@map$,9,351,19,387,"Nightmare",1061,10,.@label$;
+ areamonster(.@map$, 9, 351, 19, 387, _("Abysmal Knight"), KNIGHT_OF_ABYSS, 30, .@label$);
+ areamonster(.@map$, 9, 351, 19, 387, _("Nightmare Terror"), NIGHTMARE_TERROR, 20, .@label$);
+ areamonster(.@map$, 9, 351, 19, 387, _("Nightmare"), NIGHTMARE, 10, .@label$);
break;
case 77:
- areamonster .@map$,93,351,103,387,"Banshee",1867,30,.@label$;
- areamonster .@map$,93,351,103,387,"Wraith Dead",1291,10,.@label$;
- areamonster .@map$,93,351,103,387,"Evil Druid",1117,10,.@label$;
- areamonster .@map$,93,351,103,387,"Wraith",1192,10,.@label$;
- areamonster .@map$,93,351,103,387,"Wind Ghost",1263,10,.@label$;
+ areamonster(.@map$, 93, 351, 103, 387, _("Banshee"), BANSHEE, 30, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Wraith Dead"), WRAITH_DEAD, 10, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Evil Druid"), EVIL_DRUID, 10, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Wraith"), WRAITH, 10, .@label$);
+ areamonster(.@map$, 93, 351, 103, 387, _("Wind Ghost"), WIND_GHOST, 10, .@label$);
break;
case 78:
- areamonster .@map$,181,351,191,387,"Sword Master",1829,5,.@label$;
- areamonster .@map$,181,351,191,387,"Bloody Knight",1268,10,.@label$;
- areamonster .@map$,181,351,191,387,"Abysmal Knight",1219,5,.@label$;
- areamonster .@map$,181,351,191,387,"Dullahan",1504,10,.@label$;
- areamonster .@map$,181,351,191,387,"Raydric",1163,20,.@label$;
+ areamonster(.@map$, 181, 351, 191, 387, _("Sword Master"), SWORD_GUARDIAN, 5, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Bloody Knight"), BLOODY_KNIGHT, 10, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Abysmal Knight"), KNIGHT_OF_ABYSS, 5, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Dullahan"), DULLAHAN, 10, .@label$);
+ areamonster(.@map$, 181, 351, 191, 387, _("Raydric"), RAYDRIC, 20, .@label$);
break;
case 79:
- areamonster .@map$,267,351,277,387,"Hydro",1720,10,.@label$;
- areamonster .@map$,267,351,277,387,"Ferus",1714,10,.@label$;
- areamonster .@map$,267,351,277,387,"Ferus",1717,10,.@label$;
- areamonster .@map$,267,351,277,387,"Deleter",1385,5,.@label$;
- areamonster .@map$,267,351,277,387,"Petite",1155,5,.@label$;
+ areamonster(.@map$, 267, 351, 277, 387, _("Hydro"), HYDRO, 10, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Ferus"), FERUS, 10, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Ferus"), FERUS_, 10, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Deleter"), DELETER_, 5, .@label$);
+ areamonster(.@map$, 267, 351, 277, 387, _("Petite"), PETIT, 5, .@label$);
break;
case 80:
- areamonster .@map$,352,351,362,387,"Falling Bishop",1871,1,.@label$;
- areamonster .@map$,352,351,362,387,"Necromancer",1870,15,.@label$;
+ areamonster(.@map$, 352, 351, 362, 387, _("Falling Bishop"), FALLINGBISHOP, 1, .@label$);
+ areamonster(.@map$, 352, 351, 362, 387, _("Necromancer"), NECROMANCER, 15, .@label$);
break;
case 81:
- areamonster .@map$,9,267,19,303,"Mysteltainn",1203,20,.@label$;
- areamonster .@map$,9,267,19,303,"Ogretooth",1204,20,.@label$;
- areamonster .@map$,9,267,19,303,"Executioner",1205,20,.@label$;
+ areamonster(.@map$, 9, 267, 19, 303, _("Mysteltainn"), MYSTELTAINN, 20, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Ogretooth"), TIRFING, 20, .@label$);
+ areamonster(.@map$, 9, 267, 19, 303, _("Executioner"), EXECUTIONER, 20, .@label$);
break;
case 82:
- areamonster .@map$,93,267,103,303,"Bloody Knight",1268,10,.@label$;
- areamonster .@map$,93,267,103,303,"Agav",1769,10,.@label$;
- areamonster .@map$,93,267,103,303,"Bloody Murderer",1507,10,.@label$;
- areamonster .@map$,93,267,103,303,"Skogul",1752,10,.@label$;
- areamonster .@map$,93,267,103,303,"Injustice",1257,10,.@label$;
+ areamonster(.@map$, 93, 267, 103, 303, _("Bloody Knight"), BLOODY_KNIGHT, 10, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Agav"), AGAV, 10, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Bloody Murderer"), BLOODY_MURDERER, 10, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Skogul"), SKOGUL, 10, .@label$);
+ areamonster(.@map$, 93, 267, 103, 303, _("Injustice"), INJUSTICE, 10, .@label$);
break;
case 83:
- areamonster .@map$,181,267,191,303,"Skeggiold",1754,10,.@label$;
- areamonster .@map$,181,267,191,303,"Dark Illusion",1302,10,.@label$;
- areamonster .@map$,181,267,191,303,"Gryphon",1259,10,.@label$;
- areamonster .@map$,181,267,191,303,"Chimera",1283,10,.@label$;
+ areamonster(.@map$, 181, 267, 191, 303, _("Skeggiold"), SKEGGIOLD, 10, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Dark Illusion"), DARK_ILLUSION, 10, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Gryphon"), GRYPHON, 10, .@label$);
+ areamonster(.@map$, 181, 267, 191, 303, _("Chimera"), CHIMERA, 10, .@label$);
break;
case 84:
- areamonster .@map$,267,267,277,303,"Succubus",1370,10,.@label$;
- areamonster .@map$,267,267,277,303,"Dark Illusion",1302,20,.@label$;
- areamonster .@map$,267,267,277,303,"Owl Duke",1320,10,.@label$;
- areamonster .@map$,267,267,277,303,"Owl Baron",1295,10,.@label$;
- areamonster .@map$,267,267,277,303,"Incubus",1374,10,.@label$;
+ areamonster(.@map$, 267, 267, 277, 303, _("Succubus"), SUCCUBUS, 10, .@label$);
+ areamonster(.@map$, 267, 267, 277, 303, _("Dark Illusion"), DARK_ILLUSION, 20, .@label$);
+ areamonster(.@map$, 267, 267, 277, 303, _("Owl Duke"), OWL_DUKE, 10, .@label$);
+ areamonster(.@map$, 267, 267, 277, 303, _("Owl Baron"), OWL_BARON, 10, .@label$);
+ areamonster(.@map$, 267, 267, 277, 303, _("Incubus"), INCUBUS, 10, .@label$);
break;
case 85:
- areamonster .@map$,352,267,362,303,"Ifrit",1832,1,.@label$;
+ areamonster(.@map$, 352, 267, 362, 303, _("Ifrit"), IFRIT, 1, .@label$);
break;
case 86:
- areamonster .@map$,9,180,19,216,"Hydro",1720,10,.@label$;
- areamonster .@map$,9,180,19,216,"Gryphon",1259,10,.@label$;
- areamonster .@map$,9,180,19,216,"Chimera",1283,10,.@label$;
- areamonster .@map$,9,180,19,216,"Majoruros",1310,10,.@label$;
+ areamonster(.@map$, 9, 180, 19, 216, _("Hydro"), HYDRO, 10, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Gryphon"), GRYPHON, 10, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Chimera"), CHIMERA, 10, .@label$);
+ areamonster(.@map$, 9, 180, 19, 216, _("Majoruros"), MAJORUROS, 10, .@label$);
break;
case 87:
- areamonster .@map$,93,180,103,216,"Salamander",1831,15,.@label$;
- areamonster .@map$,93,180,103,216,"Kasa",1833,20,.@label$;
- areamonster .@map$,93,180,103,216,"Lava Golem",1366,15,.@label$;
- areamonster .@map$,93,180,103,216,"Gajomart",1309,10,.@label$;
+ areamonster(.@map$, 93, 180, 103, 216, _("Salamander"), SALAMANDER, 15, .@label$);
+ areamonster(.@map$, 93, 180, 103, 216, _("Kasa"), KASA, 20, .@label$);
+ areamonster(.@map$, 93, 180, 103, 216, _("Lava Golem"), LAVA_GOLEM, 15, .@label$);
+ areamonster(.@map$, 93, 180, 103, 216, _("Gajomart"), GAJOMART, 10, .@label$);
break;
case 88:
- areamonster .@map$,181,180,191,216,"Necromancer",1870,15,.@label$;
- areamonster .@map$,181,180,191,216,"Anubis",1098,15,.@label$;
- areamonster .@map$,181,180,191,216,"Wraith Dead",1291,10,.@label$;
- areamonster .@map$,181,180,191,216,"Ancient Mummy",1297,10,.@label$;
- areamonster .@map$,181,180,191,216,"Khalitzburg",1132,10,.@label$;
+ areamonster(.@map$, 181, 180, 191, 216, _("Necromancer"), NECROMANCER, 15, .@label$);
+ areamonster(.@map$, 181, 180, 191, 216, _("Anubis"), ANUBIS, 15, .@label$);
+ areamonster(.@map$, 181, 180, 191, 216, _("Wraith Dead"), WRAITH_DEAD, 10, .@label$);
+ areamonster(.@map$, 181, 180, 191, 216, _("Ancient Mummy"), ANCIENT_MUMMY, 10, .@label$);
+ areamonster(.@map$, 181, 180, 191, 216, _("Khalitzburg"), KHALITZBURG, 10, .@label$);
break;
case 89:
- areamonster .@map$,267,180,277,216,"Odium of Thanatos",1704,6,.@label$;
- areamonster .@map$,267,180,277,216,"Despero of Thanatos",1705,6,.@label$;
- areamonster .@map$,267,180,277,216,"Maero of Thanatos",1706,6,.@label$;
- areamonster .@map$,267,180,277,216,"Dolor of Thanatos",1707,6,.@label$;
+ areamonster(.@map$, 267, 180, 277, 216, _("Odium of Thanatos"), THA_ODIUM, 6, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Despero of Thanatos"), THA_DESPERO, 6, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Maero of Thanatos"), THA_MAERO, 6, .@label$);
+ areamonster(.@map$, 267, 180, 277, 216, _("Dolor of Thanatos"), THA_DOLOR, 6, .@label$);
break;
case 90:
- areamonster .@map$,352,180,362,216,"Valkyrie Randgris",1751,1,.@label$;
- areamonster .@map$,352,180,362,216,"Baroness of Retribution",1702,10,.@label$;
- areamonster .@map$,352,180,362,216,"Lady Solace",1703,10,.@label$;
- areamonster .@map$,352,180,362,216,"False Angel",1371,10,.@label$;
+ areamonster(.@map$, 352, 180, 362, 216, _("Valkyrie Randgris"), RANDGRIS, 1, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Baroness of Retribution"), RETRIBUTION, 10, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("Lady Solace"), SOLACE, 10, .@label$);
+ areamonster(.@map$, 352, 180, 362, 216, _("False Angel"), FAKE_ANGEL, 10, .@label$);
break;
case 91:
- areamonster .@map$,9,96,19,132,"Cecil Damon",1638,10,.@label$;
- areamonster .@map$,9,96,19,132,"Bow Master",1830,10,.@label$;
- areamonster .@map$,9,96,19,132,"Kavac",1656,30,.@label$;
+ areamonster(.@map$, 9, 96, 19, 132, _("Cecil Damon"), SHECIL, 10, .@label$);
+ areamonster(.@map$, 9, 96, 19, 132, _("Bow Master"), BOW_GUARDIAN, 10, .@label$);
+ areamonster(.@map$, 9, 96, 19, 132, _("Kavac"), KAVAC, 30, .@label$);
break;
case 92:
- areamonster .@map$,93,96,103,132,"Kathryne Keyron",1639,15,.@label$;
- areamonster .@map$,93,96,103,132,"Elder",1377,10,.@label$;
- areamonster .@map$,93,96,103,132,"Laurell Weinder",1657,10,.@label$;
- areamonster .@map$,93,96,103,132,"Wind Ghost",1263,10,.@label$;
- areamonster .@map$,93,96,103,132,"Marduk",1140,10,.@label$;
+ areamonster(.@map$, 93, 96, 103, 132, _("Kathryne Keyron"), KATRINN, 15, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Elder"), ELDER, 10, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Laurell Weinder"), RAWREL, 10, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Wind Ghost"), WIND_GHOST, 10, .@label$);
+ areamonster(.@map$, 93, 96, 103, 132, _("Marduk"), MARDUK, 10, .@label$);
break;
case 93:
- areamonster .@map$,181,96,191,132,"Seyren Windsor",1634,15,.@label$;
- areamonster .@map$,181,96,191,132,"Bloody Knight",1268,10,.@label$;
- areamonster .@map$,181,96,191,132,"Abysmal Knight",1219,10,.@label$;
- areamonster .@map$,181,96,191,132,"Wanderer",1208,10,.@label$;
+ areamonster(.@map$, 181, 96, 191, 132, _("Seyren Windsor"), SEYREN, 15, .@label$);
+ areamonster(.@map$, 181, 96, 191, 132, _("Bloody Knight"), BLOODY_KNIGHT, 10, .@label$);
+ areamonster(.@map$, 181, 96, 191, 132, _("Abysmal Knight"), KNIGHT_OF_ABYSS, 10, .@label$);
+ areamonster(.@map$, 181, 96, 191, 132, _("Wanderer"), WANDER_MAN, 10, .@label$);
break;
case 94:
- areamonster .@map$,267,96,277,132,"Sword Master",1829,15,.@label$;
- areamonster .@map$,267,96,277,132,"Bow Master",1830,15,.@label$;
+ areamonster(.@map$, 267, 96, 277, 132, _("Sword Master"), SWORD_GUARDIAN, 15, .@label$);
+ areamonster(.@map$, 267, 96, 277, 132, _("Bow Master"), BOW_GUARDIAN, 15, .@label$);
break;
case 95:
- areamonster .@map$,352,96,362,132,"Beelzebub",1873,1,.@label$;
- areamonster .@map$,352,96,362,132,"Hunter Fly",1035,30,.@label$;
- areamonster .@map$,352,96,362,132,"Steel Chonchon",1042,5,.@label$;
- areamonster .@map$,352,96,362,132,"Dragon FLy",1091,5,.@label$;
- areamonster .@map$,352,96,362,132,"Chonchon",1011,5,.@label$;
+ areamonster(.@map$, 352, 96, 362, 132, _("Beelzebub"), BEELZEBUB, 1, .@label$);
+ areamonster(.@map$, 352, 96, 362, 132, _("Hunter Fly"), HUNTER_FLY, 30, .@label$);
+ areamonster(.@map$, 352, 96, 362, 132, _("Steel Chonchon"), STEEL_CHONCHON, 5, .@label$);
+ areamonster(.@map$, 352, 96, 362, 132, _("Dragon FLy"), DRAGON_FLY, 5, .@label$);
+ areamonster(.@map$, 352, 96, 362, 132, _("Chonchon"), CHONCHON, 5, .@label$);
break;
case 96:
- areamonster .@map$,9,9,19,45,"Valkyrie",1765,5,.@label$;
- areamonster .@map$,9,9,19,45,"Skeggiold",1755,10,.@label$;
- areamonster .@map$,9,9,19,45,"Skeggiold",1754,10,.@label$;
+ areamonster(.@map$, 9, 9, 19, 45, _("Valkyrie"), G_RANDGRIS, 5, .@label$);
+ areamonster(.@map$, 9, 9, 19, 45, _("Skeggiold"), SKEGGIOLD_, 10, .@label$);
+ areamonster(.@map$, 9, 9, 19, 45, _("Skeggiold"), SKEGGIOLD, 10, .@label$);
break;
case 97:
- areamonster .@map$,93,9,103,45,"Incarnation of Morroc",1918,5,.@label$;
- areamonster .@map$,93,9,103,45,"Incarnation of Morroc",1919,5,.@label$;
- areamonster .@map$,93,9,103,45,"Incarnation of Morroc",1920,5,.@label$;
- areamonster .@map$,93,9,103,45,"Incarnation of Morroc",1921,5,.@label$;
+ areamonster(.@map$, 93, 9, 103, 45, _("Incarnation of Morroc"), MOROCC_1, 5, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Incarnation of Morroc"), MOROCC_2, 5, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Incarnation of Morroc"), MOROCC_3, 5, .@label$);
+ areamonster(.@map$, 93, 9, 103, 45, _("Incarnation of Morroc"), MOROCC_4, 5, .@label$);
break;
case 98:
- areamonster .@map$,181,9,191,45,"Kathryne Keyron",1639,2,.@label$;
- areamonster .@map$,181,9,191,45,"Seyren Windsor",1634,2,.@label$;
- areamonster .@map$,181,9,191,45,"Margaretha Sorin",1637,2,.@label$;
- areamonster .@map$,181,9,191,45,"Eremes Guile",1635,2,.@label$;
- areamonster .@map$,181,9,191,45,"Howard Alt-Eisen",1636,2,.@label$;
- areamonster .@map$,181,9,191,45,"Cecil Damon",1638,2,.@label$;
+ areamonster(.@map$, 181, 9, 191, 45, _("Kathryne Keyron"), KATRINN, 2, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Seyren Windsor"), SEYREN, 2, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Margaretha Sorin"), MAGALETA, 2, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Eremes Guile"), EREMES, 2, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Howard Alt-Eisen"), HARWORD, 2, .@label$);
+ areamonster(.@map$, 181, 9, 191, 45, _("Cecil Damon"), SHECIL, 2, .@label$);
break;
case 99:
- for(.@i = 1; .@i<=7; ++.@i) {
- .@mob_ran = rand(1,30);
+ for (.@i = 1; .@i <= 7; ++.@i) {
+ .@mob_ran = rand(1, 30);
if (.@mob_ran == 1)
- areamonster .@map$,267,9,277,45,"Kathryne Keyron",1639,2,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Kathryne Keyron"), KATRINN, 2, .@label$);
else if (.@mob_ran == 2)
- areamonster .@map$,267,9,277,45,"Seyren Windsor",1634,2,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Seyren Windsor"), SEYREN, 2, .@label$);
else if (.@mob_ran == 3)
- areamonster .@map$,267,9,277,45,"Margaretha Sorin",1637,2,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Margaretha Sorin"), MAGALETA, 2, .@label$);
else if (.@mob_ran == 4)
- areamonster .@map$,267,9,277,45,"Eremes Guile",1635,2,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Eremes Guile"), EREMES, 2, .@label$);
else if (.@mob_ran == 5)
- areamonster .@map$,267,9,277,45,"Howard Alt-Eisen",1636,2,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Howard Alt-Eisen"), HARWORD, 2, .@label$);
else if (.@mob_ran == 6)
- areamonster .@map$,267,9,277,45,"Cecil Damon",1638,2,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Cecil Damon"), SHECIL, 2, .@label$);
else if (.@mob_ran == 7)
- areamonster .@map$,267,9,277,45,"Incarnation of Morroc",1918,5,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Incarnation of Morroc"), MOROCC_1, 5, .@label$);
else if (.@mob_ran == 8)
- areamonster .@map$,267,9,277,45,"Incarnation of Morroc",1919,5,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Incarnation of Morroc"), MOROCC_2, 5, .@label$);
else if (.@mob_ran == 9)
- areamonster .@map$,267,9,277,45,"Incarnation of Morroc",1920,5,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Incarnation of Morroc"), MOROCC_3, 5, .@label$);
else if (.@mob_ran == 10)
- areamonster .@map$,267,9,277,45,"Incarnation of Morroc",1921,5,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Incarnation of Morroc"), MOROCC_4, 5, .@label$);
else if (.@mob_ran == 11)
- areamonster .@map$,267,9,277,45,"Valkyrie",1765,5,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Valkyrie"), G_RANDGRIS, 5, .@label$);
else if (.@mob_ran == 12)
- areamonster .@map$,267,9,277,45,"Skeggiold",1755,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Skeggiold"), SKEGGIOLD_, 10, .@label$);
else if (.@mob_ran == 13)
- areamonster .@map$,267,9,277,45,"Skeggiold",1754,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Skeggiold"), SKEGGIOLD, 10, .@label$);
else if (.@mob_ran == 14)
- areamonster .@map$,267,9,277,45,"Seyren Windsor",1634,15,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Seyren Windsor"), SEYREN, 15, .@label$);
else if (.@mob_ran == 15)
- areamonster .@map$,267,9,277,45,"Bloody Knight",1268,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Bloody Knight"), BLOODY_KNIGHT, 10, .@label$);
else if (.@mob_ran == 16)
- areamonster .@map$,267,9,277,45,"Abysmal Knight",1219,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Abysmal Knight"), KNIGHT_OF_ABYSS, 10, .@label$);
else if (.@mob_ran == 17)
- areamonster .@map$,267,9,277,45,"Wanderer",1208,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Wanderer"), WANDER_MAN, 10, .@label$);
else if (.@mob_ran == 18)
- areamonster .@map$,267,9,277,45,"Sword Master",1829,15,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Sword Master"), SWORD_GUARDIAN, 15, .@label$);
else if (.@mob_ran == 19)
- areamonster .@map$,267,9,277,45,"Bow Master",1830,15,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Bow Master"), BOW_GUARDIAN, 15, .@label$);
else if (.@mob_ran == 20)
- areamonster .@map$,267,9,277,45,"Kathryne Keyron",1639,15,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Kathryne Keyron"), KATRINN, 15, .@label$);
else if (.@mob_ran == 21)
- areamonster .@map$,267,9,277,45,"Elder",1377,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Elder"), ELDER, 10, .@label$);
else if (.@mob_ran == 22)
- areamonster .@map$,267,9,277,45,"Laurell Weinder",1657,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Laurell Weinder"), RAWREL, 10, .@label$);
else if (.@mob_ran == 23)
- areamonster .@map$,267,9,277,45,"Wind Ghost",1263,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Wind Ghost"), WIND_GHOST, 10, .@label$);
else if (.@mob_ran == 24)
- areamonster .@map$,267,9,277,45,"Marduk",1140,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Marduk"), MARDUK, 10, .@label$);
else if (.@mob_ran == 25)
- areamonster .@map$,267,9,277,45,"Cecil Damon",1638,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Cecil Damon"), SHECIL, 10, .@label$);
else if (.@mob_ran == 26)
- areamonster .@map$,267,9,277,45,"Bow Master",1830,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Bow Master"), BOW_GUARDIAN, 10, .@label$);
else if (.@mob_ran == 27)
- areamonster .@map$,267,9,277,45,"Kavach Icarus",1656,30,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Kavach Icarus"), KAVAC, 30, .@label$);
else if (.@mob_ran == 28)
- areamonster .@map$,267,9,277,45,"Baroness of Retribution",1702,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Baroness of Retribution"), RETRIBUTION, 10, .@label$);
else if (.@mob_ran == 29)
- areamonster .@map$,267,9,277,45,"Lady Solace",1703,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("Lady Solace"), SOLACE, 10, .@label$);
else
- areamonster .@map$,267,9,277,45,"False Angel",1371,10,.@label$;
+ areamonster(.@map$, 267, 9, 277, 45, _("False Angel"), FAKE_ANGEL, 10, .@label$);
}
break;
}
@@ -1080,139 +1080,60 @@ function script F_Tower_Monster {
function script F_Tower_Warp {
+ setarray(.@x[2], 136, 224, 310, 395, 52, 136, 224, 310, 395, // 2 - 10
+ 52, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 11 - 20
+ 52, 136, 224, 310, 395, 0, 136, 224, 310, 395, // 21 - 30
+ 52, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 31 - 40
+ 52, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 41 - 50
+ 0, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 51 - 60
+ 52, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 61 - 70
+ 52, 136, 224, 310, 395, 0, 136, 224, 310, 395, // 71 - 80
+ 52, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 81 - 90
+ 52, 136, 224, 310, 395, 52, 136, 224, 309); // 91 - 99
+ setarray(.@y[2], 354, 354, 354, 354, 270, 270, 270, 270, 270, // 2 - 10
+ 183, 183, 183, 183, 183, 99, 99, 99, 99, 99, // 11 - 20
+ 12, 12, 12, 12, 12, 0, 354, 354, 354, 354, // 21 - 30
+ 270, 270, 270, 270, 270, 183, 183, 183, 183, 183, // 31 - 40
+ 99, 99, 99, 99, 99, 12, 12, 12, 12, 12, // 41 - 50
+ 0, 354, 354, 354, 354, 270, 270, 270, 270, 270, // 51 - 60
+ 183, 183, 183, 183, 183, 99, 99, 99, 99, 99, // 61 - 70
+ 12, 12, 12, 12, 12, 0, 354, 354, 354, 354, // 71 - 80
+ 270, 270, 270, 270, 270, 183, 183, 183, 183, 183, // 81 - 90
+ 99, 99, 99, 99, 99, 12, 12, 12, 12); // 91 - 99
.@level = getarg(0);
.@map$ = getarg(1);
-
- switch(.@level) {
- case 2: warp .@map$,136,354; break;
- case 3: warp .@map$,224,354; break;
- case 4: warp .@map$,310,354; break;
- case 5: warp .@map$,395,354; break;
- case 6: warp .@map$,52,270; break;
- case 7: warp .@map$,136,270; break;
- case 8: warp .@map$,224,270; break;
- case 9: warp .@map$,310,270; break;
- case 10: warp .@map$,395,270; break;
- case 11: warp .@map$,52,183; break;
- case 12: warp .@map$,136,183; break;
- case 13: warp .@map$,224,183; break;
- case 14: warp .@map$,310,183; break;
- case 15: warp .@map$,395,183; break;
- case 16: warp .@map$,52,99; break;
- case 17: warp .@map$,136,99; break;
- case 18: warp .@map$,224,99; break;
- case 19: warp .@map$,310,99; break;
- case 20: warp .@map$,395,99; break;
- case 21: warp .@map$,52,12; break;
- case 22: warp .@map$,136,12; break;
- case 23: warp .@map$,224,12; break;
- case 24: warp .@map$,310,12; break;
- case 25: warp .@map$,395,12; break;
-
- case 27: warp .@map$,136,354; break;
- case 28: warp .@map$,224,354; break;
- case 29: warp .@map$,310,354; break;
- case 30: warp .@map$,395,354; break;
- case 31: warp .@map$,52,270; break;
- case 32: warp .@map$,136,270; break;
- case 33: warp .@map$,224,270; break;
- case 34: warp .@map$,310,270; break;
- case 35: warp .@map$,395,270; break;
- case 36: warp .@map$,52,183; break;
- case 37: warp .@map$,136,183; break;
- case 38: warp .@map$,224,183; break;
- case 39: warp .@map$,310,183; break;
- case 40: warp .@map$,395,183; break;
- case 41: warp .@map$,52,99; break;
- case 42: warp .@map$,136,99; break;
- case 43: warp .@map$,224,99; break;
- case 44: warp .@map$,310,99; break;
- case 45: warp .@map$,395,99; break;
- case 46: warp .@map$,52,12; break;
- case 47: warp .@map$,136,12; break;
- case 48: warp .@map$,224,12; break;
- case 49: warp .@map$,310,12; break;
- case 50: warp .@map$,395,12; break;
-
- case 52: warp .@map$,136,354; break;
- case 53: warp .@map$,224,354; break;
- case 54: warp .@map$,310,354; break;
- case 55: warp .@map$,395,354; break;
- case 56: warp .@map$,52,270; break;
- case 57: warp .@map$,136,270; break;
- case 58: warp .@map$,224,270; break;
- case 59: warp .@map$,310,270; break;
- case 60: warp .@map$,395,270; break;
- case 61: warp .@map$,52,183; break;
- case 62: warp .@map$,136,183; break;
- case 63: warp .@map$,224,183; break;
- case 64: warp .@map$,310,183; break;
- case 65: warp .@map$,395,183; break;
- case 66: warp .@map$,52,99; break;
- case 67: warp .@map$,136,99; break;
- case 68: warp .@map$,224,99; break;
- case 69: warp .@map$,310,99; break;
- case 70: warp .@map$,395,99; break;
- case 71: warp .@map$,52,12; break;
- case 72: warp .@map$,136,12; break;
- case 73: warp .@map$,224,12; break;
- case 74: warp .@map$,310,12; break;
- case 75: warp .@map$,395,12; break;
-
- case 77: warp .@map$,136,354; break;
- case 78: warp .@map$,224,354; break;
- case 79: warp .@map$,310,354; break;
- case 80: warp .@map$,395,354; break;
- case 81: warp .@map$,52,270; break;
- case 82: warp .@map$,136,270; break;
- case 83: warp .@map$,224,270; break;
- case 84: warp .@map$,310,270; break;
- case 85: warp .@map$,395,270; break;
- case 86: warp .@map$,52,183; break;
- case 87: warp .@map$,136,183; break;
- case 88: warp .@map$,224,183; break;
- case 89: warp .@map$,310,183; break;
- case 90: warp .@map$,395,183; break;
- case 91: warp .@map$,52,99; break;
- case 92: warp .@map$,136,99; break;
- case 93: warp .@map$,224,99; break;
- case 94: warp .@map$,310,99; break;
- case 95: warp .@map$,395,99; break;
- case 96: warp .@map$,52,12; break;
- case 97: warp .@map$,136,12; break;
- case 98: warp .@map$,224,12; break;
- case 99: warp .@map$,309,12; break;
- }
+ if (.@x[.@level] > 0 && .@y[.@level] > 0)
+ warp(.@map$, .@x[.@level], .@y[.@level]);
return;
}
//== Levels 1-25 ===========================================
1@tower,50,360,0 script Immortal Brazier# CLEAR_NPC,{
- mes "- A Message is Engraved on the Brazier -";
- mes "The one who scatters the ashes of the darkness in this place shall become one step closer to Nacht Sieger, the Hegemon King of the Darkness...";
- next;
+ mes("- A Message is Engraved on the Brazier -");
+ mes("The one who scatters the ashes of the darkness in this place shall become one step closer to Nacht Sieger, the Hegemon King of the Darkness...");
+ next();
- setarray .@level$[1],"26th","51st","76th";
- setarray .@map$[1],"2@tower","3@tower","4@tower";
+ setarray(.@level$[1], _("26th"), _("51st"), _("76th"));
+ setarray(.@map$[1], "2@tower", "3@tower", "4@tower");
.@i = select("26th Level", "51st Level", "76th Level");
if (countitem(Dark_Ashes) < .@i) {
- mes "-Warning-";
- mes "To warp to the "+.@level$[.@i]+" Level, you need "+.@i+" Ashes of the Darkness.";
- close;
+ mes("-Warning-");
+ mesf("To warp to the %s Level, you need %d Ashes of the Darkness.", .@level$[.@i], .@i);
+ close();
}
- delitem Dark_Ashes,.@i;
- mapannounce instance_mapname("1@tower"), strcharinfo(PC_NAME)+". You will be warped to the "+.@level$[.@i]+" Level.",bc_map,"0x00ff99";
- warp instance_mapname(.@map$[.@i]),52,354;
- close;
+ delitem(Dark_Ashes, .@i);
+ mapannounce(instance_mapname("1@tower"), sprintf(_$("%s. You will be warped to the %s Level."), strcharinfo(PC_NAME), .@level$[.@i]), bc_map, C_SPRINGGREEN);
+ warp(instance_mapname(.@map$[.@i]), 52, 354);
+ close();
OnInstanceInit:
- initnpctimer;
+ initnpctimer();
end;
OnTimer10000:
- mapannounce instance_mapname("1@tower"), "Notice : Taming a monster does not count towards defeating them.",bc_map,"0xff0000";
- stopnpctimer;
+ mapannounce(instance_mapname("1@tower"), _("Notice : Taming a monster does not count towards defeating them."), bc_map, C_RED);
+ stopnpctimer();
end;
}
@@ -1220,26 +1141,24 @@ OnTimer10000:
end;
OnInstanceInit:
- callfunc "F_Tower_Monster",
- 1,
- instance_mapname("1@tower"),
- instance_npcname("#1F Controller")+"::OnMyMobDead";
+ callfunc("F_Tower_Monster", 1, instance_mapname("1@tower"), instance_npcname("#1F Controller")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@tower");
- .@mob_dead_num = mobcount(.@map$,instance_npcname("#1F Controller")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("#1F Controller")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- initnpctimer;
+ initnpctimer();
//SetItemPartyInMap in_102floor 1
- } else
- mapannounce .@map$, "Remaining Monsters on the 1st Level - "+.@mob_dead_num,bc_map,"0x00ff99";
+ } else {
+ mapannounce(.@map$, sprintf(_$("Remaining Monsters on the 1st Level - %d"), .@mob_dead_num), bc_map, C_SPRINGGREEN);
+ }
end;
OnTimer5000:
- mapannounce instance_mapname("1@tower"), "All Monsters on the 1st Level have been defeated.",bc_map,"0xffff00";
- donpcevent instance_npcname("1FGate102tower")+"::OnEnable";
- stopnpctimer;
+ mapannounce(instance_mapname("1@tower"), _("All Monsters on the 1st Level have been defeated."), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("1FGate102tower")+"::OnEnable");
+ stopnpctimer();
end;
}
@@ -1247,49 +1166,50 @@ OnTimer5000:
end;
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
- callfunc "F_Tower_Monster",
- atoi(replacestr(strnpcinfo(NPC_NAME),"FGate102tower","")) + 1,
- strnpcinfo(NPC_MAP),
- instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
+ callfunc("F_Tower_Monster", atoi(replacestr(strnpcinfo(NPC_NAME), "FGate102tower", "")) + 1, strnpcinfo(NPC_MAP), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
end;
OnTouch_:
- callfunc "F_Tower_Warp",
- atoi(replacestr(strnpcinfo(NPC_NAME),"FGate102tower","")) + 1,
- strnpcinfo(NPC_MAP);
+ callfunc("F_Tower_Warp", atoi(replacestr(strnpcinfo(NPC_NAME), "FGate102tower", "")) + 1, strnpcinfo(NPC_MAP));
end;
OnMyMobDead:
.@map$ = strnpcinfo(NPC_MAP);
- .@level = atoi(replacestr(strnpcinfo(NPC_NAME),"FGate102tower","")) + 1;
- .@mob_dead_num = mobcount(.@map$,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ .@level = atoi(replacestr(strnpcinfo(NPC_NAME), "FGate102tower", "")) + 1;
+ .@mob_dead_num = mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- initnpctimer;
+ initnpctimer();
//SetItemPartyInMap in_102floor .@level
} else
- mapannounce .@map$, "Remaining Monsters on the "+callsub(L_Display,.@level)+" Level - "+.@mob_dead_num,bc_map,"0x00ff99";
+ mapannounce(.@map$, sprintf(_$("Remaining Monsters on the %s Level - %d"), callsub(L_Display, .@level), .@mob_dead_num), bc_map, C_SPRINGGREEN);
end;
OnTimer5000:
- .@level = atoi(replacestr(strnpcinfo(NPC_NAME),"FGate102tower","")) + 1;
- mapannounce strnpcinfo(NPC_MAP), "All Monsters on the "+callsub(L_Display,.@level)+" Level have been defeated.",bc_map,"0xffff00";
- donpcevent instance_npcname(.@level+"FGate102tower")+"::OnEnable";
- stopnpctimer;
+ .@level = atoi(replacestr(strnpcinfo(NPC_NAME), "FGate102tower", "")) + 1;
+ mapannounce(strnpcinfo(NPC_MAP), sprintf(_$("All Monsters on the %s Level have been defeated."), callsub(L_Display, .@level)), bc_map, C_YELLOW);
+ donpcevent(instance_npcname(.@level+"FGate102tower")+"::OnEnable");
+ stopnpctimer();
end;
L_Display:
// Display level properly.
.@mod = getarg(0) % 10;
- if (.@mod == 1 && getarg(0) != 11) return getarg(0)+"st";
- else if (.@mod == 2 && getarg(0) != 12) return getarg(0)+"nd";
- else if (.@mod == 3 && getarg(0) != 13) return getarg(0)+"rd";
- else return getarg(0)+"th";
+ if (.@mod == 1 && getarg(0) != 11)
+ return sprintf(_$("%dst"), getarg(0));
+ else if (.@mod == 2 && getarg(0) != 12)
+ return sprintf(_$("%dnd"), getarg(0));
+ else if (.@mod == 3 && getarg(0) != 13)
+ return sprintf(_$("%drd"), getarg(0));
+ else
+ return sprintf(_$("%dth"), getarg(0));
+ end;
}
+
1@tower,96,393,0 duplicate(1FGate102tower) 2FGate102tower WARPNPC,2,2
1@tower,184,393,0 duplicate(1FGate102tower) 3FGate102tower WARPNPC,2,2
1@tower,270,393,0 duplicate(1FGate102tower) 4FGate102tower WARPNPC,2,2
@@ -1318,23 +1238,23 @@ L_Display:
end;
OnInstanceInit:
- disablenpc instance_npcname("25FGate102tower");
+ disablenpc(instance_npcname("25FGate102tower"));
end;
OnEnable:
- enablenpc instance_npcname("25FGate102tower");
- initnpctimer;
+ enablenpc(instance_npcname("25FGate102tower"));
+ initnpctimer();
end;
OnTouch_:
- getitem Dark_Ashes,1;
- warp instance_mapname("2@tower"),52,354;
+ getitem(Dark_Ashes, 1);
+ warp(instance_mapname("2@tower"), 52, 354);
end;
OnTimer120000:
- disablenpc instance_npcname("25FGate102tower");
- donpcevent instance_npcname("25FGate102tower-2")+"::OnEnable";
- stopnpctimer;
+ disablenpc(instance_npcname("25FGate102tower"));
+ donpcevent(instance_npcname("25FGate102tower-2")+"::OnEnable");
+ stopnpctimer();
end;
}
@@ -1342,15 +1262,15 @@ OnTimer120000:
end;
OnInstanceInit:
- disablenpc instance_npcname("25FGate102tower-2");
+ disablenpc(instance_npcname("25FGate102tower-2"));
end;
OnEnable:
- enablenpc instance_npcname("25FGate102tower-2");
+ enablenpc(instance_npcname("25FGate102tower-2"));
end;
OnTouch_:
- warp instance_mapname("2@tower"),52,354;
+ warp(instance_mapname("2@tower"), 52, 354);
end;
}
@@ -1358,38 +1278,38 @@ OnTouch_:
end;
OnInstanceInit:
- initnpctimer;
+ initnpctimer();
end;
OnTimer15000:
OnTimer60000:
- mapannounce instance_mapname("1@tower"), "Notice : In any abnormal situation where you defeat a monster, you can't advance to the next level!",bc_map,"0xff0000";
+ mapannounce(instance_mapname("1@tower"), _("Notice : In any abnormal situation where you defeat a monster, you can't advance to the next level!"), bc_map, C_RED);
end;
OnTimer120000:
- mapannounce instance_mapname("1@tower"), "Notice : In any abnormal situation where you defeat a monster, you can't advance to the next level!",bc_map,"0xff0000";
- stopnpctimer;
+ mapannounce(instance_mapname("1@tower"), _("Notice : In any abnormal situation where you defeat a monster, you can't advance to the next level!"), bc_map, C_RED);
+ stopnpctimer();
end;
}
1@tower,71,1,0 script #Manager Mode1 CLEAR_NPC,{
- callfunc "F_GM_NPC";
- mes "Please enter the password.";
- .@i = callfunc("F_GM_NPC","dmc2008",1);
- next;
+ callfunc("F_GM_NPC");
+ mes("Please enter the password.");
+ .@i = callfunc("F_GM_NPC", "dmc2008", 1);
+ next();
if (.@i == 1) {
- mes "This NPC manages the tower from the 1st to the 25th Level.";
- mes "Please enter the Level number to open.";
- mes "(i.g.: 1F->1, 25F->25)";
- input .@input,1,25;
- next;
- if (.@input < 1 || .@input > 25)
- mes "You can only enter a number from 1 to 25.";
- else {
- donpcevent instance_npcname(.@input+"FGate102tower")+"::OnEnable";
- mes "*** Level "+ .@input + " is now being opened. ***";
+ mes("This NPC manages the tower from the 1st to the 25th Level.");
+ mes("Please enter the Level number to open.");
+ mes("(i.g.: 1F->1, 25F->25)");
+ input(.@input, 1, 25);
+ next();
+ if (.@input < 1 || .@input > 25) {
+ mes("You can only enter a number from 1 to 25.");
+ } else {
+ donpcevent(instance_npcname(.@input+"FGate102tower")+"::OnEnable");
+ mesf("*** Level %d is now being opened. ***", .@input);
}
}
- close;
+ close();
}
//== Levels 26-50 ==========================================
@@ -1397,27 +1317,24 @@ OnTimer120000:
end;
OnInstanceInit:
- callfunc "F_Tower_Monster",
- 26,
- instance_mapname("2@tower"),
- instance_npcname("Immortal Furnace#1")+"::OnMyMobDead";
+ callfunc("F_Tower_Monster", 26, instance_mapname("2@tower"), instance_npcname("Immortal Furnace#1")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("2@tower");
- .@mob_dead_num = mobcount(.@map$,instance_npcname("Immortal Furnace#1")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("Immortal Furnace#1")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- initnpctimer;
+ initnpctimer();
//SetItemPartyInMap in_102floor 26
+ } else {
+ mapannounce(.@map$, sprintf(_$("Remaining Monsters on the 26th Level - %d"), .@mob_dead_num), bc_map, C_SPRINGGREEN);
}
- else
- mapannounce .@map$, "Remaining Monsters on the 26th Level - " + .@mob_dead_num,bc_map,"0x00ff99";
end;
OnTimer5000:
- mapannounce instance_mapname("2@tower"), "All Monsters on the 26th Level have been defeated.",bc_map,"0xffff00";
- donpcevent instance_npcname("26FGate102tower")+"::OnEnable";
- stopnpctimer;
+ mapannounce(instance_mapname("2@tower"), _("All Monsters on the 26th Level have been defeated."), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("26FGate102tower")+"::OnEnable");
+ stopnpctimer();
end;
}
@@ -1450,23 +1367,23 @@ OnTimer5000:
end;
OnInstanceInit:
- disablenpc instance_npcname("50FGate102tower");
+ disablenpc(instance_npcname("50FGate102tower"));
end;
OnEnable:
- enablenpc instance_npcname("50FGate102tower");
- initnpctimer;
+ enablenpc(instance_npcname("50FGate102tower"));
+ initnpctimer();
end;
OnTouch_:
- getitem Dark_Ashes,1;
- warp instance_mapname("3@tower"),52,354;
+ getitem(Dark_Ashes, 1);
+ warp(instance_mapname("3@tower"), 52, 354);
end;
OnTimer120000:
- disablenpc instance_npcname("50FGate102tower");
- donpcevent instance_npcname("50FGate102tower-2")+"::OnEnable";
- stopnpctimer;
+ disablenpc(instance_npcname("50FGate102tower"));
+ donpcevent(instance_npcname("50FGate102tower-2")+"::OnEnable");
+ stopnpctimer();
end;
}
@@ -1474,37 +1391,37 @@ OnTimer120000:
end;
OnInstanceInit:
- disablenpc instance_npcname("50FGate102tower-2");
+ disablenpc(instance_npcname("50FGate102tower-2"));
end;
OnEnable:
- enablenpc instance_npcname("50FGate102tower-2");
+ enablenpc(instance_npcname("50FGate102tower-2"));
end;
OnTouch_:
- warp instance_mapname("3@tower"),52,354;
+ warp(instance_mapname("3@tower"), 52, 354);
end;
}
2@tower,71,1,0 script #Manager Mode2 CLEAR_NPC,{
- callfunc "F_GM_NPC";
- mes "Please enter the password.";
- .@i = callfunc("F_GM_NPC","dmc2008",1);
- next;
+ callfunc("F_GM_NPC");
+ mes("Please enter the password.");
+ .@i = callfunc("F_GM_NPC", "dmc2008", 1);
+ next();
if (.@i == 1) {
- mes "This NPC manages the tower from the 26st to the 50th Level.";
- mes "Please enter the Level number to open.";
- mes "(i.g.: 26F->26, 50F->50)";
- input .@input,26,50;
- next;
- if (.@onput < 26 || .@input > 50)
- mes "You can only enter a number from 26 to 50.";
- else {
- donpcevent instance_npcname(.@input+"FGate102tower")+"::OnEnable";
- mes "*** Level "+ .@input + " is now being opened. ***";
+ mes("This NPC manages the tower from the 26st to the 50th Level.");
+ mes("Please enter the Level number to open.");
+ mes("(i.g.: 26F->26, 50F->50)");
+ input(.@input, 26, 50);
+ next();
+ if (.@onput < 26 || .@input > 50) {
+ mes("You can only enter a number from 26 to 50.");
+ } else {
+ donpcevent(instance_npcname(.@input+"FGate102tower")+"::OnEnable");
+ mesf("*** Level %d is now being opened. ***", .@input);
}
}
- close;
+ close();
}
//== Levels 51-75 ==========================================
@@ -1512,27 +1429,24 @@ OnTouch_:
end;
OnInstanceInit:
- callfunc "F_Tower_Monster",
- 51,
- instance_mapname("3@tower"),
- instance_npcname("Immortal Furnace#2")+"::OnMyMobDead";
+ callfunc("F_Tower_Monster", 51, instance_mapname("3@tower"), instance_npcname("Immortal Furnace#2")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("3@tower");
- .@mob_dead_num = mobcount(.@map$,instance_npcname("Immortal Furnace#2")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("Immortal Furnace#2")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- initnpctimer;
+ initnpctimer();
//SetItemPartyInMap in_102floor 51
+ } else {
+ mapannounce(.@map$, sprintf(_$("Remaining Monsters on the 51st Level - %d"), .@mob_dead_num), bc_map, C_SPRINGGREEN);
}
- else
- mapannounce .@map$, "Remaining Monsters on the 51st Level - " + .@mob_dead_num,bc_map,"0x00ff99";
end;
OnTimer5000:
- mapannounce instance_mapname("3@tower"), "All Monsters on the 51st Level have been defeated.",bc_map,"0xffff00";
- donpcevent instance_npcname("51FGate102tower")+"::OnEnable";
- stopnpctimer;
+ mapannounce(instance_mapname("3@tower"), _("All Monsters on the 51st Level have been defeated."), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("51FGate102tower")+"::OnEnable");
+ stopnpctimer();
end;
}
@@ -1565,23 +1479,23 @@ OnTimer5000:
end;
OnInstanceInit:
- disablenpc instance_npcname("75FGate102tower");
+ disablenpc(instance_npcname("75FGate102tower"));
end;
OnEnable:
- enablenpc instance_npcname("75FGate102tower");
- initnpctimer;
+ enablenpc(instance_npcname("75FGate102tower"));
+ initnpctimer();
end;
OnTouch_:
- getitem Dark_Ashes,1;
- warp instance_mapname("4@tower"),52,354;
+ getitem(Dark_Ashes, 1);
+ warp(instance_mapname("4@tower"), 52, 354);
end;
OnTimer120000:
- disablenpc instance_npcname("75FGate102tower");
- donpcevent instance_npcname("75FGate102tower-2")+"::OnEnable";
- stopnpctimer;
+ disablenpc(instance_npcname("75FGate102tower"));
+ donpcevent(instance_npcname("75FGate102tower-2")+"::OnEnable");
+ stopnpctimer();
end;
}
@@ -1589,37 +1503,37 @@ OnTimer120000:
end;
OnInstanceInit:
- disablenpc instance_npcname("75FGate102tower-2");
+ disablenpc(instance_npcname("75FGate102tower-2"));
end;
OnEnable:
- enablenpc instance_npcname("75FGate102tower-2");
+ enablenpc(instance_npcname("75FGate102tower-2"));
end;
OnTouch_:
- warp instance_mapname("4@tower"),52,354;
+ warp(instance_mapname("4@tower"), 52, 354);
end;
}
3@tower,71,1,0 script #Manager Mode3 CLEAR_NPC,{
- callfunc "F_GM_NPC";
- mes "Please enter the password.";
- .@i = callfunc("F_GM_NPC","dmc2008",1);
- next;
+ callfunc("F_GM_NPC");
+ mes("Please enter the password.");
+ .@i = callfunc("F_GM_NPC", "dmc2008", 1);
+ next();
if (.@i == 1) {
- mes "This NPC manages the tower from the 51st to the 75th Level.";
- mes "Please enter the Level number to open.";
- mes "(i.g.: 51F->51, 75F->75)";
- input .@input,51,75;
- next;
- if (.@input < 51 || .@input > 75)
- mes "You can only enter a number from 51 to 75.";
- else {
- donpcevent instance_npcname(.@input+"FGate102tower")+"::OnEnable";
- mes "*** Level "+ .@input + " is now being opened. ***";
+ mes("This NPC manages the tower from the 51st to the 75th Level.");
+ mes("Please enter the Level number to open.");
+ mes("(i.g.: 51F->51, 75F->75)");
+ input(.@input, 51, 75);
+ next();
+ if (.@input < 51 || .@input > 75) {
+ mes("You can only enter a number from 51 to 75.");
+ } else {
+ donpcevent(instance_npcname(.@input+"FGate102tower")+"::OnEnable");
+ mesf("*** Level %d is now being opened. ***", .@input);
}
}
- close;
+ close();
}
//== Levels 76-99 ==========================================
@@ -1627,27 +1541,24 @@ OnTouch_:
end;
OnInstanceInit:
- callfunc "F_Tower_Monster",
- 76,
- instance_mapname("4@tower"),
- instance_npcname("Immortal Furnace#3")+"::OnMyMobDead";
+ callfunc("F_Tower_Monster", 76, instance_mapname("4@tower"), instance_npcname("Immortal Furnace#3")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("4@tower");
- .@mob_dead_num = mobcount(.@map$,instance_npcname("Immortal Furnace#3")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("Immortal Furnace#3")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- initnpctimer;
+ initnpctimer();
//SetItemPartyInMap in_102floor 76
+ } else {
+ mapannounce(.@map$, sprintf(_$("Remaining Monsters on the 76th Level - %d"), .@mob_dead_num), bc_map, C_SPRINGGREEN);
}
- else
- mapannounce .@map$,"Remaining Monsters on the 76th Level - " + .@mob_dead_num,bc_map,"0x00ff99";
end;
OnTimer5000:
- mapannounce instance_mapname("4@tower"),"All Monsters on the 76th Level have been defeated.",bc_map,"0xffff00";
- donpcevent instance_npcname("76FGate102tower")+"::OnEnable";
- stopnpctimer;
+ mapannounce(instance_mapname("4@tower"), _("All Monsters on the 76th Level have been defeated."), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("76FGate102tower")+"::OnEnable");
+ stopnpctimer();
end;
}
@@ -1679,23 +1590,23 @@ OnTimer5000:
end;
OnInstanceInit:
- disablenpc instance_npcname("99FGate102tower");
+ disablenpc(instance_npcname("99FGate102tower"));
end;
OnEnable:
- enablenpc instance_npcname("99FGate102tower");
- initnpctimer;
+ enablenpc(instance_npcname("99FGate102tower"));
+ initnpctimer();
end;
OnTouch_:
- getitem Dark_Ashes,1;
- warp instance_mapname("5@tower"),101,72;
+ getitem(Dark_Ashes, 1);
+ warp(instance_mapname("5@tower"), 101, 72);
end;
OnTimer120000:
- disablenpc instance_npcname("99FGate102tower");
- donpcevent instance_npcname("99FGate102tower-2")+"::OnEnable";
- stopnpctimer;
+ disablenpc(instance_npcname("99FGate102tower"));
+ donpcevent(instance_npcname("99FGate102tower-2")+"::OnEnable");
+ stopnpctimer();
end;
}
@@ -1703,89 +1614,88 @@ OnTimer120000:
end;
OnInstanceInit:
- disablenpc instance_npcname("99FGate102tower-2");
+ disablenpc(instance_npcname("99FGate102tower-2"));
end;
OnEnable:
- enablenpc instance_npcname("99FGate102tower-2");
+ enablenpc(instance_npcname("99FGate102tower-2"));
end;
OnTouch_:
- warp instance_mapname("5@tower"),101,72;
+ warp(instance_mapname("5@tower"), 101, 72);
end;
}
4@tower,71,1,0 script #Manager Mode4 CLEAR_NPC,{
- callfunc "F_GM_NPC";
- mes "Please enter the password.";
- .@i = callfunc("F_GM_NPC","dmc2008",1);
- next;
+ callfunc("F_GM_NPC");
+ mes("Please enter the password.");
+ .@i = callfunc("F_GM_NPC", "dmc2008", 1);
+ next();
if (.@i == 1) {
- mes "This NPC manages the tower from the 76th to the 99th Level.";
- mes "Please enter the Level number to open.";
- mes "(i.g.: 76F->76, 99F->99)";
- input .@input,76,99;
- next;
- if (.@input < 76 || .@input > 99)
- mes "You can only enter a number from 76 to 99.";
- else {
- donpcevent instance_npcname(.@input+"FGate102tower")+"::OnEnable";
- mes "*** Level "+ .@input + " is now being opened. ***";
+ mes("This NPC manages the tower from the 76th to the 99th Level.");
+ mes("Please enter the Level number to open.");
+ mes("(i.g.: 76F->76, 99F->99)");
+ input(.@input, 76, 99);
+ next();
+ if (.@input < 76 || .@input > 99) {
+ mes("You can only enter a number from 76 to 99.");
+ } else {
+ donpcevent(instance_npcname(.@input+"FGate102tower")+"::OnEnable");
+ mesf("*** Level %d is now being opened. ***", .@input);
}
}
- close;
+ close();
}
//== Level 100 =============================================
5@tower,106,109,2 script Lucid Crystal#102 CLEAR_NPC,{
if (in_102tower < 10) {
- mes "^0000ffA mysterious voice echoes through the room as you touch the lucid crystal radiating a strong light.^000000";
- next;
- mes "[Mysterious Voice]";
- mes "Welcome to my place, intruders. I've had fun watching you endure all the difficulties I've set before you.";
- next;
- mes "[Mysterious Voice]";
- mes "Unfortunately, the time has come to end the show.";
- next;
- mes "[Mysterious Voice]";
- mes "It's still too early to celebrate your victory against my right-hand man Knothen because he isn't completely destroyed!";
- next;
- mes "[Mysterious Voice]";
- mes "I shall resurrect him for your next show. Defeat him again, and then I'll gladly accept your challenge.";
- next;
- mes "[Mysterious Voice]";
- mes "Good-bye for now.";
- mes "Once again, I had such a great time, humans. I look forward to seeing you again.";
- next;
- mes "^0000ffAs soon as the voice stopped talking, an irresistible force lifted and moved you somewhere else.";
- close2;
+ mes("^0000ffA mysterious voice echoes through the room as you touch the lucid crystal radiating a strong light.^000000");
+ next();
+ mes("[Mysterious Voice]");
+ mes("Welcome to my place, intruders. I've had fun watching you endure all the difficulties I've set before you.");
+ next();
+ mes("[Mysterious Voice]");
+ mes("Unfortunately, the time has come to end the show.");
+ next();
+ mes("[Mysterious Voice]");
+ mes("It's still too early to celebrate your victory against my right-hand man Knothen because he isn't completely destroyed!");
+ next();
+ mes("[Mysterious Voice]");
+ mes("I shall resurrect him for your next show. Defeat him again, and then I'll gladly accept your challenge.");
+ next();
+ mes("[Mysterious Voice]");
+ mes("Good-bye for now.");
+ mes("Once again, I had such a great time, humans. I look forward to seeing you again.");
+ next();
+ mes("^0000ffAs soon as the voice stopped talking, an irresistible force lifted and moved you somewhere else.");
+ close2();
in_102tower = 10;
- warp "alberta",223,36;
- }
- else {
- mes "^0000ffThe radiating crystal piece seems to beckon you, just like last time.^000000";
- next;
- mes "[Mysterious Voice]";
- mes "I must have underestimated you... I didn't expect to see you again.";
- next;
- mes "[Mysterious Voice]";
- mes "I can smell your sweat, hear the gasps of your exhaustion in combat. Ah~ The human desire for victory always excites me.";
- next;
- mes "[Mysterious Voice]";
- mes "I now allow you to come receive an audience from me. Come to me, to Nacht Sieger the Hegemon-King of the Darkness!";
- close2;
- warp instance_mapname("6@tower"),32,12;
+ warp("alberta", 223, 36);
+ } else {
+ mes("^0000ffThe radiating crystal piece seems to beckon you, just like last time.^000000");
+ next();
+ mes("[Mysterious Voice]");
+ mes("I must have underestimated you... I didn't expect to see you again.");
+ next();
+ mes("[Mysterious Voice]");
+ mes("I can smell your sweat, hear the gasps of your exhaustion in combat. Ah~ The human desire for victory always excites me.");
+ next();
+ mes("[Mysterious Voice]");
+ mes("I now allow you to come receive an audience from me. Come to me, to Nacht Sieger the Hegemon-King of the Darkness!");
+ close2();
+ warp(instance_mapname("6@tower"), 32, 12);
}
end;
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Lucid Crystal#102");
+ disablenpc(instance_npcname("Lucid Crystal#102"));
end;
OnEnable:
- enablenpc instance_npcname("Lucid Crystal#102");
- donpcevent instance_npcname("#102Effect1")+"::OnEnable";
+ enablenpc(instance_npcname("Lucid Crystal#102"));
+ donpcevent(instance_npcname("#102Effect1")+"::OnEnable");
end;
}
@@ -1793,22 +1703,22 @@ OnEnable:
end;
OnInstanceInit:
- disablenpc instance_npcname("#102Effect1");
+ disablenpc(instance_npcname("#102Effect1"));
end;
OnDisable:
- disablenpc instance_npcname("#102Effect1");
+ disablenpc(instance_npcname("#102Effect1"));
end;
OnEnable:
- enablenpc instance_npcname("#102Effect1");
- initnpctimer;
+ enablenpc(instance_npcname("#102Effect1"));
+ initnpctimer();
end;
OnTimer500:
- specialeffect EF_ENHANCE;
- stopnpctimer;
- donpcevent instance_npcname("#102Effect2")+"::OnEnable";
+ specialeffect(EF_ENHANCE);
+ stopnpctimer();
+ donpcevent(instance_npcname("#102Effect2")+"::OnEnable");
end;
}
@@ -1816,22 +1726,22 @@ OnTimer500:
end;
OnInstanceInit:
- disablenpc instance_npcname("#102Effect2");
+ disablenpc(instance_npcname("#102Effect2"));
end;
OnDisable:
- disablenpc instance_npcname("#102Effect2");
+ disablenpc(instance_npcname("#102Effect2"));
end;
OnEnable:
- enablenpc instance_npcname("#102Effect2");
- initnpctimer;
+ enablenpc(instance_npcname("#102Effect2"));
+ initnpctimer();
end;
OnTimer500:
- specialeffect EF_ENHANCE;
- stopnpctimer;
- donpcevent instance_npcname("#102Effect1")+"::OnEnable";
+ specialeffect(EF_ENHANCE);
+ stopnpctimer();
+ donpcevent(instance_npcname("#102Effect1")+"::OnEnable");
end;
}
@@ -1839,17 +1749,17 @@ OnTimer500:
end;
OnInstanceInit:
- donpcevent instance_npcname("#102FShadowDust")+"::OnEnable";
- monster instance_mapname("5@tower"),83,85,"Entweihen Crothen",1957,1,instance_npcname("#102FShadowDust1")+"::OnMyMobDead";
+ donpcevent(instance_npcname("#102FShadowDust")+"::OnEnable");
+ monster(instance_mapname("5@tower"), 83, 85, _("Entweihen Crothen"), ENTWEIHEN, 1, instance_npcname("#102FShadowDust1")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("5@tower");
- .@mob_dead_num = mobcount(.@map$,instance_npcname("#102FShadowDust1")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("#102FShadowDust1")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- mapannounce .@map$, "Mysterious Voice: Who are you to dare intrude upon my sanctuary?!",bc_map,"0xffff00";
- donpcevent instance_npcname("#102FShadowDust")+"::OnDisable";
- donpcevent instance_npcname("Lucid Crystal#102")+"::OnEnable";
+ mapannounce(.@map$, _("Mysterious Voice: Who are you to dare intrude upon my sanctuary?!"), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("#102FShadowDust")+"::OnDisable");
+ donpcevent(instance_npcname("Lucid Crystal#102")+"::OnEnable");
//SetItemPartyInMap in_102floor 100
}
end;
@@ -1859,74 +1769,86 @@ OnMyMobDead:
end;
OnInstanceInit:
- disablenpc instance_npcname("#102FShadowDust");
+ disablenpc(instance_npcname("#102FShadowDust"));
end;
OnDisable:
- killmonsterall instance_mapname("5@tower");
+ killmonsterall(instance_mapname("5@tower"));
end;
OnEnable:
.@map$ = instance_mapname("5@tower");
- monster .@map$,72,93,"Thorny Skeleton",1958,1;
- monster .@map$,70,87,"Thorn of Magic",1960,1;
- monster .@map$,68,83,"Thorn of Pureness",1961,1;
- monster .@map$,70,80,"Thorny Skeleton",1958,1;
- monster .@map$,74,81,"Thorn of Magic",1960,1;
- monster .@map$,78,72,"Thorn of Magic",1960,1;
- monster .@map$,81,70,"Thorny Skeleton",1958,1;
- monster .@map$,78,84,"Thorn of Recovery",1959,1;
- monster .@map$,85,72,"Thorn of Magic",1960,1;
- monster .@map$,91,74,"Thorny Skeleton",1958,1;
- monster .@map$,79,77,"Thorn of Pureness",1961,1;
- monster .@map$,82,80,"Thorn of Recovery",1959,1;
- monster .@map$,87,83,"Thorn of Recovery",1959,1;
- monster .@map$,80,92,"Thorn of Pureness",1961,1;
- monster .@map$,81,89,"Thorny Skeleton",1958,1;
- monster .@map$,85,93,"Thorn of Magic",1960,1;
- monster .@map$,86,90,"Thorn of Recovery",1959,1;
- monster .@map$,88,88,"Thorny Skeleton",1958,1;
- monster .@map$,91,87,"Thorn of Magic",1960,1;
- monster .@map$,95,94,"Thorn of Magic",1960,1;
- monster .@map$,91,96,"Thorny Skeleton",1958,1;
- monster .@map$,90,82,"Thorn of Pureness",1961,1;
- monster .@map$,96,98,"Thorn of Magic",1960,1;
- monster .@map$,83,76,"Thorny Skeleton",1958,1;
- monster .@map$,74,85,"Thorny Skeleton",1958,1;
- switch(rand(1,3)) {
- case 1: monster .@map$,82,85,"Thorny Skeleton",1958,1; break;
- case 2: monster .@map$,82,85,"Thorn of Magic",1960,1; break;
- case 3: monster .@map$,82,85,"Thorn of Pureness",1961,1; break;
+ monster(.@map$, 72, 93, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1);
+ monster(.@map$, 70, 87, _("Thorn of Magic"), G_ENTWEIHEN_M, 1);
+ monster(.@map$, 68, 83, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1);
+ monster(.@map$, 70, 80, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1);
+ monster(.@map$, 74, 81, _("Thorn of Magic"), G_ENTWEIHEN_M, 1);
+ monster(.@map$, 78, 72, _("Thorn of Magic"), G_ENTWEIHEN_M, 1);
+ monster(.@map$, 81, 70, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1);
+ monster(.@map$, 78, 84, _("Thorn of Recovery"), G_ENTWEIHEN_H, 1);
+ monster(.@map$, 85, 72, _("Thorn of Magic"), G_ENTWEIHEN_M, 1);
+ monster(.@map$, 91, 74, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1);
+ monster(.@map$, 79, 77, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1);
+ monster(.@map$, 82, 80, _("Thorn of Recovery"), G_ENTWEIHEN_H, 1);
+ monster(.@map$, 87, 83, _("Thorn of Recovery"), G_ENTWEIHEN_H, 1);
+ monster(.@map$, 80, 92, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1);
+ monster(.@map$, 81, 89, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1);
+ monster(.@map$, 85, 93, _("Thorn of Magic"), G_ENTWEIHEN_M, 1);
+ monster(.@map$, 86, 90, _("Thorn of Recovery"), G_ENTWEIHEN_H, 1);
+ monster(.@map$, 88, 88, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1);
+ monster(.@map$, 91, 87, _("Thorn of Magic"), G_ENTWEIHEN_M, 1);
+ monster(.@map$, 95, 94, _("Thorn of Magic"), G_ENTWEIHEN_M, 1);
+ monster(.@map$, 91, 96, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1);
+ monster(.@map$, 90, 82, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1);
+ monster(.@map$, 96, 98, _("Thorn of Magic"), G_ENTWEIHEN_M, 1);
+ monster(.@map$, 83, 76, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1);
+ monster(.@map$, 74, 85, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1);
+ switch (rand(1, 3)) {
+ case 1:
+ monster(.@map$, 82, 85, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1);
+ break;
+ case 2:
+ monster(.@map$, 82, 85, _("Thorn of Magic"), G_ENTWEIHEN_M, 1);
+ break;
+ case 3:
+ monster(.@map$, 82, 85, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1);
+ break;
}
- switch(rand(1,3)) {
- case 1: monster .@map$,84,85,"Thorny Skeleton",1958,1; break;
- case 2: monster .@map$,84,85,"Thorn of Magic",1960,1; break;
- case 3: monster .@map$,84,85,"Thorn of Pureness",1961,1; break;
+ switch (rand(1, 3)) {
+ case 1:
+ monster(.@map$, 84, 85, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1);
+ break;
+ case 2:
+ monster(.@map$, 84, 85, _("Thorn of Magic"), G_ENTWEIHEN_M, 1);
+ break;
+ case 3:
+ monster(.@map$, 84, 85, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1);
+ break;
}
end;
}
5@tower,71,1,0 script #Manager Mode5 CLEAR_NPC,{
- callfunc "F_GM_NPC";
- mes "This NPC manages the crystal on the 100th Level. Please enter the password.";
- .@i = callfunc("F_GM_NPC","dmc2008",1);
- next;
+ callfunc("F_GM_NPC");
+ mes("This NPC manages the crystal on the 100th Level. Please enter the password.");
+ .@i = callfunc("F_GM_NPC", "dmc2008", 1);
+ next();
if (.@i == 1) {
- donpcevent instance_npcname("Lucid Crystal#102")+"::OnEnable";
- mes "The 100th Level's crystal has been activated.";
+ donpcevent(instance_npcname("Lucid Crystal#102")+"::OnEnable");
+ mes("The 100th Level's crystal has been activated.");
} else
- mes "Please enter the correct password.";
- close;
+ mes("Please enter the correct password.");
+ close();
}
//== Level 101 =============================================
6@tower,45,89,2 script Life Spring#1 CLEAR_NPC,{
- mes "^0066ffYou took a sip of the spring's clear water, and you feel invigorated.^000000";
- heal (MaxHp-Hp),(MaxSp-Sp);
- close;
+ mes("^0066ffYou took a sip of the spring's clear water, and you feel invigorated.^000000");
+ heal((MaxHp - Hp), (MaxSp - Sp));
+ close();
OnInstanceInit:
- donpcevent instance_npcname("Life Spring#2")+"::OnEnable";
+ donpcevent(instance_npcname("Life Spring#2")+"::OnEnable");
end;
}
@@ -1934,13 +1856,13 @@ OnInstanceInit:
end;
OnEnable:
- specialeffect EF_BUBBLE;
- initnpctimer;
+ specialeffect(EF_BUBBLE);
+ initnpctimer();
end;
OnTimer2000:
- stopnpctimer;
- donpcevent instance_npcname("Life Spring#3")+"::OnEnable";
+ stopnpctimer();
+ donpcevent(instance_npcname("Life Spring#3")+"::OnEnable");
end;
}
@@ -1948,13 +1870,13 @@ OnTimer2000:
end;
OnEnable:
- specialeffect EF_BUBBLE;
- initnpctimer;
+ specialeffect(EF_BUBBLE);
+ initnpctimer();
end;
OnTimer2000:
- stopnpctimer;
- donpcevent instance_npcname("Life Spring#2")+"::OnEnable";
+ stopnpctimer();
+ donpcevent(instance_npcname("Life Spring#2")+"::OnEnable");
end;
}
@@ -1964,14 +1886,14 @@ OnTimer2000:
end;
OnInstanceInit:
- areamonster instance_mapname("6@tower"),154,73,156,75,"Watcher's Son",1627,10,instance_npcname("Tyrant's Throne#")+"::OnMyMobDead";
+ areamonster(instance_mapname("6@tower"), 154, 73, 156, 75, _("Watcher's Son"), ANOPHELES, 10, instance_npcname("Tyrant's Throne#")+"::OnMyMobDead");
end;
OnMyMobDead:
- .@mob_dead_num = mobcount(instance_mapname("6@tower"),instance_npcname("Tyrant's Throne#")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(instance_mapname("6@tower"), instance_npcname("Tyrant's Throne#")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- donpcevent instance_npcname("#1st Beeper")+"::OnEnable";
- disablenpc instance_npcname("Tyrant's Throne#");
+ donpcevent(instance_npcname("#1st Beeper")+"::OnEnable");
+ disablenpc(instance_npcname("Tyrant's Throne#"));
}
end;
}
@@ -1980,42 +1902,42 @@ OnMyMobDead:
end;
OnEnable:
- initnpctimer;
+ initnpctimer();
end;
OnTimer500:
- mapannounce instance_mapname("6@tower"),"Guests, huh? I hope you've come here knowing that you'll be buried in this place. If you didn't know, well... it's too late!",bc_map,"0x00ffcc";
+ mapannounce(instance_mapname("6@tower"), _("Guests, huh? I hope you've come here knowing that you'll be buried in this place. If you didn't know, well... it's too late!"), bc_map, "0x00ffcc");
end;
OnTimer5500:
- mapannounce instance_mapname("6@tower"),"This is why you adventurers always end up dead.",bc_map,"0x00ffcc";
+ mapannounce(instance_mapname("6@tower"), _("This is why you adventurers always end up dead."), bc_map, "0x00ffcc");
end;
OnTimer10500:
- mapannounce instance_mapname("6@tower"),"I may applaud you for your courage... Of course, I intend to play with you a little bit first.",bc_map,"0x00ffcc";
+ mapannounce(instance_mapname("6@tower"), _("I may applaud you for your courage... Of course, I intend to play with you a little bit first."), bc_map, "0x00ffcc");
end;
OnTimer15500:
- mapannounce instance_mapname("6@tower"),"You know, I like watching humans running around in fear.",bc_map,"0x00ffcc";
+ mapannounce(instance_mapname("6@tower"), _("You know, I like watching humans running around in fear."), bc_map, "0x00ffcc");
end;
OnTimer20500:
.@map$ = instance_mapname("6@tower");
- mapannounce .@map$,"Let's see who runs fastest. Are you ready?",bc_map,"0x00ffcc";
- stopnpctimer;
- areamonster .@map$,151,66,153,106,"Bone Guardian",1152,50,instance_npcname("#1st Beeper")+"::OnMyMobDead";
- areamonster .@map$,158,66,160,106,"Bone Guardian",1152,50,instance_npcname("#1st Beeper")+"::OnMyMobDead";
+ mapannounce(.@map$, _("Let's see who runs fastest. Are you ready?"), bc_map, "0x00ffcc");
+ stopnpctimer();
+ areamonster(.@map$, 151, 66, 153, 106, _("Bone Guardian"), ORC_SKELETON, 50, instance_npcname("#1st Beeper")+"::OnMyMobDead");
+ areamonster(.@map$, 158, 66, 160, 106, _("Bone Guardian"), ORC_SKELETON, 50, instance_npcname("#1st Beeper")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("6@tower");
- .@mob_dead_num = mobcount(.@map$,instance_npcname("#1st Beeper")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("#1st Beeper")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- donpcevent instance_npcname("#2nd Beeper")+"::OnEnable";
+ donpcevent(instance_npcname("#2nd Beeper")+"::OnEnable");
//SetItemPartyInMap in_102floor 101
+ } else {
+ mapannounce(.@map$, sprintf(_$("Remaining Targets %dea"), .@mob_dead_num), bc_map, C_SPRINGGREEN);
}
- else
- mapannounce .@map$,"Remaining Targets " + .@mob_dead_num + "ea",bc_map,"0x00ff99";
end;
}
@@ -2023,34 +1945,34 @@ OnMyMobDead:
end;
OnEnable:
- initnpctimer;
+ initnpctimer();
end;
OnTimer500:
- mapannounce instance_mapname("6@tower"),"Well, I guess they aren't too challenging for you.",bc_map,"0x00ffcc";
+ mapannounce(instance_mapname("6@tower"), _("Well, I guess they aren't too challenging for you."), bc_map, "0x00ffcc");
end;
OnTimer5500:
- mapannounce instance_mapname("6@tower"),"Let's speed up a little bit, shall we?",bc_map,"0x00ffcc";
+ mapannounce(instance_mapname("6@tower"), _("Let's speed up a little bit, shall we?"), bc_map, "0x00ffcc");
end;
OnTimer10500:
.@map$ = instance_mapname("6@tower");
- mapannounce .@map$,"I demand an encore!",bc_map,"0x00ffcc";
- stopnpctimer;
- areamonster .@map$,151,66,153,106,"Wind Guardian",1263,30,instance_npcname("#2nd Beeper")+"::OnMyMobDead";
- areamonster .@map$,158,66,160,106,"Wind Guardian",1263,30,instance_npcname("#2nd Beeper")+"::OnMyMobDead";
+ mapannounce(.@map$, _("I demand an encore!"), bc_map, "0x00ffcc");
+ stopnpctimer();
+ areamonster(.@map$, 151, 66, 153, 106, _("Wind Guardian"), WIND_GHOST, 30, instance_npcname("#2nd Beeper")+"::OnMyMobDead");
+ areamonster(.@map$, 158, 66, 160, 106, _("Wind Guardian"), WIND_GHOST, 30, instance_npcname("#2nd Beeper")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("6@tower");
- .@mob_dead_num = mobcount(.@map$,instance_npcname("#2nd Beeper")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("#2nd Beeper")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- donpcevent instance_npcname("#3rd Beeper")+"::OnEnable";
+ donpcevent(instance_npcname("#3rd Beeper")+"::OnEnable");
//SetItemPartyInMap in_102floor 102
+ } else {
+ mapannounce(.@map$, sprintf(_$("Remaining Targets %dea"), .@mob_dead_num), bc_map, C_SPRINGGREEN);
}
- else
- mapannounce .@map$,"Remaining Targets " + .@mob_dead_num + "ea",bc_map,"0x00ff99";
end;
}
@@ -2058,34 +1980,34 @@ OnMyMobDead:
end;
OnEnable:
- initnpctimer;
+ initnpctimer();
end;
OnTimer500:
- mapannounce instance_mapname("6@tower"),"Yes, this is getting exciting!",bc_map,"0x00ffcc";
+ mapannounce(instance_mapname("6@tower"), _("Yes, this is getting exciting!"), bc_map, "0x00ffcc");
end;
OnTimer5500:
- mapannounce instance_mapname("6@tower"),"I'll remember you as one of a few that have managed to entertain me.",bc_map,"0x00ffcc";
+ mapannounce(instance_mapname("6@tower"), _("I'll remember you as one of a few that have managed to entertain me."), bc_map, "0x00ffcc");
end;
OnTimer10500:
.@map$ = instance_mapname("6@tower");
- mapannounce .@map$,"How would you like to play one more round?",bc_map,"0x00ffcc";
- stopnpctimer;
- areamonster .@map$,151,66,153,106,"Sword Edge Guardian",1132,20,instance_npcname("#3rd Beeper")+"::OnMyMobDead";
- areamonster .@map$,158,66,160,106,"Sword Edge Guardian",1132,20,instance_npcname("#3rd Beeper")+"::OnMyMobDead";
+ mapannounce(.@map$, _("How would you like to play one more round?"), bc_map, "0x00ffcc");
+ stopnpctimer();
+ areamonster(.@map$, 151, 66, 153, 106, _("Sword Edge Guardian"), KHALITZBURG, 20, instance_npcname("#3rd Beeper")+"::OnMyMobDead");
+ areamonster(.@map$, 158, 66, 160, 106, _("Sword Edge Guardian"), KHALITZBURG, 20, instance_npcname("#3rd Beeper")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("6@tower");
- .@mob_dead_num = mobcount(.@map$,instance_npcname("#3rd Beeper")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("#3rd Beeper")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- donpcevent instance_npcname("#4th Beeper")+"::OnEnable";
+ donpcevent(instance_npcname("#4th Beeper")+"::OnEnable");
//SetItemPartyInMap in_102floor 103
+ } else {
+ mapannounce(.@map$, sprintf(_$("Remaining Targets %dea"), .@mob_dead_num), bc_map, C_SPRINGGREEN);
}
- else
- mapannounce .@map$,"Remaining Targets " + .@mob_dead_num + "ea",bc_map,"0x00ff99";
end;
}
@@ -2093,106 +2015,106 @@ OnMyMobDead:
end;
OnEnable:
- initnpctimer;
+ initnpctimer();
end;
OnTimer500:
- mapannounce instance_mapname("6@tower"),"Okay, the time has come to make my appearance!",bc_map,"0x00ffcc";
+ mapannounce(instance_mapname("6@tower"), _("Okay, the time has come to make my appearance!"), bc_map, "0x00ffcc");
end;
OnTimer5500:
- mapannounce instance_mapname("6@tower"),"Do you want to know who I am?",bc_map,"0x00ffcc";
+ mapannounce(instance_mapname("6@tower"), _("Do you want to know who I am?"), bc_map, "0x00ffcc");
end;
OnTimer10500:
.@map$ = instance_mapname("6@tower");
- mapannounce .@map$,"You'll soon know. Mine is the face of death!",bc_map,"0x00ffcc";
- stopnpctimer;
- monster .@map$,156,147,"Nacht Sieger",1956,1,instance_npcname("#4th Beeper")+"::OnMyMobDead";
+ mapannounce(.@map$, _("You'll soon know. Mine is the face of death!"), bc_map, "0x00ffcc");
+ stopnpctimer();
+ monster(.@map$, 156, 147, _("Nacht Sieger"), NAGHT_SIEGER, 1, instance_npcname("#4th Beeper")+"::OnMyMobDead");
end;
OnMyMobDead:
- donpcevent instance_npcname("Lost Soul#102")+"::OnEnable";
+ donpcevent(instance_npcname("Lost Soul#102")+"::OnEnable");
end;
}
6@tower,169,127,2 script Lost Soul#102 4_M_NFDEADSWDMAN,{
- if (checkweight(Knife,1) == 0) {
- mes "You're carrying too much stuff. Why don't you put some of it away, and then come back?";
- close;
+ if (checkweight(Knife, 1) == 0) {
+ mes("You're carrying too much stuff. Why don't you put some of it away, and then come back?");
+ close();
}
- mes "[Lost Souls]";
- mes "It's you that have liberated us from the evil Nacht Sieger.";
- next;
- mes "[Lost Souls]";
- mes "Thank you so much. Now we can escape from this cold and dark place... to heaven.";
- next;
- if ((countitem(Twin_Edge_B) > 0) && (countitem(Twin_Edge_R) > 0)) {
- mes "[Lost Souls]";
- mes "Hey, you have the remnants of Nacht Sieger with you.";
- next;
- mes "[Lost Souls]";
- mes "They may appear to be one-handed swords, but I can put them together to make a two-handed one if you want. That's the only way I can repay you for freeing me.";
- next;
- switch(select("Make a Two-Handed Sword.", "No, thanks.")) {
+ mes("[Lost Souls]");
+ mes("It's you that have liberated us from the evil Nacht Sieger.");
+ next();
+ mes("[Lost Souls]");
+ mes("Thank you so much. Now we can escape from this cold and dark place... to heaven.");
+ next();
+ if (countitem(Twin_Edge_B) > 0 && countitem(Twin_Edge_R) > 0) {
+ mes("[Lost Souls]");
+ mes("Hey, you have the remnants of Nacht Sieger with you.");
+ next();
+ mes("[Lost Souls]");
+ mes("They may appear to be one-handed swords, but I can put them together to make a two-handed one if you want. That's the only way I can repay you for freeing me.");
+ next();
+ switch (select("Make a Two-Handed Sword.", "No, thanks.")) {
case 1:
- mes "[Lost Souls]";
- mes "If it is already upgraded or has a card inside, those effects will be disappear. Is this ok with you?";
- next;
- switch(select("It's fine with me. Please make one.", "No way!")) {
+ mes("[Lost Souls]");
+ mes("If it is already upgraded or has a card inside, those effects will be disappear. Is this ok with you?");
+ next();
+ switch (select("It's fine with me. Please make one.", "No way!")) {
case 1:
- mes "[Lost Souls]";
- mes "Good, then I'll combine these to create a two-handed sword.";
- next;
- delitem Twin_Edge_B,1;
- delitem Twin_Edge_R,1;
- getitem Violet_Fear,1;
+ mes("[Lost Souls]");
+ mes("Good, then I'll combine these to create a two-handed sword.");
+ next();
+ delitem(Twin_Edge_B, 1);
+ delitem(Twin_Edge_R, 1);
+ getitem(Violet_Fear, 1);
break;
case 2:
- mes "[Lost Souls]";
- mes "I see. I guess you aren't as greedy or ambitious as those other adventurers.";
- next;
+ mes("[Lost Souls]");
+ mes("I see. I guess you aren't as greedy or ambitious as those other adventurers.");
+ next();
break;
}
break;
case 2:
- mes "[Lost Souls]";
- mes "I see. I guess you aren't as greedy or ambitious as those other adventurers.";
- next;
+ mes("[Lost Souls]");
+ mes("I see. I guess you aren't as greedy or ambitious as those other adventurers.");
+ next();
break;
}
}
- mes "[Lost Souls]";
- mes "I'd like to talk to you more, but I've... I've got to go now.";
- next;
- mes "[Lost Souls]";
- mes "Farewell, young adventurer. I wish you good luck.";
- close2;
- warp "alberta",223,36;
+ mes("[Lost Souls]");
+ mes("I'd like to talk to you more, but I've... I've got to go now.");
+ next();
+ mes("[Lost Souls]");
+ mes("Farewell, young adventurer. I wish you good luck.");
+ close2();
+ warp("alberta", 223, 36);
end;
OnInstanceInit:
- disablenpc instance_npcname("Lost Soul#102");
+ disablenpc(instance_npcname("Lost Soul#102"));
end;
OnEnable:
- initnpctimer;
- enablenpc instance_npcname("Lost Soul#102");
- donpcevent instance_npcname("#Effect30")+"::OnEnable";
+ initnpctimer();
+ enablenpc(instance_npcname("Lost Soul#102"));
+ donpcevent(instance_npcname("#Effect30")+"::OnEnable");
//SetItemPartyInMap in_102floor 104
end;
OnTimer500:
- mapannounce instance_mapname("6@tower"),"This... This can't be happening! I can't be defeated!",bc_map,"0xffff00";
+ mapannounce(instance_mapname("6@tower"), _("This... This can't be happening! I can't be defeated!"), bc_map, C_YELLOW);
end;
OnTimer5500:
- mapannounce instance_mapname("6@tower"),"Nooo! My soul... My shell...! Nooo~!",bc_map,"0xffff00";
+ mapannounce(instance_mapname("6@tower"), _("Nooo! My soul... My shell...! Nooo~!"), bc_map, C_YELLOW);
end;
OnTimer10500:
- mapannounce instance_mapname("6@tower"),"Nacht Sieger's body has turned into dark ashes that scattered in the wind.",bc_map,"0x00ffcc";
- stopnpctimer;
+ mapannounce(instance_mapname("6@tower"), _("Nacht Sieger's body has turned into dark ashes that scattered in the wind."), bc_map, "0x00ffcc");
+ stopnpctimer();
end;
}
@@ -2200,17 +2122,17 @@ OnTimer10500:
end;
OnInstanceInit:
- disablenpc instance_npcname("#Effect30");
+ disablenpc(instance_npcname("#Effect30"));
end;
OnEnable:
- specialeffect EF_CONE;
- initnpctimer;
+ specialeffect(EF_CONE);
+ initnpctimer();
end;
OnTimer1000:
- stopnpctimer;
- donpcevent instance_npcname("#Effect31")+"::OnEnable";
+ stopnpctimer();
+ donpcevent(instance_npcname("#Effect31")+"::OnEnable");
end;
}
@@ -2218,16 +2140,16 @@ OnTimer1000:
end;
OnInstanceInit:
- disablenpc instance_npcname("#Effect31");
+ disablenpc(instance_npcname("#Effect31"));
end;
OnEnable:
- specialeffect EF_CONE;
- initnpctimer;
+ specialeffect(EF_CONE);
+ initnpctimer();
end;
OnTimer1000:
- stopnpctimer;
- donpcevent instance_npcname("#Effect30")+"::OnEnable";
+ stopnpctimer();
+ donpcevent(instance_npcname("#Effect30")+"::OnEnable");
end;
}
diff --git a/npc/instances/NydhoggsNest.txt b/npc/instances/NydhoggsNest.txt
index 2c583d441..d39d90cd3 100644
--- a/npc/instances/NydhoggsNest.txt
+++ b/npc/instances/NydhoggsNest.txt
@@ -35,1497 +35,1505 @@
nyd_dun02,100,201,3 script Yggdrasil Gatekeeper HIDDEN_NPC,8,8,{
if (ins_nyd == 0) {
- mes "A great stone gate stands before you. The sculpture of a terrible dragon spreads its powerful looking wings.";
- next;
- mes "Near the bottom of the gate, Laphine tribeswomen have been turned to stone and now look like they are part of the great door.";
- next;
- switch(select("Move closer to look more carefully.", "Step back.")) {
+ mes("A great stone gate stands before you. The sculpture of a terrible dragon spreads its powerful looking wings.");
+ next();
+ mes("Near the bottom of the gate, Laphine tribeswomen have been turned to stone and now look like they are part of the great door.");
+ next();
+ switch (select("Move closer to look more carefully.", "Step back.")) {
case 1:
- specialeffect2 EF_HOLYHIT;
- pushpc 3,3;
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
+ pushpc(3, 3);
if (ep13_1_edq == 14)
ep13_1_edq = 15;
- mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door...";
- next;
- mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation.";
- next;
- mes "It would be better to go back to camp and inform the others and ask for help.";
+ mes("A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door...");
+ next();
+ mes("Perhaps there's a great hidden secret beyond the gate, beyond expectation.");
+ next();
+ mes("It would be better to go back to camp and inform the others and ask for help.");
if (ep13_1_edq != 15) {
- next;
- mes "You'll have to obtain the others trust in the expendition camp by working hard.";
+ next();
+ mes("You'll have to obtain the others trust in the expendition camp by working hard.");
}
ins_nyd = 1;
- close;
+ close();
case 2:
- close;
+ close();
}
} else if (ins_nyd == 1) {
- mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door...";
- next;
- mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation.";
- next;
- mes "It would be better to go back to camp and inform the others and ask for help.";
+ mes("A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door...");
+ next();
+ mes("Perhaps there's a great hidden secret beyond the gate, beyond expectation.");
+ next();
+ mes("It would be better to go back to camp and inform the others and ask for help.");
if (ep13_1_edq == 14 || ep13_1_edq == 15) {
ep13_1_edq = 15;
- close;
+ close();
}
- next;
- mes "You'll have to obtain the others trust in the expendition camp by working hard.";
- close;
+ next();
+ mes("You'll have to obtain the others trust in the expendition camp by working hard.");
+ close();
} else if (ins_nyd == 111 || ins_nyd == 112) {
- specialeffect2 EF_CHANGECOLD;
- mes "The strange sensation surrounding your body has disappeared";
- next;
- mes "When you touch the stone gate, you hear a commanding voice.";
- next;
- mes "[??????]";
- mes "Wingless one... Our promised words...";
- next;
- switch(select("'Guardian's spell'!", "Take a step back.")) {
+ specialeffect(EF_CHANGECOLD, AREA, playerattached());
+ mes("The strange sensation surrounding your body has disappeared");
+ next();
+ mes("When you touch the stone gate, you hear a commanding voice.");
+ next();
+ mes("[??????]");
+ mes("Wingless one... Our promised words...");
+ next();
+ switch (select("'Guardian's spell'!", "Take a step back.")) {
case 1:
- mes "[??????]";
- mes "Promised words... Guardian's spell... proof of their existence.";
- next;
- mes "[Yggdrasil Gatekeeper]";
- mes "In the name of Yggdrasiliad, I will accept you as a servant of the Guardian.";
- next;
- specialeffect2 EF_CHANGECOLD;
+ mes("[??????]");
+ mes("Promised words... Guardian's spell... proof of their existence.");
+ next();
+ mes("[Yggdrasil Gatekeeper]");
+ mes("In the name of Yggdrasiliad, I will accept you as a servant of the Guardian.");
+ next();
+ specialeffect(EF_CHANGECOLD, AREA, playerattached());
ins_nyd = 200;
- mes "[Yggdrasil Gatekeeper]";
- mes "I accept your entrance through the Guardian's gate. You are now considered a faithful servant of the Guardian Nidhoggur.";
- next;
- mes "The voice has disappeared, and the dark power is calming down from behind the stone gate.";
- close;
+ mes("[Yggdrasil Gatekeeper]");
+ mes("I accept your entrance through the Guardian's gate. You are now considered a faithful servant of the Guardian Nidhoggur.");
+ next();
+ mes("The voice has disappeared, and the dark power is calming down from behind the stone gate.");
+ close();
case 2:
- close;
+ close();
}
} else if (ins_nyd == 131 || ins_nyd == 132 || ins_nyd > 199) {
.@party_id = getcharid(CHAR_ID_PARTY);
- .@md_name$ = "Nidhoggur's Nest";
+ .@md_name$ = _("Nidhoggur's Nest");
- .@ins_nyd_check = questprogress(3135,PLAYTIME); // 3 Day cooldown
- .@ins_nyd_check2 = questprogress(3136,PLAYTIME); // 4 Hour play limit
+ .@ins_nyd_check = questprogress(3135, PLAYTIME); // 3 Day cooldown
+ .@ins_nyd_check2 = questprogress(3136, PLAYTIME); // 4 Hour play limit
- mes "As I put my hands on the stone gate, a voice sounded from the depth of my heart.";
- next;
+ mes("As I put my hands on the stone gate, a voice sounded from the depth of my heart.");
+ next();
if (!.@ins_nyd_check && !.@ins_nyd_check2) {
- if (!instance_check_party(.@party_id,2,70)) {
- mes "[Yggdrasil Gatekeeper]";
- mes "Where are the other servants, so you can work together? Each servant cannot be admitted here individually...";
- next;
- mes "[Yggdrasil Gatekeeper]";
- mes "Come with at least 1 more servant... Only party leaders can accept admission to Nidhoggur's Nest.";
- next;
- mes "[Yggdrasil Gatekeeper]";
- mes "And only 1 representative of you needs to talk to me, so don't annoy me...";
- close;
+ if (!instance_check_party(.@party_id, 2, 70)) {
+ mes("[Yggdrasil Gatekeeper]");
+ mes("Where are the other servants, so you can work together? Each servant cannot be admitted here individually...");
+ next();
+ mes("[Yggdrasil Gatekeeper]");
+ mes("Come with at least 1 more servant... Only party leaders can accept admission to Nidhoggur's Nest.");
+ next();
+ mes("[Yggdrasil Gatekeeper]");
+ mes("And only 1 representative of you needs to talk to me, so don't annoy me...");
+ close();
}
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
- mes "[Yggdrasil Gatekeeper]";
- mes "The loyal servants of the Guardian... what can I do for you?";
- next;
- switch(select("Please allow me to enter.", "I want to go in.", "I want to leave.")) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2)) {
+ mes("[Yggdrasil Gatekeeper]");
+ mes("The loyal servants of the Guardian... what can I do for you?");
+ next();
+ switch (select("Please allow me to enter.", "I want to go in.", "I want to leave.")) {
case 1:
.@instance = instance_create(.@md_name$, .@party_id);
- if (.@instance < 0) {
- mes "[Yggdrasil Gatekeeper]";
- mes "The Guardian seems to wish to be alone. I will go in and check, please wait out here.";
- close;
+ if (.@instance >= 0) {
+ for (.@i = 1; .@i <= 2; ++.@i) {
+ if (instance_attachmap(.@i + "@nyd", .@instance) == "") {
+ mes("[Yggdrasil Gatekeeper]");
+ mes("The Guardian seems to wish to be alone. I will go in and check, please wait out here.");
+ instance_destroy(.@instance);
+ close();
+ }
+ }
+ instance_set_timeout(144000, 300, .@instance);
+ instance_init(.@instance);
}
- for (.@i = 1; .@i <= 2; ++.@i) {
- if( instance_attachmap(.@i + "@nyd", .@instance) == "" )
- break;
- }
- if( .@i < 2 ) {
- instance_destroy(.@instance);
- close;
- }
- instance_set_timeout 144000,300,.@instance;
- instance_init(.@instance);
- mes "[Yggdrasil Gatekeeper]";
- mes "I've recorded your request, are you ready to go inside?";
- next;
- mes "[Yggdrasil Gatekeeper]";
- mes "If you are ready, I will allow you to enter.";
- close;
+ mes("[Yggdrasil Gatekeeper]");
+ mes("I've recorded your request, are you ready to go inside?");
+ next();
+ mes("[Yggdrasil Gatekeeper]");
+ mes("If you are ready, I will allow you to enter.");
+ close();
case 2:
- goto L_Enter;
+ callsub(L_Enter);
case 3:
- close;
+ close();
}
}
- mes "[Yggdrasil Gatekeeper]";
- mes "If you have the dungeon generated already, you can enter it.";
- next;
- if(select("I want to go in.", "I want to leave.") == 2)
- close;
- goto L_Enter;
+ mes("[Yggdrasil Gatekeeper]");
+ mes("If you have the dungeon generated already, you can enter it.");
+ next();
+ if (select("I want to go in.", "I want to leave.") == 2)
+ close();
+ callsub(L_Enter);
} else {
.@instance = has_instance2("1@nyd");
- if (.@instance >= 0) {
+ if (.@instance >= 0)
instance_attach(.@instance);
- }
if (.@ins_nyd_check == 1) {
if ('ins_nyd2 == 3 || 'ins_nyd2 == 4) {
- mes "[Yggdrasil Gatekeeper]";
- mes "With the defeat of Nidhoggur's Shadow, the roots of the World Tree Yggdrasil are also affected.";
- next;
- mes "[Yggdrasil Gatekeeper]";
- mes "After Nidhoggur's Shadow disappears, at least 3 days is needed for stabilizing.";
- close;
+ mes("[Yggdrasil Gatekeeper]");
+ mes("With the defeat of Nidhoggur's Shadow, the roots of the World Tree Yggdrasil are also affected.");
+ next();
+ mes("[Yggdrasil Gatekeeper]");
+ mes("After Nidhoggur's Shadow disappears, at least 3 days is needed for stabilizing.");
+ close();
}
- mes "[Yggdrasil Gatekeeper]";
- mes "If you have the dungeon generated already, you can enter it.";
- next;
- if(select("I want to go in.", "I want to leave.") == 2)
- close;
- goto L_Enter;
+ mes("[Yggdrasil Gatekeeper]");
+ mes("If you have the dungeon generated already, you can enter it.");
+ next();
+ if (select("I want to go in.", "I want to leave.") == 2)
+ close();
+ callsub(L_Enter);
} else if (.@ins_nyd_check == 2) {
if (.@ins_nyd_check2 == 1) {
- mes "[Yggdrasil Gatekeeper]";
- mes "The time limit to enter the dungeon has expired. You must wait for the World Tree to stabilize its power before trying to re-enter.";
- close;
+ mes("[Yggdrasil Gatekeeper]");
+ mes("The time limit to enter the dungeon has expired. You must wait for the World Tree to stabilize its power before trying to re-enter.");
+ close();
} else if (.@ins_nyd_check2 == 2) {
- mes "[Yggdrasil Gatekeeper]";
- mes "The World Tree Yggdrasil has stabilized. Would you like to enter Nidhoggur's Nest again?";
- next;
- mes "[Yggdrasil Gatekeeper]";
- mes "If you would like to enter again, please register with me.";
- erasequest 3135;
- erasequest 3136;
+ mes("[Yggdrasil Gatekeeper]");
+ mes("The World Tree Yggdrasil has stabilized. Would you like to enter Nidhoggur's Nest again?");
+ next();
+ mes("[Yggdrasil Gatekeeper]");
+ mes("If you would like to enter again, please register with me.");
+ erasequest(3135);
+ erasequest(3136);
'ins_nyd2 = 0;
- close;
+ close();
}
}
}
- close;
+ close();
} else {
- mes "A great stone gate stands before you. The sculpture of a terrible dragon spreads its powerful looking wings.";
- next;
- mes "Near the bottom of the gate, Laphine tribeswomen have been turned to stone and now look like they are part of the great door.";
- next;
- switch(select("Move closer to look more carefully.", "Step back.")) {
+ mes("A great stone gate stands before you. The sculpture of a terrible dragon spreads its powerful looking wings.");
+ next();
+ mes("Near the bottom of the gate, Laphine tribeswomen have been turned to stone and now look like they are part of the great door.");
+ next();
+ switch (select("Move closer to look more carefully.", "Step back.")) {
case 1:
- specialeffect2 EF_HOLYHIT;
- pushpc 3,3;
- mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door...";
- next;
- mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation.";
- close;
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
+ pushpc(3, 3);
+ mes("A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door...");
+ next();
+ mes("Perhaps there's a great hidden secret beyond the gate, beyond expectation.");
+ close();
case 2:
- close;
+ close();
}
}
- close;
+ close();
L_Enter:
if (has_instance("1@nyd") == "") {
- mes "[Yggdrasil Gatekeeper]";
- mes "You did not request for entrance. Please let your leader request entrance.";
- close;
+ mes("[Yggdrasil Gatekeeper]");
+ mes("You did not request for entrance. Please let your leader request entrance.");
+ close();
} else {
- mapannounce "nyd_dun02", getpartyname(getcharid(CHAR_ID_PARTY))+"'s party member "+strcharinfo(PC_NAME)+" has entered Nidhoggur's Nest.",bc_map,"0x00ff99";
- if (!questprogress(3135)) setquest 3135;
- if (!questprogress(3136)) setquest 3136;
- warp "1@nyd",32,37;
- close;
+ mapannounce("nyd_dun02", sprintf(_$("%s's party member %s has entered Nidhoggur's Nest."), getpartyname(getcharid(CHAR_ID_PARTY)), strcharinfo(PC_NAME)), bc_map, C_SPRINGGREEN);
+ if (!questprogress(3135))
+ setquest(3135);
+ if (!questprogress(3136))
+ setquest(3136);
+ warp("1@nyd", 32, 37);
+ close();
}
OnTouch_:
if (ins_nyd == 0) {
- specialeffect2 EF_CHANGECOLD;
- specialeffect EF_CHANGECOLD;
+ specialeffect(EF_CHANGECOLD, AREA, playerattached());
+ specialeffect(EF_CHANGECOLD);
}
end;
}
mid_camp,271,299,3 script Historian Magnifier#edq 4_M_SAGE_C,3,3,{
- mes "[Historian Magniffer]";
+ mes("[Historian Magniffer]");
if (ins_nyd == 1) {
- mes "Sure, the mainland also has lots of interesting adventures... Hello, I am Magnifier, a historian dispatched from the Prontera royal court.";
- next;
- mes "[Historian Magniffer]";
- mes "Finding another line of work might make for a really worthy job, but only a historian gets to know the world over..";
- next;
- mes "[Historian Magniffer]";
- mes "How this world is organized... and the way of the future! With our studies of the past and present we can predict what is to come.";
- next;
- mes "[Historian Magniffer]";
- mes "We are expecting a lot from you, expert adventurer. So, if you find anything... just tell me.";
- close;
+ mes("Sure, the mainland also has lots of interesting adventures... Hello, I am Magnifier, a historian dispatched from the Prontera royal court.");
+ next();
+ mes("[Historian Magniffer]");
+ mes("Finding another line of work might make for a really worthy job, but only a historian gets to know the world over..");
+ next();
+ mes("[Historian Magniffer]");
+ mes("How this world is organized... and the way of the future! With our studies of the past and present we can predict what is to come.");
+ next();
+ mes("[Historian Magniffer]");
+ mes("We are expecting a lot from you, expert adventurer. So, if you find anything... just tell me.");
+ close();
} else if (ins_nyd == 2) {
- mes "Does Commander Agip want to talk to me? Let's listen to his story.";
- next;
- mes "[Historian Magniffer]";
- mes "Did you find the cave that the fairy tribes treat as a holy place? You are a really tough cookie. What did you find?";
- next;
- mes "[Historian Magnifier]";
- mes "...";
- next;
- mes "... ...";
- next;
- mes "[Historian Magnifier]";
- mes "Wait a second... I have a brilliant idea.";
- next;
- mes "[Historian Magnifier]";
- mes "Let's see... This book... No... this one...? Hmm... Maybe this...";
- next;
- mes "[Historian Magnifier]";
- mes "...";
- next;
- mes "[Historian Magnifier]";
- mes "... ...";
- next;
- mes "[Historian Magnifier]";
- mes "Oh, here it is! World Tree Yggdrasil and God's tribes... This is their book!";
- next;
- mes "[Historian Magnifier]";
- mes "Maybe you found the central line to enter into the World Tree Yggdrasil!";
- next;
- mes "[Historian Magnifier]";
- mes "If that's true, you've found the greatest discovery since the harnessing of mana. Isn't this exciting?";
- next;
- mes "[Historian Magnifier]";
- mes "But we need a lot more information... Are they refusing you admission?";
- next;
- mes "[Historian Magnifier]";
- mes "I will send a message to my assistant who is in the Prontera Library. So, help her find more information.";
- next;
- mes "[Historian Magnifier]";
- mes "I will definitely help you find a way to enter the World Tree directly so, just believe in me! Okay~!!";
+ mes("Does Commander Agip want to talk to me? Let's listen to his story.");
+ next();
+ mes("[Historian Magniffer]");
+ mes("Did you find the cave that the fairy tribes treat as a holy place? You are a really tough cookie. What did you find?");
+ next();
+ mes("[Historian Magnifier]");
+ mes("...");
+ next();
+ mes("... ...");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Wait a second... I have a brilliant idea.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Let's see... This book... No... this one...? Hmm... Maybe this...");
+ next();
+ mes("[Historian Magnifier]");
+ mes("...");
+ next();
+ mes("[Historian Magnifier]");
+ mes("... ...");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Oh, here it is! World Tree Yggdrasil and God's tribes... This is their book!");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Maybe you found the central line to enter into the World Tree Yggdrasil!");
+ next();
+ mes("[Historian Magnifier]");
+ mes("If that's true, you've found the greatest discovery since the harnessing of mana. Isn't this exciting?");
+ next();
+ mes("[Historian Magnifier]");
+ mes("But we need a lot more information... Are they refusing you admission?");
+ next();
+ mes("[Historian Magnifier]");
+ mes("I will send a message to my assistant who is in the Prontera Library. So, help her find more information.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("I will definitely help you find a way to enter the World Tree directly so, just believe in me! Okay~!!");
ins_nyd = 3;
- close;
+ close();
} else if (ins_nyd == 3) {
- mes "Why are you standing there? Go to my assistant in the Prontera Library!";
- close;
+ mes("Why are you standing there? Go to my assistant in the Prontera Library!");
+ close();
} else if (ins_nyd == 4) {
- mes "You've come back... Good, how's Naomi? Actually, I don't need to worry about her. She is always cheerful. Haha.";
- next;
- mes "[Historian Magnifier]";
- mes "You look like you have a lot on your mind... Your face is full of curiosity and questions.";
- next;
- mes "[Historian Magnifier]";
- mes "So, did you read the whole story that I have prepared?";
- next;
- switch(select("Not yet.", "I read all the stories.")) {
+ mes("You've come back... Good, how's Naomi? Actually, I don't need to worry about her. She is always cheerful. Haha.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("You look like you have a lot on your mind... Your face is full of curiosity and questions.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("So, did you read the whole story that I have prepared?");
+ next();
+ switch (select("Not yet.", "I read all the stories.")) {
case 1:
- mes "[Historian Magnifier]";
- mes "Sheesh~ I prepared these stories for you carefully, but you didn't bother to check anything out did you?";
- next;
- mes "[Historian Magnifier]";
- mes "It would be better if you returned after reading all of them. That's very basic data of what we should do for the future.";
- close;
+ mes("[Historian Magnifier]");
+ mes("Sheesh~ I prepared these stories for you carefully, but you didn't bother to check anything out did you?");
+ next();
+ mes("[Historian Magnifier]");
+ mes("It would be better if you returned after reading all of them. That's very basic data of what we should do for the future.");
+ close();
case 2:
- mes "[Historian Magnifier]";
- mes "Hm, good job. Maybe I don't need to check anything else, right?";
- next;
- mes "[Historian Magnifier]";
- mes "I sent you to figure out which basic materials will be needed for the jobs ahead of us. You should bring research reports...";
- next;
- mes "[Historian Magnifier]";
- mes "You might complain about why I didn't bring any myself... That's because I trust your abilities, don't ever take anything for granted.";
- next;
- mes "[Historian Magnifier]";
- mes "But a while ago, while you were tranferring reports from Commander Agip to the mainland, you lost those reports... remember?";
- next;
- mes "[Historian Magnifier]";
- mes "So far, nothing's come up... Was it that somebody attacked you?";
- next;
- mes "[Historian Magnifier]";
- mes "Somehow, the truth will come out, but we should be careful of shocking the natives if we go there unannounced and they're not prepared for our arrival.";
- next;
- mes "[Historian Magnifier]";
- mes "I've talked too much... Anyway, as you know through my report, you've found a great thing!";
- next;
- mes "[Historian Magnifier]";
- mes "Firstly, we should find out more about the place. I expect we can, but... we can't do much without help from others.";
- next;
- mes "[Historian Magnifier]";
- mes "I have heard about recent expeditions of adventurers that have tried to contact the tribes... Have you heard anything about this?";
- next;
- mes "[Historian Magnifier]";
- mes "Anyway, let's try to contact them first, to be clear about any caves or treasures.";
- next;
- mes "[Historian Magnifier]";
- mes "For now, you try to contact the Sapha and Laphine tribes, and try to extract information from them.";
- next;
- mes "[Historian Magnifier]";
- mes "I'll also keep searching here. If you find anything, come back and let me know.";
+ mes("[Historian Magnifier]");
+ mes("Hm, good job. Maybe I don't need to check anything else, right?");
+ next();
+ mes("[Historian Magnifier]");
+ mes("I sent you to figure out which basic materials will be needed for the jobs ahead of us. You should bring research reports...");
+ next();
+ mes("[Historian Magnifier]");
+ mes("You might complain about why I didn't bring any myself... That's because I trust your abilities, don't ever take anything for granted.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("But a while ago, while you were tranferring reports from Commander Agip to the mainland, you lost those reports... remember?");
+ next();
+ mes("[Historian Magnifier]");
+ mes("So far, nothing's come up... Was it that somebody attacked you?");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Somehow, the truth will come out, but we should be careful of shocking the natives if we go there unannounced and they're not prepared for our arrival.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("I've talked too much... Anyway, as you know through my report, you've found a great thing!");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Firstly, we should find out more about the place. I expect we can, but... we can't do much without help from others.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("I have heard about recent expeditions of adventurers that have tried to contact the tribes... Have you heard anything about this?");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Anyway, let's try to contact them first, to be clear about any caves or treasures.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("For now, you try to contact the Sapha and Laphine tribes, and try to extract information from them.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("I'll also keep searching here. If you find anything, come back and let me know.");
ins_nyd = 5;
- close;
+ close();
}
- } else if ((ins_nyd == 5) || (ins_nyd == 51) || (ins_nyd == 52)) {
- mes "Okay, let's try to contact them first, to be clear about any caves or treasures.";
- next;
- mes "[Historian Magnifier]";
- mes "For now, you try to contact the Sapha and Laphine tribes, and try to extract more information.";
- next;
- mes "[Historian Magnifier]";
- mes "I'll also keep searching here. If you find anything, come back and let me know.";
- close;
- } else if ((ins_nyd == 61) || (ins_nyd == 62)) {
- mes "Ah, you've come at a proper time. I found a curious thing while looking for reports from Arunafeltz.";
- next;
- mes "[Historian Magnifier]";
- mes "Right now, we are standing on part of one of the roots of the World Tree Yggdrasil.";
- next;
- mes "[Historian Magnifier]";
- mes "This spot is connected to World Tree by the root. I think we can expect confrontations between the Sapha and Laphine here eventually, don't you think?";
- next;
- mes "[Historian Magnifier]";
- mes "As I expected, the cave is the entrance to go to one of Yggdrasil's roots...";
- next;
- mes "[Historian Magnifier]";
- mes "Did you find anything about the Sapha and Laphine?";
- next;
- mes "...";
- next;
- mes "... ...";
- next;
- mes "[Historian Magnifier]";
- mes "Both sides act ambiguously, so... I'm getting worried...";
- next;
- mes "[Historian Magnifier]";
- mes "The two tribes have some trouble amongst their top leaders. It's not anything official, but...";
- next;
- mes "[Historian Magnifier]";
- mes "Let's report to Commander Agip about the situation so far. Then, we wait on his decision.";
+ } else if (ins_nyd == 5 || ins_nyd == 51 || ins_nyd == 52) {
+ mes("Okay, let's try to contact them first, to be clear about any caves or treasures.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("For now, you try to contact the Sapha and Laphine tribes, and try to extract more information.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("I'll also keep searching here. If you find anything, come back and let me know.");
+ close();
+ } else if (ins_nyd == 61 || ins_nyd == 62) {
+ mes("Ah, you've come at a proper time. I found a curious thing while looking for reports from Arunafeltz.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Right now, we are standing on part of one of the roots of the World Tree Yggdrasil.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("This spot is connected to World Tree by the root. I think we can expect confrontations between the Sapha and Laphine here eventually, don't you think?");
+ next();
+ mes("[Historian Magnifier]");
+ mes("As I expected, the cave is the entrance to go to one of Yggdrasil's roots...");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Did you find anything about the Sapha and Laphine?");
+ next();
+ mes("...");
+ next();
+ mes("... ...");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Both sides act ambiguously, so... I'm getting worried...");
+ next();
+ mes("[Historian Magnifier]");
+ mes("The two tribes have some trouble amongst their top leaders. It's not anything official, but...");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Let's report to Commander Agip about the situation so far. Then, we wait on his decision.");
ins_nyd = 7;
- close;
- } else if ((ins_nyd == 7) || (ins_nyd == 8)) {
- mes "Report to Commander Hibba Agip about what we have discovered, since time is dependent on his decision.";
- close;
- } else if ((ins_nyd == 121) || (ins_nyd == 122) || (ins_nyd == 131) || (ins_nyd == 132) || (ins_nyd ==14)) {
- mes "So that's how it is... we were right about some parts of it... it's called the Guardian's Nest.";
- next;
- mes "[Historian Magnifier]";
- mes "We have gained a large amount of knowledge today, but...";
- next;
- mes "[Historian Magnifier]";
- mes "What we have figured out... how is it going to influence mankind? It's so unpredictable...";
- next;
- mes "[Historian Magnifier]";
- mes "This is only the beginning...we will be quite busy from now on.";
- next;
- mes "[Historian Magnifier]";
- mes "First, report to Commander Agip, then act according to the situation. Let me organize my research findings...";
- close;
+ close();
+ } else if (ins_nyd == 7 || ins_nyd == 8) {
+ mes("Report to Commander Hibba Agip about what we have discovered, since time is dependent on his decision.");
+ close();
+ } else if (ins_nyd == 121 || ins_nyd == 122 || ins_nyd == 131 || ins_nyd == 132 || ins_nyd == 14) {
+ mes("So that's how it is... we were right about some parts of it... it's called the Guardian's Nest.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("We have gained a large amount of knowledge today, but...");
+ next();
+ mes("[Historian Magnifier]");
+ mes("What we have figured out... how is it going to influence mankind? It's so unpredictable...");
+ next();
+ mes("[Historian Magnifier]");
+ mes("This is only the beginning...we will be quite busy from now on.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("First, report to Commander Agip, then act according to the situation. Let me organize my research findings...");
+ close();
} else {
- mes "Sure, the mainland also has lots of interesting adventures... Hello, I am Magnifier, a historian dispatched from the Prontera royal court.";
- next;
- mes "[Historian Magnifier]";
- mes "Finding another line of work might make for a really worthy job, but only a historian gets to know the world over..";
- next;
- mes "[Historian Magnifier]";
- mes "How this world is organized... and the way of the future! With our studies of the past and present we can predict what is to come.";
- next;
- mes "[Historian Magnifier]";
- mes "We are expecting a lot from you, expert adventurer. So, if you find anything... just tell me.";
- close;
+ mes("Sure, the mainland also has lots of interesting adventures... Hello, I am Magnifier, a historian dispatched from the Prontera royal court.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("Finding another line of work might make for a really worthy job, but only a historian gets to know the world over..");
+ next();
+ mes("[Historian Magnifier]");
+ mes("How this world is organized... and the way of the future! With our studies of the past and present we can predict what is to come.");
+ next();
+ mes("[Historian Magnifier]");
+ mes("We are expecting a lot from you, expert adventurer. So, if you find anything... just tell me.");
+ close();
}
}
prt_in,171,94,3 script Assistant Naomi#edq 4_F_HUWOMAN,3,3,{
- mes "[Assistant Naomi]";
+ mes("[Assistant Naomi]");
.@name$ = strcharinfo(PC_NAME);
if (ins_nyd == 3) {
- mes "The doctor never ever tries to come back, and there're too many things to do... How can I do it all...";
- next;
- mes "[Assistant Naomi]";
- mes "Hey, you. Please move these books. Put them into shelf 3 row B.";
- next;
- mes "["+.@name$+"]";
- mes "Ah...um..I...am...";
- next;
- mes "[Assistant Naomi]";
- mes "Don't you see I am too busy? Don't hesitate. Just do it.";
- next;
- switch(select("Look busy, and take a step back.", "Help her just this once.")) {
+ mes("The doctor never ever tries to come back, and there're too many things to do... How can I do it all...");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Hey, you. Please move these books. Put them into shelf 3 row B.");
+ next();
+ mesf("[%s]", .@name$);
+ mes("Ah...um..I...am...");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Don't you see I am too busy? Don't hesitate. Just do it.");
+ next();
+ switch (select("Look busy, and take a step back.", "Help her just this once.")) {
case 1:
- mes "[Assistant Naomi]";
- mes "Gosh! Where is-? Where did-? Ugh! It's so difficult!";
- close;
+ mes("[Assistant Naomi]");
+ mes("Gosh! Where is-? Where did-? Ugh! It's so difficult!");
+ close();
case 2:
- mes "[Assistant Naomi]";
- mes "Ah... if you're done moving those, then these should go in shelf 3 row B.";
- next;
- mes "["+.@name$+"]";
- mes "Ah...I...see...";
- next;
- mes "[Assistant Naomi]";
- mes "Now, I am almost done... Who are you? Are you a new assistant to Dr. Magnifier?";
- next;
- mes "["+.@name$+"]";
- mes "He asked me to bring some reports. Didn't he say anything?";
- next;
- mes "[Assistant Naomi]";
- mes "Hmm... I haven't seen him in over a year! What's he doing now?";
- next;
- mes "["+.@name$+"]";
- mes "He said that he would send a message to you... didn't you get it?";
- next;
- mes "[Assistant Naomi]";
- mes "Message? ...Let's see... I never expected him to write a message...";
- next;
- mes "[Assistant Naomi]";
- mes "I will check the mailbox, wait a minute. If you get bored read those books.";
- next;
- mes "...";
- next;
- mes "... ...";
- next;
- mes "It's too messy due to lots of stacked books and files. Dr. Magnifier looks like he has a ton of reports.";
- next;
- mes "["+.@name$+"]";
- mes "'Birth of the World', 'The Fiction of Odin's Myth', 'God's Battle Then After', 'Dreams of the Tribes'. There are a variety of books...";
- next;
- mes "...";
- next;
- mes "[Assistant Naomi]";
- mes "Oh, sorry I took so long. There was too much mail, so it took me a while to find stuff.";
- next;
- mes "[Assistant Naomi]";
- mes "He has sent me mail over 20 times. I did not know that...";
- next;
- mes "[Assistant Naomi]";
- mes "Ah, here's the message about you. He's said to share the information on research and reports.";
- next;
- mes "["+.@name$+"]";
- mes "What is the Doctor's area of expertise?";
- next;
- mes "[Assistant Naomi]";
- mes "Ever since 5 years ago, he has been curious about how the world started, and so he began his search for the God of creation.";
- next;
- mes "[Assistant Naomi]";
- mes "He researches combat between Odin and the Gods, and about the Gods' origins and life.";
- next;
- mes "["+.@name$+"]";
- mes "So, did he already know that the Rebirth of Satan Morocc has occured before?";
- next;
- mes "[Assistant Naomi]";
- mes "I can't be sure, but he thought someday it would occur. It broke out earlier than he expected though.";
- next;
- mes "["+.@name$+"]";
- mes "But Rune-Midgarts approved this research?";
- next;
- mes "[Assistant Naomi]";
- mes "Our academics are not a religion. And they too have curiosity about this world's history.";
- next;
- mes "[Assistant Naomi]";
- mes "The combat of Odin vs. the Gods, and the God's sons and their purpose... The Doctor has researched this his whole life.";
- next;
- mes "["+.@name$+"]";
- mes "But those reports haven't come out yet. Have they?";
- next;
- mes "[Assistant Naomi]";
- mes "That's why he sent you here. By the way, this isn't the first time I've heard this.";
- next;
- mes "[Assistant Naomi]";
- mes "After the establishment of the Rune-Midgarts Kingdom and Arunafeltz, the rumors have spread in secret about their tribes, myths, etc.";
- next;
- mes "[Assistant Naomi]";
- mes "Anyway, I should make sure that you read all these books, and I'll just keep doing my work.";
- next;
- mes "["+.@name$+"]";
- mes "Shouldn't I have filed the books?";
- next;
- mes "[Assistant Naomi]";
- mes "The Doctor said he will pick up the books through another person. Besides, don't you need the basic information on what to do?";
- next;
- mes "[Assistant Naomi]";
- mes "Before you go back to the Doctor, you had better read these books. So, I will go back to work.";
+ mes("[Assistant Naomi]");
+ mes("Ah... if you're done moving those, then these should go in shelf 3 row B.");
+ next();
+ mesf("[%s]", .@name$);
+ mes("Ah...I...see...");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Now, I am almost done... Who are you? Are you a new assistant to Dr. Magnifier?");
+ next();
+ mesf("[%s]", .@name$);
+ mes("He asked me to bring some reports. Didn't he say anything?");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Hmm... I haven't seen him in over a year! What's he doing now?");
+ next();
+ mesf("[%s]", .@name$);
+ mes("He said that he would send a message to you... didn't you get it?");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Message? ...Let's see... I never expected him to write a message...");
+ next();
+ mes("[Assistant Naomi]");
+ mes("I will check the mailbox, wait a minute. If you get bored read those books.");
+ next();
+ mes("...");
+ next();
+ mes("... ...");
+ next();
+ mes("It's too messy due to lots of stacked books and files. Dr. Magnifier looks like he has a ton of reports.");
+ next();
+ mesf("[%s]", .@name$);
+ mes("'Birth of the World', 'The Fiction of Odin's Myth', 'God's Battle Then After', 'Dreams of the Tribes'. There are a variety of books...");
+ next();
+ mes("...");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Oh, sorry I took so long. There was too much mail, so it took me a while to find stuff.");
+ next();
+ mes("[Assistant Naomi]");
+ mes("He has sent me mail over 20 times. I did not know that...");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Ah, here's the message about you. He's said to share the information on research and reports.");
+ next();
+ mesf("[%s]", .@name$);
+ mes("What is the Doctor's area of expertise?");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Ever since 5 years ago, he has been curious about how the world started, and so he began his search for the God of creation.");
+ next();
+ mes("[Assistant Naomi]");
+ mes("He researches combat between Odin and the Gods, and about the Gods' origins and life.");
+ next();
+ mesf("[%s]", .@name$);
+ mes("So, did he already know that the Rebirth of Satan Morocc has occured before?");
+ next();
+ mes("[Assistant Naomi]");
+ mes("I can't be sure, but he thought someday it would occur. It broke out earlier than he expected though.");
+ next();
+ mesf("[%s]", .@name$);
+ mes("But Rune-Midgarts approved this research?");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Our academics are not a religion. And they too have curiosity about this world's history.");
+ next();
+ mes("[Assistant Naomi]");
+ mes("The combat of Odin vs. the Gods, and the God's sons and their purpose... The Doctor has researched this his whole life.");
+ next();
+ mesf("[%s]", .@name$);
+ mes("But those reports haven't come out yet. Have they?");
+ next();
+ mes("[Assistant Naomi]");
+ mes("That's why he sent you here. By the way, this isn't the first time I've heard this.");
+ next();
+ mes("[Assistant Naomi]");
+ mes("After the establishment of the Rune-Midgarts Kingdom and Arunafeltz, the rumors have spread in secret about their tribes, myths, etc.");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Anyway, I should make sure that you read all these books, and I'll just keep doing my work.");
+ next();
+ mesf("[%s]", .@name$);
+ mes("Shouldn't I have filed the books?");
+ next();
+ mes("[Assistant Naomi]");
+ mes("The Doctor said he will pick up the books through another person. Besides, don't you need the basic information on what to do?");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Before you go back to the Doctor, you had better read these books. So, I will go back to work.");
ins_nyd = 4;
- close;
+ close();
}
} else if (ins_nyd == 4) {
- mes "Browse around, to take a look at the books.";
- next;
- switch(select("Discovery of Heterogeneity", "Report of Indigenous Tribes")) {
+ mes("Browse around, to take a look at the books.");
+ next();
+ switch (select("Discovery of Heterogeneity", "Report of Indigenous Tribes")) {
case 1:
- mes "Satan Morocc has known that he didn't resurrect normally or by himself.";
- next;
- mes "Continuously, adventurers from Rune-Midgarts have attacked him and he is slowly losing his power. He would need more time to resurrect completely.";
- next;
- mes "Satan Morroc stopped to destroy the city of Morroc, turning it into a ruined desert, then started to rip the world apart.";
- next;
- mes "Satan Morroc was worried about those who would give chase, so he created Morocc clones to keep watch behind him.";
- next;
- mes "Modeled after Morocc, their appearance made it difficult to go around the time-space gap.";
- next;
- mes "Still the adventurers gave chase. They came from all over the world, trying to approach the Dimensional Gorge.";
- next;
- mes "The reports of these adventurers have been sent to representatives of all kingdoms, and an expedition team has been created to find out more information.";
- next;
- mes "The scientists of Schwartzwalt created a combination metal, using fragments of metals found in the dimensional gorge.";
- next;
- mes "The Schwaltzvalt Republic requested approval to find the source of the new metal, and since Rune-Midgart couldn't complete the test themselves, they finally accepted.";
- next;
- mes "They associated together to gather volunteers. The Assassin Guild was the first to volunteer.";
- next;
- mes "The Assassins have a terrible past with Satan Morroc, so they gathered 18 members to chase him down.";
- next;
- mes "About 3 hours later, all 18 members returned without any problem, and each man and woman shared the information that they had collected.";
- next;
- mes "They had discovered another world with a definitively different nature and environment. And indeed, people could also live there.";
- next;
- mes "The most surprising thing is the flow of time. The 18 assassins had stayed for about 2 weeks in there, yet they returned within 3 hours after departing.";
- next;
- mes "The last thing to be tested... was to send adventurers who volunteered to explore the new world.";
- next;
- mes "There was a flood of adventurer applications. Lots of volunteers disappeared over the dimensional gorge, and they brought back new data.";
- next;
- mes "The new world could support 3 completely different eco-systems dependant upon the race of people that lived there.";
- next;
- mes "The heterogenous phenomenon needed to be studied thoroughly and carefully in order to under the relationship between thair world and ours.";
- next;
- mes "Just when it was expected to be impossible to travel into a different world, the first page of a new chapter was opened.";
- close;
+ mes("Satan Morocc has known that he didn't resurrect normally or by himself.");
+ next();
+ mes("Continuously, adventurers from Rune-Midgarts have attacked him and he is slowly losing his power. He would need more time to resurrect completely.");
+ next();
+ mes("Satan Morroc stopped to destroy the city of Morroc, turning it into a ruined desert, then started to rip the world apart.");
+ next();
+ mes("Satan Morroc was worried about those who would give chase, so he created Morocc clones to keep watch behind him.");
+ next();
+ mes("Modeled after Morocc, their appearance made it difficult to go around the time-space gap.");
+ next();
+ mes("Still the adventurers gave chase. They came from all over the world, trying to approach the Dimensional Gorge.");
+ next();
+ mes("The reports of these adventurers have been sent to representatives of all kingdoms, and an expedition team has been created to find out more information.");
+ next();
+ mes("The scientists of Schwartzwalt created a combination metal, using fragments of metals found in the dimensional gorge.");
+ next();
+ mes("The Schwaltzvalt Republic requested approval to find the source of the new metal, and since Rune-Midgart couldn't complete the test themselves, they finally accepted.");
+ next();
+ mes("They associated together to gather volunteers. The Assassin Guild was the first to volunteer.");
+ next();
+ mes("The Assassins have a terrible past with Satan Morroc, so they gathered 18 members to chase him down.");
+ next();
+ mes("About 3 hours later, all 18 members returned without any problem, and each man and woman shared the information that they had collected.");
+ next();
+ mes("They had discovered another world with a definitively different nature and environment. And indeed, people could also live there.");
+ next();
+ mes("The most surprising thing is the flow of time. The 18 assassins had stayed for about 2 weeks in there, yet they returned within 3 hours after departing.");
+ next();
+ mes("The last thing to be tested... was to send adventurers who volunteered to explore the new world.");
+ next();
+ mes("There was a flood of adventurer applications. Lots of volunteers disappeared over the dimensional gorge, and they brought back new data.");
+ next();
+ mes("The new world could support 3 completely different eco-systems dependant upon the race of people that lived there.");
+ next();
+ mes("The heterogenous phenomenon needed to be studied thoroughly and carefully in order to under the relationship between thair world and ours.");
+ next();
+ mes("Just when it was expected to be impossible to travel into a different world, the first page of a new chapter was opened.");
+ close();
case 2:
- mes "Long ago, there wasn't a sun, moon, or stars; just empty earth... and Ymir was born. Then, by making sons, Ymir grew.";
- next;
- mes "But, his sons grew as well and he was killed by Odin, Vili, and Ve; 3 brothers, Gods, that attacked from different sides.";
- next;
- mes "At that time of Ymir's fall his blood flooded the world... killing all in it's path.";
- next;
- mes "Only Hvergelmir of the Sapha tribe escaped from this flooding of blood. And he swore vengeance in Jotunheim, which is covered with foggy snow.";
- next;
- mes "Currently, one of the Sapha tribe has been discovered from beyond the Dimensional Gorge.";
- next;
- mes "Other than the Sapha tribe, there was another tribe beyond the time-space gap, known as the Laphine.";
- next;
- mes "The Laphine tribes gathered as well for an expedition to explore the time-space gap and figure out the World Tree's strange symptoms and perharps a cure method.";
- next;
- mes "The Laphine tribe was charged with the management of Yggdrasil, to establish their lands close to Asgard, and to protect the balance of Yggdrasil's magic power.";
- next;
- mes "The Laphine tribe has never contacted anyone outside of Asgard. But since they found that Yggdrasil's power if weakening...";
- next;
- mes "They have declared they will attend to the high courts for the first time in 1000 human years, since the end of the battles of Gods vs. Magicians.";
- close;
+ mes("Long ago, there wasn't a sun, moon, or stars; just empty earth... and Ymir was born. Then, by making sons, Ymir grew.");
+ next();
+ mes("But, his sons grew as well and he was killed by Odin, Vili, and Ve; 3 brothers, Gods, that attacked from different sides.");
+ next();
+ mes("At that time of Ymir's fall his blood flooded the world... killing all in it's path.");
+ next();
+ mes("Only Hvergelmir of the Sapha tribe escaped from this flooding of blood. And he swore vengeance in Jotunheim, which is covered with foggy snow.");
+ next();
+ mes("Currently, one of the Sapha tribe has been discovered from beyond the Dimensional Gorge.");
+ next();
+ mes("Other than the Sapha tribe, there was another tribe beyond the time-space gap, known as the Laphine.");
+ next();
+ mes("The Laphine tribes gathered as well for an expedition to explore the time-space gap and figure out the World Tree's strange symptoms and perharps a cure method.");
+ next();
+ mes("The Laphine tribe was charged with the management of Yggdrasil, to establish their lands close to Asgard, and to protect the balance of Yggdrasil's magic power.");
+ next();
+ mes("The Laphine tribe has never contacted anyone outside of Asgard. But since they found that Yggdrasil's power if weakening...");
+ next();
+ mes("They have declared they will attend to the high courts for the first time in 1000 human years, since the end of the battles of Gods vs. Magicians.");
+ close();
}
} else {
- mes "The doctor never ever tries to come back, and there're too many things to do... How can I do it all...";
- next;
- mes "[Assistant Naomi]";
- mes "Don't you see that I'm too busy? Don't dawdle, just go!";
- close;
+ mes("The doctor never ever tries to come back, and there're too many things to do... How can I do it all...");
+ next();
+ mes("[Assistant Naomi]");
+ mes("Don't you see that I'm too busy? Don't dawdle, just go!");
+ close();
}
}
splendide,198,178,3 script Grumbling Soldier#edq 4_M_FAIRYSOLDIER,3,3,{
- mes "[Grumbling Soldier]";
- if (isequipped(2782) == 1) {
- mes "Nowadays, the world has turned unstable. I can't even fly comfortably anymore.";
- next;
+ mes("[Grumbling Soldier]");
+ if (isequipped(Ring_Of_Wise_King) == 1) {
+ mes("Nowadays, the world has turned unstable. I can't even fly comfortably anymore.");
+ next();
if (ins_nyd == 5) {
- switch(select("What's with the cave up north?", "Who are the Sapha tribesmen?", "Hmm. We can talk later.")) {
+ switch (select("What's with the cave up north?", "Who are the Sapha tribesmen?", "Hmm. We can talk later.")) {
case 1:
- mes "[Grumbling Soldier]";
- mes "What? If you wander around there... you might return with injuries.";
- next;
- mes "[Grumbling Soldier]";
- mes "I don't know exactly how to explain it, but it's like it has a bad mood. There are lots of terrible monsters there.";
- next;
- mes "[Grumbling Soldier]";
- mes "They whisper to each other, so... something is there... But I don't care...";
- next;
- mes "[Grumbling Soldier]";
- mes "Might be... those Sapha tribesmen have dug in the cave before... They do have a special talent for digging.";
+ mes("[Grumbling Soldier]");
+ mes("What? If you wander around there... you might return with injuries.");
+ next();
+ mes("[Grumbling Soldier]");
+ mes("I don't know exactly how to explain it, but it's like it has a bad mood. There are lots of terrible monsters there.");
+ next();
+ mes("[Grumbling Soldier]");
+ mes("They whisper to each other, so... something is there... But I don't care...");
+ next();
+ mes("[Grumbling Soldier]");
+ mes("Might be... those Sapha tribesmen have dug in the cave before... They do have a special talent for digging.");
ins_nyd = 51;
- close;
+ close();
case 2:
- mes "[Grumbling Soldier]";
- mes "Oh! It is because of them that we have been living here, a lowdown and dirty city, for over one hundred years.";
- next;
- mes "[Grumbling Soldier]";
- mes "They don't care if there's trouble with the Yggdrasil.";
- next;
- mes "[Grumbling Soldier]";
- mes "They are surely full of bad ideas, so... they have destroyed the Yggdrasil's root.";
- next;
- mes "[Grumbling Soldier]";
- mes "We are here to make sure that the Sapha don't make things worse.";
- close;
+ mes("[Grumbling Soldier]");
+ mes("Oh! It is because of them that we have been living here, a lowdown and dirty city, for over one hundred years.");
+ next();
+ mes("[Grumbling Soldier]");
+ mes("They don't care if there's trouble with the Yggdrasil.");
+ next();
+ mes("[Grumbling Soldier]");
+ mes("They are surely full of bad ideas, so... they have destroyed the Yggdrasil's root.");
+ next();
+ mes("[Grumbling Soldier]");
+ mes("We are here to make sure that the Sapha don't make things worse.");
+ close();
case 3:
- close;
+ close();
}
} else {
- mes "[Grumbling Soldier]";
- mes "Nowadays, the world has turned unstable. I can't even fly comfortably anymore.";
- next;
- mes "[Grumbling Soldier]";
- mes "What can you expect when Manuk giants start to dig into the world to destroy the Yggdrasil...";
- next;
- mes "[Grumbling Soldier]";
- mes "And the worst thing is... that strange things are strutting along the streets of the towns...";
- next;
- mes "[Grumbling Soldier]";
- mes "Yes, you... What do you think about the way the government is handling this...?";
- next;
- mes "[Grumbling Soldier]";
- mes "Although they ignore your track record, still, one should be careful...";
- close;
+ mes("[Grumbling Soldier]");
+ mes("Nowadays, the world has turned unstable. I can't even fly comfortably anymore.");
+ next();
+ mes("[Grumbling Soldier]");
+ mes("What can you expect when Manuk giants start to dig into the world to destroy the Yggdrasil...");
+ next();
+ mes("[Grumbling Soldier]");
+ mes("And the worst thing is... that strange things are strutting along the streets of the towns...");
+ next();
+ mes("[Grumbling Soldier]");
+ mes("Yes, you... What do you think about the way the government is handling this...?");
+ next();
+ mes("[Grumbling Soldier]");
+ mes("Although they ignore your track record, still, one should be careful...");
+ close();
}
} else {
- mes "SeLarsmar Di marThusVil U SeMushVohl";
- close;
+ mes("SeLarsmar Di marThusVil U SeMushVohl");
+ close();
}
}
splendide,240,164,3 script Sighing Soldier#edq 4_M_FAIRYSOLDIER2,3,3,{
- mes "[Sighing Soldier]";
- if (isequipped(2782) == 1) {
- mes "When will we be finished with this combat with the Sapha? Ugghhhh...";
- next;
+ mes("[Sighing Soldier]");
+ if (isequipped(Ring_Of_Wise_King) == 1) {
+ mes("When will we be finished with this combat with the Sapha? Ugghhhh...");
+ next();
if (ins_nyd == 5) {
- switch(select("What's with the cave up north?", "Who are the Sapha tribesmen?", "Hmm. We can talk later.")) {
+ switch (select("What's with the cave up north?", "Who are the Sapha tribesmen?", "Hmm. We can talk later.")) {
case 1:
- mes "[Sighing Soldier]";
- mes "Well... I'm not sure, but we have avoided going to that area.";
- next;
- mes "[Sighing Soldier]";
- mes "Sometimes, the dispatched researchers hang around here... I feel bad that there's nothing to see... without any reason...";
- next;
- mes "[Sighing Soldier]";
- mes "But the command officers make sure that there's something hidden in there.";
- next;
- mes "[Sighing Soldier]";
- mes "We don't know if the monsters there are strong, so we never checked it out. But on a personal level, nobody wants to go there...";
+ mes("[Sighing Soldier]");
+ mes("Well... I'm not sure, but we have avoided going to that area.");
+ next();
+ mes("[Sighing Soldier]");
+ mes("Sometimes, the dispatched researchers hang around here... I feel bad that there's nothing to see... without any reason...");
+ next();
+ mes("[Sighing Soldier]");
+ mes("But the command officers make sure that there's something hidden in there.");
+ next();
+ mes("[Sighing Soldier]");
+ mes("We don't know if the monsters there are strong, so we never checked it out. But on a personal level, nobody wants to go there...");
ins_nyd = 51;
- close;
+ close();
case 2:
- mes "[Sighing Soldier]";
- mes "I don't know what others think about it... but we've had some trouble with our attitude against the Sapha tribes.";
- next;
- mes "[Sighing Soldier]";
- mes "We didn't try to solve the problems with talk. We attacked them first.";
- next;
- mes "[Sighing Soldier]";
- mes "Maybe... our command officers don't want to accept other species different than us...";
- next;
- mes "[Sighing Soldier]";
- mes "Don't misunderstand... Recently, we have talked about your particular species and our commanders feel grateful to you.";
- next;
- mes "[Sighing Soldier]";
- mes "Anyway... I'm just exhausted during this useless and nerve-wracking situation... Sigh.";
- close;
+ mes("[Sighing Soldier]");
+ mes("I don't know what others think about it... but we've had some trouble with our attitude against the Sapha tribes.");
+ next();
+ mes("[Sighing Soldier]");
+ mes("We didn't try to solve the problems with talk. We attacked them first.");
+ next();
+ mes("[Sighing Soldier]");
+ mes("Maybe... our command officers don't want to accept other species different than us...");
+ next();
+ mes("[Sighing Soldier]");
+ mes("Don't misunderstand... Recently, we have talked about your particular species and our commanders feel grateful to you.");
+ next();
+ mes("[Sighing Soldier]");
+ mes("Anyway... I'm just exhausted during this useless and nerve-wracking situation... Sigh.");
+ close();
case 3:
- close;
+ close();
}
} else {
- mes "[Sighing Soldier]";
- mes "When will we be finished with this combat with the Sapha? Ugghhhh...";
- next;
- mes "[Sighing Soldier]";
- mes "Frankly, I don't think of you or any Sapha is our enemy. Sigh...";
- next;
- mes "[Sighing Soldier]";
- mes "Is there no way to resolve this by communicating? There's no meaning in useless combat! Geez.";
- close;
+ mes("[Sighing Soldier]");
+ mes("When will we be finished with this combat with the Sapha? Ugghhhh...");
+ next();
+ mes("[Sighing Soldier]");
+ mes("Frankly, I don't think of you or any Sapha is our enemy. Sigh...");
+ next();
+ mes("[Sighing Soldier]");
+ mes("Is there no way to resolve this by communicating? There's no meaning in useless combat! Geez.");
+ close();
}
} else {
- mes "VohlLarsmar Ha DielCyatas";
- close;
+ mes("VohlLarsmar Ha DielCyatas");
+ close();
}
}
spl_in01,109,60,3 script Commander Lebiordirr#edq 4_F_FAIRY,3,3,{
- mes "[Commander Lebiordirr]";
- if (isequipped(2782) == 1) {
+ mes("[Commander Lebiordirr]");
+ if (isequipped(Ring_Of_Wise_King) == 1) {
if (ins_nyd == 51) {
- mes "Are you...? Are you the one collecting information from my soldiers...?";
- next;
- mes "[Commander Lebiordirr]";
- mes "You should be cautious. Our tribe has respected the existence of you humans but...";
- next;
- mes "[Commander Lebiordirr]";
- mes "I've taken a great risk in allowing you in here. So be wary.";
- next;
- mes "[Commander Lebiordirr]";
- mes "Don't attract too much attention because that would make your people look bad.";
- next;
- mes "[Commander Lebiordirr]";
- mes "Now, we don't need to talk much about this, so just go back where you came from.";
- next;
- mes "[Commander Lebiordirr]";
- mes "Unless you have any messages for me...? Your face says you do...";
- next;
- if(select("No. Nothing. We can talk later.", "I intend to stay. For good reasons.")==1) close;
- mes "[Splendide Guard]";
- mes "Sir, I can drag this pest out right now.";
- next;
- mes "[Commander Lebiordirr]";
- mes "No. Let's hear an explanation. Good? Now, if you want...";
- next;
- mes "[Commander Lebiordirr]";
- mes "I have known that, recently, time has broken... so, you're here exploring for a solution, no?";
- next;
- mes "[Commander Lebiordirr]";
- mes "Our tribe has respected you, so just forget about the searching and exploring around here.";
- next;
- mes "[Commander Lebiordirr]";
- mes "I heard that you are to search for any treasure in the closed cave to the north.";
- next;
- mes "[Commander Lebiordirr]";
- mes "That place is banned by order of the Laphine tribe. So, people can't just go there without permission.";
- next;
- mes "[Commander Lebiordirr]";
- mes "If you can't follow this rule, I will stop associating with you and ban all of your people from here.";
- next;
- mes "[Commander Lebiordirr]";
- mes "We still have an unstable relationship with the Sapha, we usually don't worry about outsiders.";
- next;
- mes "[Commander Lebiordirr]";
- mes "Now, if you understand this, inform your friends.";
+ mes("Are you...? Are you the one collecting information from my soldiers...?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("You should be cautious. Our tribe has respected the existence of you humans but...");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("I've taken a great risk in allowing you in here. So be wary.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Don't attract too much attention because that would make your people look bad.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Now, we don't need to talk much about this, so just go back where you came from.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Unless you have any messages for me...? Your face says you do...");
+ next();
+ if (select("No. Nothing. We can talk later.", "I intend to stay. For good reasons.") == 1)
+ close();
+ mes("[Splendide Guard]");
+ mes("Sir, I can drag this pest out right now.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("No. Let's hear an explanation. Good? Now, if you want...");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("I have known that, recently, time has broken... so, you're here exploring for a solution, no?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Our tribe has respected you, so just forget about the searching and exploring around here.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("I heard that you are to search for any treasure in the closed cave to the north.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("That place is banned by order of the Laphine tribe. So, people can't just go there without permission.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("If you can't follow this rule, I will stop associating with you and ban all of your people from here.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("We still have an unstable relationship with the Sapha, we usually don't worry about outsiders.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Now, if you understand this, inform your friends.");
ins_nyd = 61;
- close;
+ close();
} else if (ins_nyd == 61) {
- mes "If you can't follow this rule, I will stop associating with you and ban all of your people from here.";
- next;
- mes "[Commander Lebiordirr]";
- mes "We still have an unstable relationship with the Sapha, we usually don't worry about outsiders.";
- next;
- mes "[Commander Lebiordirr]";
- mes "Now, if you understand this, inform your friends.";
- close;
+ mes("If you can't follow this rule, I will stop associating with you and ban all of your people from here.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("We still have an unstable relationship with the Sapha, we usually don't worry about outsiders.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Now, if you understand this, inform your friends.");
+ close();
} else if (ins_nyd == 81) {
- mes "Why have you come back, outsider?";
- next;
+ mes("Why have you come back, outsider?");
+ next();
select("To ask the Laphines about exploring...");
- mes "[Commander Lebiordirr]";
- mes "Exploring what? Choose your words wisely?";
- next;
- mes "[Commander Lebiordirr]";
- mes "Do we not understand each other? What do you want?";
- next;
+ mes("[Commander Lebiordirr]");
+ mes("Exploring what? Choose your words wisely?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Do we not understand each other? What do you want?");
+ next();
select("I must explore the cave.");
- mes "[Commander Lebiordirr]";
- mes "That means... that you are ignoring my warning? Is this your decision or are you just following orders?";
- next;
+ mes("[Commander Lebiordirr]");
+ mes("That means... that you are ignoring my warning? Is this your decision or are you just following orders?");
+ next();
select("I'm just following orders");
- mes "[Commander Lebiordirr]";
- mes "Are you trying to insult me on purpose, outsider?";
- next;
- mes "[Commander Lebiordirr]";
- mes "Why do you want to explore? It better be a very good reason.";
- next;
+ mes("[Commander Lebiordirr]");
+ mes("Are you trying to insult me on purpose, outsider?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Why do you want to explore? It better be a very good reason.");
+ next();
select("It's about Dr. Magnifier's report...");
- mes "[Commander Lebiordirr]";
- mes "So... What do I care about an outsider's report?";
- next;
- mes "[Commander Lebiordirr]";
- mes "To protect the Yggdrasil! That's the Laphine's fate. Can you say that about yourself?";
- next;
- mes "[Commander Lebiordirr]";
- mes "Do you have any proof of your birth with Odin and Yggdrasil's blessings?";
- next;
- mes "[Commander Lebiordirr]";
- mes "I shouldn't say anymore. Please don't take this as being rude but, please go now!";
- next;
+ mes("[Commander Lebiordirr]");
+ mes("So... What do I care about an outsider's report?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("To protect the Yggdrasil! That's the Laphine's fate. Can you say that about yourself?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Do you have any proof of your birth with Odin and Yggdrasil's blessings?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("I shouldn't say anymore. Please don't take this as being rude but, please go now!");
+ next();
select("Then I'll ask the Sapha for help.");
- mes "[Commander Lebiordirr]";
- mes "What are you talking about, outsider?";
- next;
- mes "[Splendide Guard]";
- mes "Sir, I can get rid of this rude outsider if you wish?";
- next;
- mes "[Commander Lebiordirr]";
- mes "No, wait... The Sapha tribesmen know the meaning of that place? Did you ask to associate with them?";
- next;
- mes "[Commander Lebiordirr]";
- mes "Ah... How tricky... Are you testing us?";
- next;
- mes "[Splendide Guard]";
- mes "Calm down, sir. I will throw this outsider into prison.";
- next;
- mes "[Commander Lebiordirr]";
- mes "No... No, wait. Ok, I will accept it. I can accept your admission into the Holy Sekos.";
- next;
- mes "[Commander Lebiordirr]";
- mes "Okay. If you are a servant of the Yggdrasil as you claim to be, I will allow you admission. But I am not responsible for your actions.";
- next;
- mes "[Commander Lebiordirr]";
- mes "And make sure that if you find anything out of the ordinary in there, that you share it with us!";
- next;
+ mes("[Commander Lebiordirr]");
+ mes("What are you talking about, outsider?");
+ next();
+ mes("[Splendide Guard]");
+ mes("Sir, I can get rid of this rude outsider if you wish?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("No, wait... The Sapha tribesmen know the meaning of that place? Did you ask to associate with them?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Ah... How tricky... Are you testing us?");
+ next();
+ mes("[Splendide Guard]");
+ mes("Calm down, sir. I will throw this outsider into prison.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("No... No, wait. Ok, I will accept it. I can accept your admission into the Holy Sekos.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Okay. If you are a servant of the Yggdrasil as you claim to be, I will allow you admission. But I am not responsible for your actions.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("And make sure that if you find anything out of the ordinary in there, that you share it with us!");
+ next();
select("But of course!");
- mes "[Commander Lebiordirr]";
- mes "So... since I have agreed to allow your exploration... Arioss, help them, and take the results.";
- next;
- mes "[Aide Arioss]";
- mes "Sir... are you sure? This is an invasion of the Holy Sekos...";
- next;
- mes "[Commander Lebiordirr]";
- mes "Invasion is a harsh word. I am allowing them entrance. Better them than a dirty giant. It might just save our lives...";
- next;
- mes "[Commander Lebiordirr]";
- mes "Here, outsider. Arioss will explain the situation with the giants. Talk with him...";
+ mes("[Commander Lebiordirr]");
+ mes("So... since I have agreed to allow your exploration... Arioss, help them, and take the results.");
+ next();
+ mes("[Aide Arioss]");
+ mes("Sir... are you sure? This is an invasion of the Holy Sekos...");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Invasion is a harsh word. I am allowing them entrance. Better them than a dirty giant. It might just save our lives...");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Here, outsider. Arioss will explain the situation with the giants. Talk with him...");
ins_nyd = 91;
- close;
- } else if ((ins_nyd == 91) || (ins_nyd == 101) || (ins_nyd == 111) || (ins_nyd == 200) || (ins_nyd == 201) || (ins_nyd == 202)) {
- mes "Outsider. Arioss here will explain the situation with the giants, talk with him...";
- close;
- } else if ((ins_nyd == 72) || (ins_nyd == 82) || (ins_nyd == 92) || (ins_nyd == 102) || (ins_nyd == 112) || (ins_nyd == 122) || (ins_nyd == 132)) {
- mes "Welcome to the Laphine camp in Splendide, outsider... I am Lebiordirr. I am in charge here.";
- next;
- mes "[Commander Lebiordirr]";
- mes "Be cautious of your actions. We already have lots of problems with the Sapha tribe as it is.";
- next;
- mes "[Commander Lebiordirr]";
- mes "If you are cautious with your actions, I won't place any harm on you. Fare well.";
- close;
+ close();
+ } else if (ins_nyd == 91 || ins_nyd == 101 || ins_nyd == 111 || ins_nyd == 200 || ins_nyd == 201 || ins_nyd == 202) {
+ mes("Outsider. Arioss here will explain the situation with the giants, talk with him...");
+ close();
+ } else if (ins_nyd == 72 || ins_nyd == 82 || ins_nyd == 92 || ins_nyd == 102 || ins_nyd == 112 || ins_nyd == 122 || ins_nyd == 132) {
+ mes("Welcome to the Laphine camp in Splendide, outsider... I am Lebiordirr. I am in charge here.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Be cautious of your actions. We already have lots of problems with the Sapha tribe as it is.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("If you are cautious with your actions, I won't place any harm on you. Fare well.");
+ close();
} else if (ins_nyd == 203) {
- mes "I was waiting for you. You came back safe, that's good news. Did you find anything?";
- next;
+ mes("I was waiting for you. You came back safe, that's good news. Did you find anything?");
+ next();
select("Explain about the guardian Nidhoggur's leave.");
- mes "[Commander Lebiordirr]";
- mes "What? The Guardian is not in his nest...?";
- next;
- mes "[Commander Lebiordirr]";
- mes "And because of his disppearance, the Guardian's Shadow is currently destorying the roots of the World Tree...?";
- next;
- mes "[Commander Lebiordirr]";
- mes "That's unbelievable. You must be insulting the Guardian's and our pride. I did not provide you with our help for that.";
- next;
- mes "[Aide Arioss]";
- mes "It's not like that, Commander, they speak the truth.";
- next;
- mes "[Commander Lebiordirr]";
- mes "What are you saying? Arioss, do not forget your place as the Guardian's priest.";
- next;
- mes "[Aide Arioss]";
- mes "Even though I have not seen it with my own eyes, this does explain why we lost communication with the great World Tree Yggdrasil.";
- next;
- mes "[Commander Lebiordirr]";
- mes "Do not speak of His Highness, the World Tree Yggdrasil's name so lightly.";
- next;
+ mes("[Commander Lebiordirr]");
+ mes("What? The Guardian is not in his nest...?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("And because of his disppearance, the Guardian's Shadow is currently destorying the roots of the World Tree...?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("That's unbelievable. You must be insulting the Guardian's and our pride. I did not provide you with our help for that.");
+ next();
+ mes("[Aide Arioss]");
+ mes("It's not like that, Commander, they speak the truth.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("What are you saying? Arioss, do not forget your place as the Guardian's priest.");
+ next();
+ mes("[Aide Arioss]");
+ mes("Even though I have not seen it with my own eyes, this does explain why we lost communication with the great World Tree Yggdrasil.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Do not speak of His Highness, the World Tree Yggdrasil's name so lightly.");
+ next();
select("Pass along World Tree Yggdrasil's words.");
- mes "[Commander Lebiordirr]";
- mes "His Highness, the World Tree Yggdrasil, said that?";
- next;
- mes "[Commander Lebiordirr]";
- mes "The reason behind all of this... is not because of the Sapha tribe, but because of the sudden leave of the Guardian? And the Guaridan has given up on his identity?";
- next;
- mes "[Commander Lebiordirr]";
- mes "This must be reported... reported to the High Priest of Alfheim... Unbelievable.";
- next;
- mes "[Aide Arioss]";
- mes "Commander... do we need to alert the rest of the tribe...?";
- next;
- mes "[Commander Lebiordirr]";
- mes "You don't need to worry about this, Arioss. As commander, I will handle it. You just pretend nothing happened...";
- next;
- mes "[Commander Lebiordirr]";
- mes "Strange one, thank you for your cooperation in such situations... Please forget what has happened today...";
- next;
- mes "[Commander Lebiordirr]";
- mes "Arioss, please compensate this strange one for the help. I need to go rest...";
- next;
- mes "[Aide Arioss]";
- mes "Commander...";
+ mes("[Commander Lebiordirr]");
+ mes("His Highness, the World Tree Yggdrasil, said that?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("The reason behind all of this... is not because of the Sapha tribe, but because of the sudden leave of the Guardian? And the Guaridan has given up on his identity?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("This must be reported... reported to the High Priest of Alfheim... Unbelievable.");
+ next();
+ mes("[Aide Arioss]");
+ mes("Commander... do we need to alert the rest of the tribe...?");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("You don't need to worry about this, Arioss. As commander, I will handle it. You just pretend nothing happened...");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Strange one, thank you for your cooperation in such situations... Please forget what has happened today...");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Arioss, please compensate this strange one for the help. I need to go rest...");
+ next();
+ mes("[Aide Arioss]");
+ mes("Commander...");
ins_nyd = 121;
- close;
- } else if ((ins_nyd == 121) || (ins_nyd == 131)) {
- mes "Strange one, thank you for your cooperation in such situations... Please forget what has happened today...";
- close;
+ close();
+ } else if (ins_nyd == 121 || ins_nyd == 131) {
+ mes("Strange one, thank you for your cooperation in such situations... Please forget what has happened today...");
+ close();
} else {
- mes "Welcome to the Laphine camp in Splendide, outsider... I am Lebiordirr. I am in charge here.";
- next;
- mes "[Commander Lebiordirr]";
- mes "Be cautious of your actions. We already have lots of problems with the Sapha tribe as it is.";
- next;
- mes "[Commander Lebiordirr]";
- mes "If you are cautious with your actions, I won't place any harm on you. Fare well.";
- close;
+ mes("Welcome to the Laphine camp in Splendide, outsider... I am Lebiordirr. I am in charge here.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("Be cautious of your actions. We already have lots of problems with the Sapha tribe as it is.");
+ next();
+ mes("[Commander Lebiordirr]");
+ mes("If you are cautious with your actions, I won't place any harm on you. Fare well.");
+ close();
}
} else {
- mes "ThusDurnah Ra SharVeldIyaz U UorAmanDur Yee neaOsaAdor Yee...";
- close;
+ mes("ThusDurnah Ra SharVeldIyaz U UorAmanDur Yee neaOsaAdor Yee...");
+ close();
}
}
spl_in01,104,56,3 script Aide Arioss#edq 4_F_FAIRYKID2,3,3,{
- mes "[Aide Arioss]";
- if (isequipped(2782) == 1) {
+ mes("[Aide Arioss]");
+ if (isequipped(Ring_Of_Wise_King) == 1) {
if (ins_nyd == 91) {
- mes "Sigh, since it's Commander Lebiordirr's wish, I will cooperate with you...";
- next;
- mes "[Aide Arioss]";
- mes "You want to go there to find out exactly what that place is?";
- next;
- mes "[Aide Arioss]";
- mes "Alright...it's as you have assumed, a place connecting to the World Tree. It's also the Guardian's Nest.";
- next;
+ mes("Sigh, since it's Commander Lebiordirr's wish, I will cooperate with you...");
+ next();
+ mes("[Aide Arioss]");
+ mes("You want to go there to find out exactly what that place is?");
+ next();
+ mes("[Aide Arioss]");
+ mes("Alright...it's as you have assumed, a place connecting to the World Tree. It's also the Guardian's Nest.");
+ next();
select("Guardian's Nest?");
- mes "[Aide Arioss]";
- mes "Yes, that's the nest of Nidhoggur, the Guardian of the World Tree...";
- next;
- mes "[Aide Arioss]";
- mes "Only a marked guardian's servant from the Laphine tribe is allowed to enter.";
- next;
- mes "[Aide Arioss]";
- mes "That place was initially closed off from the public, but then the giants of the Sapha tribe turned things around...";
- next;
- mes "[Aide Arioss]";
- mes "To obtain more minerals, they started to dig with madness.";
- next;
- mes "[Aide Arioss]";
- mes "In the end, they have harmed a part of the World Tree's root that lies very close to their mine, and thus, the World Tree became very ill.";
- next;
- mes "[Aide Arioss]";
- mes "After we have arrived here knowing the facts, the World Tree was already in a very bad state due to the many factories built by the Sapha tribe.";
- next;
- mes "[Aide Arioss]";
- mes "Even though, for a long time, we have been attacking the Sapha tribe, trying to force them to leave, they are not so easily defeated, leading to this stalemate.";
- next;
- mes "[Aide Arioss]";
- mes "During this time, your people have travelled through the space-time gap to this land.";
- next;
- mes "[Aide Arioss]";
- mes "Because of those many unexpected reasons, the Guardian's nest, which was meant to stay hidden deep underground, has been discovered by your race...";
- next;
- mes "[Aide Arioss]";
- mes "Now you understand how serious this situation is. Because of the Sapha tribe, we are no longer able to approach the Guardian, and seek his teachings of wisdom.";
- next;
- mes "[Aide Arioss]";
- mes "It's very insulting to our pride... but if you can help us enter that place again, and speak to the Guardian, maybe we can find a solution...";
- next;
- mes "[Aide Arioss]";
- mes "Then we'll leave it to you. As for your request, I will do my best to cooperate.";
- next;
- mes "[Aide Arioss]";
- mes "I have already told you what you wanted to know... If you need anything else, just let me know.";
+ mes("[Aide Arioss]");
+ mes("Yes, that's the nest of Nidhoggur, the Guardian of the World Tree...");
+ next();
+ mes("[Aide Arioss]");
+ mes("Only a marked guardian's servant from the Laphine tribe is allowed to enter.");
+ next();
+ mes("[Aide Arioss]");
+ mes("That place was initially closed off from the public, but then the giants of the Sapha tribe turned things around...");
+ next();
+ mes("[Aide Arioss]");
+ mes("To obtain more minerals, they started to dig with madness.");
+ next();
+ mes("[Aide Arioss]");
+ mes("In the end, they have harmed a part of the World Tree's root that lies very close to their mine, and thus, the World Tree became very ill.");
+ next();
+ mes("[Aide Arioss]");
+ mes("After we have arrived here knowing the facts, the World Tree was already in a very bad state due to the many factories built by the Sapha tribe.");
+ next();
+ mes("[Aide Arioss]");
+ mes("Even though, for a long time, we have been attacking the Sapha tribe, trying to force them to leave, they are not so easily defeated, leading to this stalemate.");
+ next();
+ mes("[Aide Arioss]");
+ mes("During this time, your people have travelled through the space-time gap to this land.");
+ next();
+ mes("[Aide Arioss]");
+ mes("Because of those many unexpected reasons, the Guardian's nest, which was meant to stay hidden deep underground, has been discovered by your race...");
+ next();
+ mes("[Aide Arioss]");
+ mes("Now you understand how serious this situation is. Because of the Sapha tribe, we are no longer able to approach the Guardian, and seek his teachings of wisdom.");
+ next();
+ mes("[Aide Arioss]");
+ mes("It's very insulting to our pride... but if you can help us enter that place again, and speak to the Guardian, maybe we can find a solution...");
+ next();
+ mes("[Aide Arioss]");
+ mes("Then we'll leave it to you. As for your request, I will do my best to cooperate.");
+ next();
+ mes("[Aide Arioss]");
+ mes("I have already told you what you wanted to know... If you need anything else, just let me know.");
ins_nyd = 101;
- close;
+ close();
} else if (ins_nyd == 101) {
- mes "Ah, you said that there is a strange power blocking the entrance to the Guardian's nest, right?";
- next;
- mes "[Aide Arioss]";
- mes "That's because only the ones chosen by the Guardian may enter.";
- next;
- mes "[Aide Arioss]";
- mes "We have been the Guardian's servants for generations, and have been protecting the World Tree ever since.";
- next;
- mes "[Aide Arioss]";
- mes "Before we were captured and brought here, there were 3 servants including me. Our task was to heal the World Tree.";
- next;
- mes "[Aide Arioss]";
- mes "One was killed in our last war with the Sapha tribe... and the other has been taken captive.";
- next;
- mes "[Aide Arioss]";
- mes "I will give you my proof. Don't worry, I'm just temporarily marking you as a guardian's servant.";
- specialeffect2 EF_HOLYHIT;
- next;
- mes "[Aide Arioss]";
- mes "Also, remember this spell, it's needed to open the gate of the Guardian.";
- next;
- mes "[Aide Arioss]";
- mes "AnomarDu Ha OdesUdenVer Ie ";
- next;
- mes "[Aide Arioss]";
- mes "remuAlaAsh Mu ModtasAn Yu Dur";
- next;
- mes "[Aide Arioss]";
- mes "TalsehrDur So CyaReMush Di DielAlaWos Ie RuffserIman Ie ";
- next;
- mes "[Aide Arioss]";
- mes "Go find the fairy guarding the gate, and say this spell.";
- next;
- mes "[Aide Arioss]";
- mes "The proof and the spell will confirm that you are one of the Guardian's servants.";
- next;
- mes "[Aide Arioss]";
- mes "Please meet the Guardian, and come back with an answer to everything. I believe in you.";
+ mes("Ah, you said that there is a strange power blocking the entrance to the Guardian's nest, right?");
+ next();
+ mes("[Aide Arioss]");
+ mes("That's because only the ones chosen by the Guardian may enter.");
+ next();
+ mes("[Aide Arioss]");
+ mes("We have been the Guardian's servants for generations, and have been protecting the World Tree ever since.");
+ next();
+ mes("[Aide Arioss]");
+ mes("Before we were captured and brought here, there were 3 servants including me. Our task was to heal the World Tree.");
+ next();
+ mes("[Aide Arioss]");
+ mes("One was killed in our last war with the Sapha tribe... and the other has been taken captive.");
+ next();
+ mes("[Aide Arioss]");
+ mes("I will give you my proof. Don't worry, I'm just temporarily marking you as a guardian's servant.");
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
+ next();
+ mes("[Aide Arioss]");
+ mes("Also, remember this spell, it's needed to open the gate of the Guardian.");
+ next();
+ mes("[Aide Arioss]");
+ mes("AnomarDu Ha OdesUdenVer Ie ");
+ next();
+ mes("[Aide Arioss]");
+ mes("remuAlaAsh Mu ModtasAn Yu Dur");
+ next();
+ mes("[Aide Arioss]");
+ mes("TalsehrDur So CyaReMush Di DielAlaWos Ie RuffserIman Ie ");
+ next();
+ mes("[Aide Arioss]");
+ mes("Go find the fairy guarding the gate, and say this spell.");
+ next();
+ mes("[Aide Arioss]");
+ mes("The proof and the spell will confirm that you are one of the Guardian's servants.");
+ next();
+ mes("[Aide Arioss]");
+ mes("Please meet the Guardian, and come back with an answer to everything. I believe in you.");
ins_nyd = 111;
- close;
- } else if ((ins_nyd == 101) || (ins_nyd == 111) || (ins_nyd == 200) || (ins_nyd == 201) || (ins_nyd == 202)) {
- mes "Please meet with the Guardian and take a wise answer from him. I will trust you.";
- close;
- } else if ((ins_nyd == 72) || (ins_nyd == 82) || (ins_nyd == 92) || (ins_nyd == 102) || (ins_nyd == 112)) {
- mes "... ...";
- next;
- mes "Not even caring about this a single bit? What a stupid woman...";
- close;
+ close();
+ } else if (ins_nyd == 101 || ins_nyd == 111 || ins_nyd == 200 || ins_nyd == 201 || ins_nyd == 202) {
+ mes("Please meet with the Guardian and take a wise answer from him. I will trust you.");
+ close();
+ } else if (ins_nyd == 72 || ins_nyd == 82 || ins_nyd == 92 || ins_nyd == 102 || ins_nyd == 112) {
+ mes("... ...");
+ next();
+ mes("Not even caring about this a single bit? What a stupid woman...");
+ close();
} else if (ins_nyd == 121) {
- mes "Things have actually become like this... as priests of the Guardian, it's our responsibility...";
- next;
- mes "[Aide Arioss]";
- mes "I represent the entire Laphine tribe, and show you our gratitude. This must all be very hard for our commander...";
- next;
- mes "[Aide Arioss]";
- mes "It can't compare with the effort you have put in for us... but please accept our token of friendship.";
- getexp 1500000,350000;
- getitem Splendide_Coin,10;
+ mes("Things have actually become like this... as priests of the Guardian, it's our responsibility...");
+ next();
+ mes("[Aide Arioss]");
+ mes("I represent the entire Laphine tribe, and show you our gratitude. This must all be very hard for our commander...");
+ next();
+ mes("[Aide Arioss]");
+ mes("It can't compare with the effort you have put in for us... but please accept our token of friendship.");
+ getexp(1500000, 350000);
+ getitem(Splendide_Coin, 10);
ins_nyd = 131;
- mes "[Aide Arioss]";
- mes "If we can help you with anything in the future, we will do all we can to assist you. Once again, thank you.";
- close;
+ mes("[Aide Arioss]");
+ mes("If we can help you with anything in the future, we will do all we can to assist you. Once again, thank you.");
+ close();
} else if (ins_nyd == 131) {
- mes "If we can help you with anything in the future, we will do all we can to assist you. Once again, thank you.";
- close;
+ mes("If we can help you with anything in the future, we will do all we can to assist you. Once again, thank you.");
+ close();
} else {
- mes "... ...";
- next;
- mes "Never give attention to... um... a blunt woman...";
- close;
+ mes("... ...");
+ next();
+ mes("Never give attention to... um... a blunt woman...");
+ close();
}
} else {
- mes "AmanVilShar Ie DorLuShar Mu Re";
- close;
+ mes("AmanVilShar Ie DorLuShar Mu Re");
+ close();
}
}
spl_in01,110,21,0 script trap#s_edq FAKE_NPC,10,10,{
OnTouch_:
- if ((isequipped(2782) == 1) && (ins_nyd == 51)) {
- mes "[Splendide Guard]";
- mes "That man is currently under arrest.";
- next;
- mes "[Splendide Guard]";
- mes "You'd better behave, Aide Arioss says that different races shall be treated the same way.";
- warp "spl_in01",109,58;
- close;
+ if (isequipped(Ring_Of_Wise_King) == 1 && ins_nyd == 51) {
+ mes("[Splendide Guard]");
+ mes("That man is currently under arrest.");
+ next();
+ mes("[Splendide Guard]");
+ mes("You'd better behave, Aide Arioss says that different races shall be treated the same way.");
+ warp("spl_in01", 109, 58);
+ close();
}
end;
}
spl_in01,101,52,5 script Splendide Guard#1_edq 4_M_FAIRYSOLDIER,1,1,{
- mes "[Splendide Guard]";
- if (isequipped(2782) == 1) mes "This is the Splendide office. Don't act impolitely.";
- else mes "ThusDurnah Ra SharVeldIyaz U UorAmanDur Yee neaOsaAdor Yee ";
- close;
+ mes("[Splendide Guard]");
+ if (isequipped(Ring_Of_Wise_King) == 1)
+ mes("This is the Splendide office. Don't act impolitely.");
+ else
+ mes("ThusDurnah Ra SharVeldIyaz U UorAmanDur Yee neaOsaAdor Yee ");
+ close();
}
spl_in01,118,52,3 script Splendide Guard#2_edq 4_M_FAIRYSOLDIER,1,1,{
- mes "[Splendide Guard]";
- if (isequipped(2782) == 1) mes "This is the Splendide office. Don't act impolitely.";
- else mes "ThusDurnah Ra SharVeldIyaz U UorAmanDur Yee neaOsaAdor Yee ";
- close;
+ mes("[Splendide Guard]");
+ if (isequipped(Ring_Of_Wise_King) == 1)
+ mes("This is the Splendide office. Don't act impolitely.");
+ else
+ mes("ThusDurnah Ra SharVeldIyaz U UorAmanDur Yee neaOsaAdor Yee ");
+ close();
}
man_in01,311,57,3 script Neat Etorr#edq 4_MAN_NITT,3,3,{
- mes "[Neat Etorr]";
- if (isequipped(2782) == 1) {
+ mes("[Neat Etorr]");
+ if (isequipped(Ring_Of_Wise_King) == 1) {
if (ins_nyd == 52) {
- mes "Guest from the other world, please excuse our rudeness...";
- next;
- mes "[Neat Etorr]";
- mes "As the leader of the Sapha tribe, I have something very important to tell you. That is why I asked for you...";
- next;
- mes "[Neat Etorr]";
- mes "Your race has come to this land not long ago through the space-time gap.";
- next;
- mes "[Neat Etorr]";
- mes "You should have already seen what is going on. We have been at war with the Laphine tribe for a very long time.";
- next;
- mes "[Neat Etorr]";
- mes "Recently, because you do not understand the current situations, you have done some things that I, as a leader, can't ignore any longer.";
- next;
- mes "[Neat Etorr]";
- mes "I hope that your people will becareful of your actions on this land, and terminate any unnecessary interventions.";
- next;
- if(select("Leave quietly.", "Don't know what he's talking about, and ask for details.")==1) close;
- mes "[Manuk Field Elite Soldier]";
- mes "Are we really just letting these people go after they have stirred up problems on our land?";
- next;
- mes "[Neat Etorr]";
- mes "After what happened, I don't think they know what else they can do. Let me explain.";
- next;
- mes "[Neat Etorr]";
- mes "For now, we have acknowledged your race, and have been tolerant towards your activities.";
- next;
- mes "[Neat Etorr]";
- mes "But we have recently started to suspect you of being the Laphine tribe's eyes and ears.";
- next;
- mes "[Neat Etorr]";
- mes "Not long ago, We have heard that you have found remains in an abandoned cave in the north, and have been conducting investigations and researches regarding it.";
- next;
- mes "[Neat Etorr]";
- mes "We have captured a Laphine tribe priest during the last war, and we have heard that you have had contact with said captive.";
- next;
- mes "[Neat Etorr]";
- mes "That captive is the only reference for our tribe, so we have taken good care of her. She is related to your current investigation.";
- next;
- mes "[Neat Etorr]";
- mes "For your people, who have no direct connections, it is not a place satisfy your curiosity. I hope that you stop your investigations, and mind your own business.";
- next;
- mes "[Neat Etorr]";
- mes "If you don't accept our request, then do not expect any cooperations between our races in the future.";
- next;
- mes "[Neat Etorr]";
- mes "Because of the war against the Laphine tribe, everything is a mess. But even then, we cannot allow a foreign race to interfere.";
- next;
- mes "[Neat Etorr]";
- mes "You have heard it all, now please report back to your race.";
+ mes("Guest from the other world, please excuse our rudeness...");
+ next();
+ mes("[Neat Etorr]");
+ mes("As the leader of the Sapha tribe, I have something very important to tell you. That is why I asked for you...");
+ next();
+ mes("[Neat Etorr]");
+ mes("Your race has come to this land not long ago through the space-time gap.");
+ next();
+ mes("[Neat Etorr]");
+ mes("You should have already seen what is going on. We have been at war with the Laphine tribe for a very long time.");
+ next();
+ mes("[Neat Etorr]");
+ mes("Recently, because you do not understand the current situations, you have done some things that I, as a leader, can't ignore any longer.");
+ next();
+ mes("[Neat Etorr]");
+ mes("I hope that your people will becareful of your actions on this land, and terminate any unnecessary interventions.");
+ next();
+ if (select("Leave quietly.", "Don't know what he's talking about, and ask for details.") == 1)
+ close();
+ mes("[Manuk Field Elite Soldier]");
+ mes("Are we really just letting these people go after they have stirred up problems on our land?");
+ next();
+ mes("[Neat Etorr]");
+ mes("After what happened, I don't think they know what else they can do. Let me explain.");
+ next();
+ mes("[Neat Etorr]");
+ mes("For now, we have acknowledged your race, and have been tolerant towards your activities.");
+ next();
+ mes("[Neat Etorr]");
+ mes("But we have recently started to suspect you of being the Laphine tribe's eyes and ears.");
+ next();
+ mes("[Neat Etorr]");
+ mes("Not long ago, We have heard that you have found remains in an abandoned cave in the north, and have been conducting investigations and researches regarding it.");
+ next();
+ mes("[Neat Etorr]");
+ mes("We have captured a Laphine tribe priest during the last war, and we have heard that you have had contact with said captive.");
+ next();
+ mes("[Neat Etorr]");
+ mes("That captive is the only reference for our tribe, so we have taken good care of her. She is related to your current investigation.");
+ next();
+ mes("[Neat Etorr]");
+ mes("For your people, who have no direct connections, it is not a place satisfy your curiosity. I hope that you stop your investigations, and mind your own business.");
+ next();
+ mes("[Neat Etorr]");
+ mes("If you don't accept our request, then do not expect any cooperations between our races in the future.");
+ next();
+ mes("[Neat Etorr]");
+ mes("Because of the war against the Laphine tribe, everything is a mess. But even then, we cannot allow a foreign race to interfere.");
+ next();
+ mes("[Neat Etorr]");
+ mes("You have heard it all, now please report back to your race.");
ins_nyd = 62;
- close;
+ close();
} else if (ins_nyd == 62) {
- mes "That captive is the only reference for our tribe, so we have taken good care of her. She is related to your current investigation.";
- next;
- mes "[Neat Etorr]";
- mes "For your people, who have no direct connections, it is not a place to satisfy your curiosity. I hope that you stop your investigations, and mind your own business.";
- next;
- mes "[Neat Etorr]";
- mes "If you don't accept our request, then do not expect any cooperations between our races in the future.";
- close;
+ mes("That captive is the only reference for our tribe, so we have taken good care of her. She is related to your current investigation.");
+ next();
+ mes("[Neat Etorr]");
+ mes("For your people, who have no direct connections, it is not a place to satisfy your curiosity. I hope that you stop your investigations, and mind your own business.");
+ next();
+ mes("[Neat Etorr]");
+ mes("If you don't accept our request, then do not expect any cooperations between our races in the future.");
+ close();
} else if (ins_nyd == 72) {
- mes "Recently, because you do not understand the current situations, you have done some things that I, as a leader, can't ignore any longer.";
- next;
- mes "[Neat Etorr]";
- mes "I hope that your people will becareful of your actions on this land, and terminate any unnecessary interventions.";
- close;
+ mes("Recently, because you do not understand the current situations, you have done some things that I, as a leader, can't ignore any longer.");
+ next();
+ mes("[Neat Etorr]");
+ mes("I hope that your people will becareful of your actions on this land, and terminate any unnecessary interventions.");
+ close();
} else if (ins_nyd == 82) {
- mes "Do you need me for something, strange one?";
- next;
+ mes("Do you need me for something, strange one?");
+ next();
select("Received invitation from the Sapha tribe to cooperate and investigate.");
- mes "[Neat Etorr]";
- mes "Cooperate and investigate? What do you mean?";
- next;
- mes "[Neat Etorr]";
- mes "It seems like you did not understand what I said. What are you thinking?";
- next;
+ mes("[Neat Etorr]");
+ mes("Cooperate and investigate? What do you mean?");
+ next();
+ mes("[Neat Etorr]");
+ mes("It seems like you did not understand what I said. What are you thinking?");
+ next();
select("Please allow me to investigate the cave.");
- mes "[Neat Etorr]";
- mes "From what I can tell, you are disrespecting my request. Is this your intention, or your people's intention?";
- next;
+ mes("[Neat Etorr]");
+ mes("From what I can tell, you are disrespecting my request. Is this your intention, or your people's intention?");
+ next();
select("It's our intention.");
- mes "[Neat Etorr]";
- mes "Ah, it is not an easy decision. You frighten me.";
- next;
- mes "[Neat Etorr]";
- mes "But may I ask why you want to do this?";
- next;
+ mes("[Neat Etorr]");
+ mes("Ah, it is not an easy decision. You frighten me.");
+ next();
+ mes("[Neat Etorr]");
+ mes("But may I ask why you want to do this?");
+ next();
select("Explain Professor Magnifier's theory.");
- mes "[Neat Etorr]";
- mes "It's surprising that you are able to obtain such results. We also have a similar theory.";
- next;
- mes "[Neat Etorr]";
- mes "At least we also think that we must use the Laphine prisoner to get information.";
- next;
- mes "[Neat Etorr]";
- mes "This problem has been the root of our conflicts with the Laphine tribe. Of course, it may also be an opportunity to resolve them.";
- next;
- mes "[Neat Etorr]";
- mes "Therefore, it's more of a reason to depend on our own powers. There is no room for you to interfere. Please give up.";
- next;
+ mes("[Neat Etorr]");
+ mes("It's surprising that you are able to obtain such results. We also have a similar theory.");
+ next();
+ mes("[Neat Etorr]");
+ mes("At least we also think that we must use the Laphine prisoner to get information.");
+ next();
+ mes("[Neat Etorr]");
+ mes("This problem has been the root of our conflicts with the Laphine tribe. Of course, it may also be an opportunity to resolve them.");
+ next();
+ mes("[Neat Etorr]");
+ mes("Therefore, it's more of a reason to depend on our own powers. There is no room for you to interfere. Please give up.");
+ next();
select("Give up request, and ask Laphine tribe for help instead.");
- mes "[Manuk Field Elite Soldier]";
- mes "You finally showed your true face. I knew you were a spy from the Laphine tribe!";
- next;
- mes "[Neat Etorr]";
- mes "Ah...you'd go as far as saying that. What good will it do for you, helping the Laphine tribe?";
- next;
- mes "[Neat Etorr]";
- mes "Those obnoxious dwarves offended our right of living, and are trying to get rid of us.";
- next;
- mes "[Neat Etorr]";
- mes "The reason we don't allow anyone to enter that site is because it's full of suspicions.";
- next;
- mes "[Neat Etorr]";
- mes "Alright, I'll approve of your request, and let you investigate the secret the Laphine tribe has hidden inside the cave.";
- next;
- mes "[Neat Etorr]";
- mes "If you promise to share all of your research results and findings, we will accept your request.";
- next;
+ mes("[Manuk Field Elite Soldier]");
+ mes("You finally showed your true face. I knew you were a spy from the Laphine tribe!");
+ next();
+ mes("[Neat Etorr]");
+ mes("Ah...you'd go as far as saying that. What good will it do for you, helping the Laphine tribe?");
+ next();
+ mes("[Neat Etorr]");
+ mes("Those obnoxious dwarves offended our right of living, and are trying to get rid of us.");
+ next();
+ mes("[Neat Etorr]");
+ mes("The reason we don't allow anyone to enter that site is because it's full of suspicions.");
+ next();
+ mes("[Neat Etorr]");
+ mes("Alright, I'll approve of your request, and let you investigate the secret the Laphine tribe has hidden inside the cave.");
+ next();
+ mes("[Neat Etorr]");
+ mes("If you promise to share all of your research results and findings, we will accept your request.");
+ next();
select("Of course.");
- mes "[Neat Etorr]";
- mes "Alright, from now on, we will cooperate with you, and allow you to directly communicate with the Laphine prisoner.";
- next;
- mes "[Manuk Field Elite Soldier]";
- mes "Commander...are you sure of this? We don't even know if they're friend or foe...";
- next;
- mes "[Neat Etorr]";
- mes "With just our powers, it's impossible to figure out what the Laphine is up to. I think the past has proven that.";
- next;
- mes "[Neat Etorr]";
- mes "What they're doing right now could potentially lead us to a solution.";
- next;
- mes "[Neat Etorr]";
- mes "Strange one, we hope our cooperation will be a good one. Now please go interrogate the Laphine prisoner.";
+ mes("[Neat Etorr]");
+ mes("Alright, from now on, we will cooperate with you, and allow you to directly communicate with the Laphine prisoner.");
+ next();
+ mes("[Manuk Field Elite Soldier]");
+ mes("Commander...are you sure of this? We don't even know if they're friend or foe...");
+ next();
+ mes("[Neat Etorr]");
+ mes("With just our powers, it's impossible to figure out what the Laphine is up to. I think the past has proven that.");
+ next();
+ mes("[Neat Etorr]");
+ mes("What they're doing right now could potentially lead us to a solution.");
+ next();
+ mes("[Neat Etorr]");
+ mes("Strange one, we hope our cooperation will be a good one. Now please go interrogate the Laphine prisoner.");
ins_nyd = 92;
- close;
- } else if ((ins_nyd == 92) || (ins_nyd == 102) || (ins_nyd == 112) || (ins_nyd == 200) || (ins_nyd == 201) || (ins_nyd == 202)) {
- mes "Strange one, we hope our cooperation will be a good one. Now please go interrogate the Laphine prisoner.";
- close;
- } else if ((ins_nyd == 71) || (ins_nyd == 81) || (ins_nyd == 91) || (ins_nyd == 101) || (ins_nyd == 111) || (ins_nyd == 121) || (ins_nyd == 131)) {
- mes "Outsider. Welcome to Manuk, the village of the Sapha. I am its representative, Neat Etorr.";
- next;
- mes "[Neat Etorr]";
- mes "We are just a small village, nothing special... but rest comfortably.";
- close;
+ close();
+ } else if (ins_nyd == 92 || ins_nyd == 102 || ins_nyd == 112 || ins_nyd == 200 || ins_nyd == 201 || ins_nyd == 202) {
+ mes("Strange one, we hope our cooperation will be a good one. Now please go interrogate the Laphine prisoner.");
+ close();
+ } else if (ins_nyd == 71 || ins_nyd == 81 || ins_nyd == 91 || ins_nyd == 101 || ins_nyd == 111 || ins_nyd == 121 || ins_nyd == 131) {
+ mes("Outsider. Welcome to Manuk, the village of the Sapha. I am its representative, Neat Etorr.");
+ next();
+ mes("[Neat Etorr]");
+ mes("We are just a small village, nothing special... but rest comfortably.");
+ close();
} else if (ins_nyd == 203) {
- mes "I was waiting for you. It's good that you're safe. Did you find anything?";
- next;
+ mes("I was waiting for you. It's good that you're safe. Did you find anything?");
+ next();
select("Explain the sudden leave of the Guardian.");
- mes "[Neat Etorr]";
- mes "So... that's the nest of the Guardian of the World Tree, the sacred grounds for the Laphine tribe.";
- next;
- mes "[Neat Etorr]";
- mes "But because of the angry leave of the Guardian, his shadow is wreaking havoc on the World Tree?";
- next;
- mes "[Neat Etorr]";
- mes "If what you're saying is true, then there is no more reason for us to continue fighting the Laphine tribe...";
- next;
- mes "[Neat Etorr]";
- mes "What a huge discovery... So Nidhoggur is no longer the Guardian of the World Tree...?";
- next;
- mes "[Neat Etorr]";
- mes "Nidhoggur's Shadow came to exist in this world, and harmed the roots of the World Tree... what a disaster.";
- next;
+ mes("[Neat Etorr]");
+ mes("So... that's the nest of the Guardian of the World Tree, the sacred grounds for the Laphine tribe.");
+ next();
+ mes("[Neat Etorr]");
+ mes("But because of the angry leave of the Guardian, his shadow is wreaking havoc on the World Tree?");
+ next();
+ mes("[Neat Etorr]");
+ mes("If what you're saying is true, then there is no more reason for us to continue fighting the Laphine tribe...");
+ next();
+ mes("[Neat Etorr]");
+ mes("What a huge discovery... So Nidhoggur is no longer the Guardian of the World Tree...?");
+ next();
+ mes("[Neat Etorr]");
+ mes("Nidhoggur's Shadow came to exist in this world, and harmed the roots of the World Tree... what a disaster.");
+ next();
select("Pass along the World Tree Yggdrasil's message.");
- mes "[Neat Etorr]";
- mes "Is that what the priest of the Guardian said?";
- next;
- mes "[Neat Etorr]";
- mes "From now on, we need to talk about this with the Laphine tribe.";
- next;
- mes "[Neat Etorr]";
- mes "But of course...we don't know if they're reasonable enough...hehe.";
- next;
- mes "[Neat Etorr]";
- mes "This is all we needed from you...What is left is business between us and the Laphine tribe.";
- next;
- mes "[Neat Etorr]";
- mes "Thank you for helping us with such a huge problem. You may forget about it now.";
- next;
- mes "[Neat Etorr]";
- mes "It's not a lot, but please this as a token of our appreciation.";
- getexp 1500000,350000;
- getitem Manuk_Coin,10;
+ mes("[Neat Etorr]");
+ mes("Is that what the priest of the Guardian said?");
+ next();
+ mes("[Neat Etorr]");
+ mes("From now on, we need to talk about this with the Laphine tribe.");
+ next();
+ mes("[Neat Etorr]");
+ mes("But of course...we don't know if they're reasonable enough...hehe.");
+ next();
+ mes("[Neat Etorr]");
+ mes("This is all we needed from you...What is left is business between us and the Laphine tribe.");
+ next();
+ mes("[Neat Etorr]");
+ mes("Thank you for helping us with such a huge problem. You may forget about it now.");
+ next();
+ mes("[Neat Etorr]");
+ mes("It's not a lot, but please this as a token of our appreciation.");
+ getexp(1500000, 350000);
+ getitem(Manuk_Coin, 10);
ins_nyd = 132;
- close;
+ close();
} else if (ins_nyd == 132) {
- mes "Strange one, thank you for helping us in the time of need. I will never forget your kindness.";
- close;
+ mes("Strange one, thank you for helping us in the time of need. I will never forget your kindness.");
+ close();
} else {
- mes "Outsider. Welcome to the Manuk village of Sapha. I am its representative, Neat Etorr.";
- next;
- mes "[Neat Etorr]";
- mes "We are just a small village, nothing special... but rest comfortably.";
- close;
+ mes("Outsider. Welcome to the Manuk village of Sapha. I am its representative, Neat Etorr.");
+ next();
+ mes("[Neat Etorr]");
+ mes("We are just a small village, nothing special... but rest comfortably.");
+ close();
}
} else {
- mes "Tkeh likek Ohek QekhlHkl PkedlioH.";
- close;
+ mes("Tkeh likek Ohek QekhlHkl PkedlioH.");
+ close();
}
}
man_in01,286,61,5 script Manuk Guard#1_edq 4_MAN_GALTUN,1,1,{
- mes "[Manuk Guard]";
- if (isequipped(2782) == 1) mes "I'm guarding this Laphine prisoner. Leave me alone.";
- else mes "Klekod Oi Thekd Pheid Okei.";
- close;
+ mes("[Manuk Guard]");
+ if (isequipped(Ring_Of_Wise_King) == 1)
+ mes("I'm guarding this Laphine prisoner. Leave me alone.");
+ else
+ mes("Klekod Oi Thekd Pheid Okei.");
+ close();
}
man_in01,295,61,3 script Manuk Guard#2_edq 4_MAN_GALTUN,1,1,{
- mes "[Manuk Guard]";
- if (isequipped(2782) == 1) mes "I'm guarding this Laphine prisoner. Leave me alone.";
- else mes "Liek QUekdk Ohei Vue.";
- close;
+ mes("[Manuk Guard]");
+ if (isequipped(Ring_Of_Wise_King) == 1)
+ mes("I'm guarding this Laphine prisoner. Leave me alone.");
+ else
+ mes("Liek QUekdk Ohei Vue.");
+ close();
}
man_in01,291,62,3 script Laphine Prisoner#edq 4_F_FAIRYKID2,3,3,{
- mes "[Laphine Prisoner]";
- if (isequipped(2782) == 1) {
+ mes("[Laphine Prisoner]");
+ if (isequipped(Ring_Of_Wise_King) == 1) {
if (ins_nyd == 5) {
- mes "You... are not of the Sapha tribe... Are you... an outsider?";
- next;
- mes "[Laphine Prisoner]";
- mes "Have you ever come in contact with the Laphine tribe? Have you ever been to Splendide?";
- next;
- mes "[Laphine Prisoner]";
- mes "Please, talk to my people in Splendide. They will come to help me.";
- next;
- switch(select("What happened to you?", "What's in the cave to the north?", "Tell me about your tribe.", "I will leave you alone.")) {
+ mes("You... are not of the Sapha tribe... Are you... an outsider?");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Have you ever come in contact with the Laphine tribe? Have you ever been to Splendide?");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Please, talk to my people in Splendide. They will come to help me.");
+ next();
+ switch (select("What happened to you?", "What's in the cave to the north?", "Tell me about your tribe.", "I will leave you alone.")) {
case 1:
- mes "[Laphine Prisoner]";
- mes "During out last battle with the Sapha tribe... they caught me and took me prisoner.";
- next;
- mes "[Laphine Prisoner]";
- mes "The Sapha tribe attacked first. They are destroying the World Tree.";
- next;
- mes "[Laphine Prisoner]";
- mes "That's why the war started. But I don't want to fight with the Sapha tribe anymore...";
- next;
- mes "[Laphine Prisoner]";
- mes "If it wasn't for that... I wouldn't survive here...";
- next;
- mes "[Laphine Prisoner]";
- mes "Please. Bring this news to all of Splendide. Send someone to save me... or they might kill me.";
- close;
+ mes("[Laphine Prisoner]");
+ mes("During out last battle with the Sapha tribe... they caught me and took me prisoner.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("The Sapha tribe attacked first. They are destroying the World Tree.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("That's why the war started. But I don't want to fight with the Sapha tribe anymore...");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("If it wasn't for that... I wouldn't survive here...");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Please. Bring this news to all of Splendide. Send someone to save me... or they might kill me.");
+ close();
case 2:
- mes "[Laphine Prisoner]";
- mes "There is...";
- next;
- mes "[Laphine Prisoner]";
- mes "No... I can't tell you... It's the secret of our tribe...";
- next;
- mes "[Laphine Prisoner]";
- mes "I just want to say this...if the Sapha tribe intrude that place, we will never forgive them!";
+ mes("[Laphine Prisoner]");
+ mes("There is...");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("No... I can't tell you... It's the secret of our tribe...");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("I just want to say this...if the Sapha tribe intrude that place, we will never forgive them!");
ins_nyd = 52;
- close;
+ close();
case 3:
- mes "[Laphine Prisoner]";
- mes "The Laphines have protected the Yggdrasil World Tree for generations.";
- next;
- mes "[Laphine Prisoner]";
- mes "We live in a... different time, different land... we came for an expedition.";
- next;
- mes "[Laphine Prisoner]";
- mes "After we received reports from our spy about the World Tree's strange symptoms, we recgnized the Manuk's existence.";
- next;
- mes "[Laphine Prisoner]";
- mes "They are mining metal, and in so doing, destroying the World Tree's roots...";
- next;
- mes "[Laphine Prisoner]";
- mes "So we dispatched an expedition here. Soonafter, the war with the Sapha began...";
- close;
+ mes("[Laphine Prisoner]");
+ mes("The Laphines have protected the Yggdrasil World Tree for generations.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("We live in a... different time, different land... we came for an expedition.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("After we received reports from our spy about the World Tree's strange symptoms, we recgnized the Manuk's existence.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("They are mining metal, and in so doing, destroying the World Tree's roots...");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("So we dispatched an expedition here. Soonafter, the war with the Sapha began...");
+ close();
case 4:
- close;
+ close();
}
} else if (ins_nyd == 92) {
- mes "The sapha tribe went as far as cooperating with an unknown race?";
- next;
- mes "[Laphine Prisoner]";
- mes "What is your purpose? Why do you want to know what that place is?";
- next;
- mes "[Laphine Prisoner]";
- mes "lright...it's as you have assumed, a place connecting to the World Tree. It's also the Guardian's Nest.";
- next;
+ mes("The sapha tribe went as far as cooperating with an unknown race?");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("What is your purpose? Why do you want to know what that place is?");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("lright...it's as you have assumed, a place connecting to the World Tree. It's also the Guardian's Nest.");
+ next();
select("Guardian's Nest?");
- mes "[Laphine Prisoner]";
- mes "Yes, that's the nest of Nidhoggur, the Guardian of the World Tree...";
- next;
- mes "[Laphine Prisoner]";
- mes "Only a marked guardian's servant from the Laphine tribe is allowed to enter.";
- next;
- mes "[Laphine Prisoner]";
- mes "That place was initially closed off from the public, but then the giants of the Sapha tribe turned things around...";
- next;
- mes "[Laphine Prisoner]";
- mes "To obtain more minerals, they started to dig with madness.";
- next;
- mes "[Laphine Prisoner]";
- mes "In the end, they have harmed a part of the World Tree's root that lies very close to their mine, and thus, the World Tree became very ill.";
- next;
- mes "[Laphine Prisoner]";
- mes "After we have arrived here knowing the facts, the World Tree was already in a very bad state due to the many factories built by the Sapha tribe.";
- next;
- mes "[Laphine Prisoner]";
- mes "Even though, for a long time, we have been attacking the Sapha tribe, trying to force them to leave, they are not so easily defeated, leading to this stalemate.";
- next;
- mes "[Laphine Prisoner]";
- mes "During this time, your people have travelled through the space-time gap to this land.";
- next;
- mes "[Laphine Prisoner]";
- mes "Because of those many unexpected reasons, the Guardian's nest, which was meant to stay hidden deep underground, has been discovered by your race...";
- next;
- mes "[Laphine Prisoner]";
- mes "Now you understand how serious this situation is. Because of the Sapha tribe, we are no longer able to approach the Guardian, and seek his teachings of wisdom.";
- next;
- mes "[Laphine Prisoner]";
- mes "Hmph...even if I don't cooperate, I know you will find other means to get in...";
- next;
- mes "[Laphine Prisoner]";
- mes "Looking at the current situation of the Laphine tribe, we do not have enough power to surround the Manuk fields, and chase the giants away.";
- next;
- mes "[Laphine Prisoner]";
- mes "Okay, if it has already become like this, I will help you. There are no dead-ends. If you keep going, you will find a solution.";
- next;
- mes "[Laphine Prisoner]";
- mes "Even if I don't say anything, my situation will not change.";
- next;
- mes "[Laphine Prisoner]";
- mes "I have already told you everything you wanted to hear. If you have any other requests, please let me know.";
+ mes("[Laphine Prisoner]");
+ mes("Yes, that's the nest of Nidhoggur, the Guardian of the World Tree...");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Only a marked guardian's servant from the Laphine tribe is allowed to enter.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("That place was initially closed off from the public, but then the giants of the Sapha tribe turned things around...");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("To obtain more minerals, they started to dig with madness.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("In the end, they have harmed a part of the World Tree's root that lies very close to their mine, and thus, the World Tree became very ill.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("After we have arrived here knowing the facts, the World Tree was already in a very bad state due to the many factories built by the Sapha tribe.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Even though, for a long time, we have been attacking the Sapha tribe, trying to force them to leave, they are not so easily defeated, leading to this stalemate.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("During this time, your people have travelled through the space-time gap to this land.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Because of those many unexpected reasons, the Guardian's nest, which was meant to stay hidden deep underground, has been discovered by your race...");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Now you understand how serious this situation is. Because of the Sapha tribe, we are no longer able to approach the Guardian, and seek his teachings of wisdom.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Hmph...even if I don't cooperate, I know you will find other means to get in...");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Looking at the current situation of the Laphine tribe, we do not have enough power to surround the Manuk fields, and chase the giants away.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Okay, if it has already become like this, I will help you. There are no dead-ends. If you keep going, you will find a solution.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Even if I don't say anything, my situation will not change.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("I have already told you everything you wanted to hear. If you have any other requests, please let me know.");
ins_nyd = 102;
- close;
+ close();
} else if (ins_nyd == 102) {
- mes "Ah, you said that there is a strange power blocking the entrance to the Guardian's nest, right?";
- next;
- mes "[Laphine Prisoner]";
- mes "That's because only the ones chosen by the Guardian may enter.";
- next;
- mes "[Laphine Prisoner]";
- mes "We have been the Guardian's servants for generations, and have been protecting the World Tree ever since.";
- next;
- mes "[Laphine Prisoner]";
- mes "Before we were captured and brought here, there were 3 servants including me. Our task was to heal the World Tree.";
- next;
- mes "[Laphine Prisoner]";
- mes "One was killed in our last war with the Sapha tribe...and I have been taken captive.";
- next;
- mes "[Laphine Prisoner]";
- mes "I will give you my proof. Don't worry, I'm just temporarily marking you as a guardian's servant.";
- specialeffect2 EF_HOLYHIT;
- next;
- mes "[Laphine Prisoner]";
- mes "Also, remember this spell, it's needed to open the gate of the Guardian.";
- next;
- mes "[Laphine Prisoner]";
- mes "AnomarDu Ha OdesUdenVer Ie ";
- next;
- mes "[Laphine Prisoner]";
- mes "remuAlaAsh Mu ModtasAn Yu Dur";
- next;
- mes "[Laphine Prisoner]";
- mes "TalsehrDur So CyaReMush Di DielAlaWos Ie RuffserIman Ie ";
- next;
- mes "[Laphine Prisoner]";
- mes "Go find the fairy guarding the gate, and say this spell.";
- next;
- mes "[Laphine Prisoner]";
- mes "he proof and the spell will confirm that you are one of the Guardian's servants.";
- next;
- mes "[Laphine Prisoner]";
- mes "Please meet the Guardian, and come back with an answer to everything. And tell the answer to...";
+ mes("Ah, you said that there is a strange power blocking the entrance to the Guardian's nest, right?");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("That's because only the ones chosen by the Guardian may enter.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("We have been the Guardian's servants for generations, and have been protecting the World Tree ever since.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Before we were captured and brought here, there were 3 servants including me. Our task was to heal the World Tree.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("One was killed in our last war with the Sapha tribe...and I have been taken captive.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("I will give you my proof. Don't worry, I'm just temporarily marking you as a guardian's servant.");
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Also, remember this spell, it's needed to open the gate of the Guardian.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("AnomarDu Ha OdesUdenVer Ie ");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("remuAlaAsh Mu ModtasAn Yu Dur");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("TalsehrDur So CyaReMush Di DielAlaWos Ie RuffserIman Ie ");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Go find the fairy guarding the gate, and say this spell.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("he proof and the spell will confirm that you are one of the Guardian's servants.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Please meet the Guardian, and come back with an answer to everything. And tell the answer to...");
ins_nyd = 112;
- close;
- } else if ((ins_nyd == 71) || (ins_nyd == 81) || (ins_nyd == 91) || (ins_nyd == 101) || (ins_nyd == 111) || (ins_nyd == 121) || (ins_nyd == 131)) {
- mes "... ...";
- next;
- mes "[Manuk Guard]";
- mes "Hey, outsider! Step away from the prisoner!";
- close;
+ close();
+ } else if (ins_nyd == 71 || ins_nyd == 81 || ins_nyd == 91 || ins_nyd == 101 || ins_nyd == 111 || ins_nyd == 121 || ins_nyd == 131) {
+ mes("... ...");
+ next();
+ mes("[Manuk Guard]");
+ mes("Hey, outsider! Step away from the prisoner!");
+ close();
} else if (ins_nyd == 112) {
- mes "Please meet the Guardian, and come back with an answer to everything. And tell the answer to...";
- close;
+ mes("Please meet the Guardian, and come back with an answer to everything. And tell the answer to...");
+ close();
} else if (ins_nyd == 132) {
- mes "Yes...I heard your conversation with the Sapha tribe...";
- next;
- mes "[Laphine Prisoner]";
- mes "If our tribe were to really trust in the Sapha tribe...I don't know.";
- next;
- mes "[Laphine Prisoner]";
- mes "Our hatred towards them has already reached an abnormal level...";
- next;
- mes "[Laphine Prisoner]";
- mes "Those giants...can they really be trusted?";
- next;
- mes "[Laphine Prisoner]";
- mes "It's...it's better if you don't believe the one called Etorr...the minds of the Sapha tribe is unpredictable.";
- close;
+ mes("Yes...I heard your conversation with the Sapha tribe...");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("If our tribe were to really trust in the Sapha tribe...I don't know.");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Our hatred towards them has already reached an abnormal level...");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("Those giants...can they really be trusted?");
+ next();
+ mes("[Laphine Prisoner]");
+ mes("It's...it's better if you don't believe the one called Etorr...the minds of the Sapha tribe is unpredictable.");
+ close();
} else {
- mes "... ...";
- next;
- mes "[Manuk Guard]";
- mes "Hey, outsider! Step away from the prisoner!";
- close;
+ mes("... ...");
+ next();
+ mes("[Manuk Guard]");
+ mes("Hey, outsider! Step away from the prisoner!");
+ close();
}
} else {
- mes "AmanVilShar Ie DorLuShar Mu Re";
- close;
+ mes("AmanVilShar Ie DorLuShar Mu Re");
+ close();
}
}
man_in01,282,42,0 script trap#edq2 FAKE_NPC,10,10,{
OnTouch_:
- if ((isequipped(2782) == 1) && (ins_nyd == 52)) {
- mes "[Manuk Field Elite Soldier]";
- mes "This is Neat Etorr's order. Please come with us to see him.";
- next;
- mes "[Manuk Field Elite Soldier]";
- mes "Bring him to Neat Etorr. All soldiers be prepared.";
- warp "man_in01",311,54;
- close;
+ if (isequipped(Ring_Of_Wise_King) == 1 && ins_nyd == 52) {
+ mes("[Manuk Field Elite Soldier]");
+ mes("This is Neat Etorr's order. Please come with us to see him.");
+ next();
+ mes("[Manuk Field Elite Soldier]");
+ mes("Bring him to Neat Etorr. All soldiers be prepared.");
+ warp("man_in01", 311, 54);
+ close();
}
end;
}
@@ -1533,149 +1541,150 @@ OnTouch_:
//== First floor ===========================================
1@nyd,213,277,5 script Murdered Yggdrasilid#1F 4_F_FAIRYKID2,5,5,{
if ('ins_nyd2 == 0) {
- mes "When a faint light enters your heart, a voice sounds in your head.";
- next;
- mes "[World Tree World Tree Yggdrasil]";
- mes "It's all over... servants of the Guardian... Hurry up and leave this place.";
- next;
- while(1) {
- switch(select("Who are you?", "What do you mean?")) {
+ mes("When a faint light enters your heart, a voice sounds in your head.");
+ next();
+ mes("[World Tree World Tree Yggdrasil]");
+ mes("It's all over... servants of the Guardian... Hurry up and leave this place.");
+ next();
+ while (true) {
+ switch (select("Who are you?", "What do you mean?")) {
case 1:
- mes "[World Tree World Tree Yggdrasil]";
- mes "I... I am the World Tree Yggdrasil, servant of the Guardian of Nidhoggur, as well as the High Priest leading the Laphine Tribe.";
- next;
- mes "[World Tree World Tree Yggdrasil]";
- mes "So you're not priestess of the Laphine Tribe... How did you get in? No, there's no time to answer that.";
- next;
- mes "[World Tree World Tree Yggdrasil]";
- mes "Hurry... and leave... leave this place before it's too late.";
- next;
+ mes("[World Tree World Tree Yggdrasil]");
+ mes("I... I am the World Tree Yggdrasil, servant of the Guardian of Nidhoggur, as well as the High Priest leading the Laphine Tribe.");
+ next();
+ mes("[World Tree World Tree Yggdrasil]");
+ mes("So you're not priestess of the Laphine Tribe... How did you get in? No, there's no time to answer that.");
+ next();
+ mes("[World Tree World Tree Yggdrasil]");
+ mes("Hurry... and leave... leave this place before it's too late.");
+ next();
break;
case 2:
- mes "[World Tree World Tree Yggdrasil]";
- mes "The guardian... something's wrong with the guardian. I don't know what made him like this.";
- next;
- mes "[World Tree World Tree Yggdrasil]";
- mes "This... this is no longer the nest of the Guardian of the World Tree Yggdrasil.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "Darkness took over the Guardian and destroyed all living things... now this place has become the cursed home of monsters.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "Now the vile Nidhoggur's Shadow is wreaking havoc here...";
- next;
- mes "[World Tree Yggdrasil]";
- mes "Now's not too late, hurry and get out... tell the Laphine Tribe about this... tell the commanders of Alfheim...";
- next;
- mes "[World Tree Yggdrasil]";
- mes "My soul... it has been trapped here. You're the only ones I can trust now.";
- next;
+ mes("[World Tree World Tree Yggdrasil]");
+ mes("The guardian... something's wrong with the guardian. I don't know what made him like this.");
+ next();
+ mes("[World Tree World Tree Yggdrasil]");
+ mes("This... this is no longer the nest of the Guardian of the World Tree Yggdrasil.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("Darkness took over the Guardian and destroyed all living things... now this place has become the cursed home of monsters.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("Now the vile Nidhoggur's Shadow is wreaking havoc here...");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("Now's not too late, hurry and get out... tell the Laphine Tribe about this... tell the commanders of Alfheim...");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("My soul... it has been trapped here. You're the only ones I can trust now.");
+ next();
.@exit = 1;
}
- if (.@exit) break;
+ if (.@exit)
+ break;
}
select("Nidhoggur's Shadow?");
- mes "[World Tree Yggdrasil]";
- mes "The Guardian Nidhoggur... he's not in the nest.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "He...for some reason abandoned his own shadow, and left.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "All that's left, is the ugly Shadow of the Guardian of Nidhoggur...the Shadow that is going mad.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "The Shadow sucked all the nutrients from the World Tree Yggdrasil, and has gone mad when there is nothing more left to obtain. Now, he wants this land.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "Once the ugly Shadow leaves here to steal power from the other World Yggdrasil Trees, there will be great destruction. This world will become hell.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "You must... tell the commanders of Alfheim about this, and come up with a plan. Only them...";
- next;
+ mes("[World Tree Yggdrasil]");
+ mes("The Guardian Nidhoggur... he's not in the nest.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("He...for some reason abandoned his own shadow, and left.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("All that's left, is the ugly Shadow of the Guardian of Nidhoggur...the Shadow that is going mad.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("The Shadow sucked all the nutrients from the World Tree Yggdrasil, and has gone mad when there is nothing more left to obtain. Now, he wants this land.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("Once the ugly Shadow leaves here to steal power from the other World Yggdrasil Trees, there will be great destruction. This world will become hell.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("You must... tell the commanders of Alfheim about this, and come up with a plan. Only them...");
+ next();
select("Is there nothing else we can do?");
- mes "[World Tree Yggdrasil]";
- mes "With our current powers...it is impossible to defeat the Guardian.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "But the one going mad is not the Guardian, but his dark Shadow...maybe we can trap him here...";
- next;
- mes "[World Tree Yggdrasil]";
- mes "Are you willing to accept this mission? Even if it means to pay with your life?";
- next;
- if(select("Leave it to us.", "We can't do it.") == 2)
- close;
- mes "[World Tree Yggdrasil]";
- mes "I thank you deeply for your decision. I will use what is left of my powers to open up the path towards the Guardian's Nest.";
- next;
- mes "[World Tree Yggdrasil]";
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
- mes "The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North. The defensive mechanisms of the Sanctuary will start immediately.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "Defeat all of Nidhoggur's guardians and go through the waterfall into the nest... and stop Nidhoggur's Shadow there.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "The gate will open soon. Go defeat all of the guardians... you must kill them all in 30 minutes before the gate opens...";
- next;
- mes "[World Tree Yggdrasil]";
- mes "30 minutes... that's the limit of my powers. Please hurry.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "And... Be careful... Be careful of the shadow's power.";
+ mes("[World Tree Yggdrasil]");
+ mes("With our current powers...it is impossible to defeat the Guardian.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("But the one going mad is not the Guardian, but his dark Shadow...maybe we can trap him here...");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("Are you willing to accept this mission? Even if it means to pay with your life?");
+ next();
+ if (select("Leave it to us.", "We can't do it.") == 2)
+ close();
+ mes("[World Tree Yggdrasil]");
+ mes("I thank you deeply for your decision. I will use what is left of my powers to open up the path towards the Guardian's Nest.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
+ mes("The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North. The defensive mechanisms of the Sanctuary will start immediately.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("Defeat all of Nidhoggur's guardians and go through the waterfall into the nest... and stop Nidhoggur's Shadow there.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("The gate will open soon. Go defeat all of the guardians... you must kill them all in 30 minutes before the gate opens...");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("30 minutes... that's the limit of my powers. Please hurry.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("And... Be careful... Be careful of the shadow's power.");
'ins_nyd2 = 1;
- donpcevent instance_npcname("ins_nyd_1f_timer")+"::OnEnable";
- donpcevent instance_npcname("nyd_call_mon_1")+"::OnEnable";
- close;
+ donpcevent(instance_npcname("ins_nyd_1f_timer")+"::OnEnable");
+ donpcevent(instance_npcname("nyd_call_mon_1")+"::OnEnable");
+ close();
} else {
- mes "The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North. The defensive mechanisms will start immediately.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "Defeat all of Nidhoggur's guardians and go through the waterfall into the nest... and stop Nidhoggur's Shadow there.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "The gate will open soon. Go defeat all of the guardians... you must kill them all in 30 minutes before the gate opens...";
- next;
- mes "[World Tree Yggdrasil]";
- mes "30 minutes... that's the limit of my powers. Please hurry.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "And... Be careful... Be careful of the shadow's power.";
- close;
+ mes("The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North. The defensive mechanisms will start immediately.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("Defeat all of Nidhoggur's guardians and go through the waterfall into the nest... and stop Nidhoggur's Shadow there.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("The gate will open soon. Go defeat all of the guardians... you must kill them all in 30 minutes before the gate opens...");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("30 minutes... that's the limit of my powers. Please hurry.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("And... Be careful... Be careful of the shadow's power.");
+ close();
}
} else if ('ins_nyd2 == 1) {
- mes "[World Tree Yggdrasil]";
- mes "The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North. The defensive mechanisms will start immediately.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "Defeat all of Nidhoggur's guardians and go through the waterfall into the nest... and stop Nidhoggur's Shadow there.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "The gate will open soon. Go defeat all of the guardians.";
- close;
+ mes("[World Tree Yggdrasil]");
+ mes("The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North. The defensive mechanisms will start immediately.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("Defeat all of Nidhoggur's guardians and go through the waterfall into the nest... and stop Nidhoggur's Shadow there.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("The gate will open soon. Go defeat all of the guardians.");
+ close();
} else if ('ins_nyd2 == 2) {
- mes "[World Tree Yggdrasil]";
- mes "The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "Use your powers... and destroy the vile Shadow...";
- next;
- mes "[World Tree Yggdrasil]";
- mes "This is... all I can do for you...";
- close;
+ mes("[World Tree Yggdrasil]");
+ mes("The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("Use your powers... and destroy the vile Shadow...");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("This is... all I can do for you...");
+ close();
} else {
- mes "[World Tree Yggdrasil]";
- mes "Those who want to taint the sacred Sanctuary of the Guardian... Get out.";
- warp "mid_camp",100,100;
+ mes("[World Tree Yggdrasil]");
+ mes("Those who want to taint the sacred Sanctuary of the Guardian... Get out.");
+ warp("mid_camp", 100, 100);
}
end;
OnTouch:
if ('ins_nyd2 == 0) {
- mes "What's a woman from the Laphine Tribe doing here...";
- next;
- mes "What's happening? Let's go check it out.";
- close;
+ mes("What's a woman from the Laphine Tribe doing here...");
+ next();
+ mes("What's happening? Let's go check it out.");
+ close();
}
end;
@@ -1686,38 +1695,38 @@ OnInstanceInit: // Temporary fix for @reloadscript.
1@nyd,1,1,0 script nyd_call_mon_1 FAKE_NPC,{
OnInstanceInit:
- enablenpc instance_npcname("nyd_call_mon_1");
+ enablenpc(instance_npcname("nyd_call_mon_1"));
end;
OnEnable:
.@map$ = instance_mapname("1@nyd");
- monster .@map$,220,250,"Nidhoggur's Guardian#1",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- monster .@map$,220,252,"Nidhoggur's Guardian#2",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- monster .@map$,240,270,"Nidhoggur's Guardian#3",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- monster .@map$,240,272,"Nidhoggur's Guardian#4",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- monster .@map$,200,200,"Nidhoggur's Guardian#5",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- monster .@map$,210,210,"Nidhoggur's Guardian#6",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- monster .@map$,225,265,"Nidhoggur's Guardian#7",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- monster .@map$,225,270,"Nidhoggur's Guardian#8",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- monster .@map$,245,235,"Nidhoggur's Guardian#9",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- monster .@map$,255,255,"Nidhoggur's Guardian#10",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- monster .@map$,225,245,"Nidhoggur's Guardian#11",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- monster .@map$,230,280,"Nidhoggur's Guardian#12",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- mapannounce .@map$, "Nidhoggur's Guardian : Protect the Guardian's Sanctuary. Get rid of the intruders.",bc_map,"0x00ff99";
+ monster(.@map$, 220, 250, _("Nidhoggur's Guardian#1"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ monster(.@map$, 220, 252, _("Nidhoggur's Guardian#2"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ monster(.@map$, 240, 270, _("Nidhoggur's Guardian#3"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ monster(.@map$, 240, 272, _("Nidhoggur's Guardian#4"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ monster(.@map$, 200, 200, _("Nidhoggur's Guardian#5"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ monster(.@map$, 210, 210, _("Nidhoggur's Guardian#6"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ monster(.@map$, 225, 265, _("Nidhoggur's Guardian#7"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ monster(.@map$, 225, 270, _("Nidhoggur's Guardian#8"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ monster(.@map$, 245, 235, _("Nidhoggur's Guardian#9"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ monster(.@map$, 255, 255, _("Nidhoggur's Guardian#10"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ monster(.@map$, 225, 245, _("Nidhoggur's Guardian#11"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ monster(.@map$, 230, 280, _("Nidhoggur's Guardian#12"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ mapannounce(.@map$, _("Nidhoggur's Guardian : Protect the Guardian's Sanctuary. Get rid of the intruders."), bc_map, C_SPRINGGREEN);
end;
OnDisable:
- killmonster instance_mapname("1@nyd"),instance_npcname("nyd_call_mon_1")+"::OnMyMobDead";
- disablenpc instance_npcname("nyd_call_mon_1");
+ killmonster(instance_mapname("1@nyd"), instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
+ disablenpc(instance_npcname("nyd_call_mon_1"));
end;
OnMyMobDead:
.@map$ = instance_mapname("1@nyd");
.@mob_dead_num = mobcount(.@map$, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- mapannounce .@map$, "All of Nidhoggur's Guardians have been defeated!",bc_map,"0x00ff99";
- donpcevent instance_npcname("ins_nyd_1f_timer")+"::OnDisable";
- donpcevent instance_npcname("nyd_to2f_warp")+"::OnEnable";
+ mapannounce(.@map$, _("All of Nidhoggur's Guardians have been defeated!"), bc_map, C_SPRINGGREEN);
+ donpcevent(instance_npcname("ins_nyd_1f_timer")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_to2f_warp")+"::OnEnable");
'ins_nyd2 = 2;
}
end;
@@ -1725,145 +1734,145 @@ OnMyMobDead:
1@nyd,1,2,0 script ins_nyd_1f_timer FAKE_NPC,{
OnInstanceInit:
- disablenpc instance_npcname("ins_nyd_1f_timer");
+ disablenpc(instance_npcname("ins_nyd_1f_timer"));
end;
OnEnable:
- enablenpc instance_npcname("ins_nyd_1f_timer");
- initnpctimer;
+ enablenpc(instance_npcname("ins_nyd_1f_timer"));
+ initnpctimer();
end;
OnDisable:
- disablenpc instance_npcname("ins_nyd_1f_timer");
- stopnpctimer;
- killmonsterall instance_mapname("1@nyd");
+ disablenpc(instance_npcname("ins_nyd_1f_timer"));
+ stopnpctimer();
+ killmonsterall(instance_mapname("1@nyd"));
end;
OnTimer900000:
- mapannounce instance_mapname("1@nyd"), "World Tree Yggdrasil : There's not much time left. Please hurry.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("1@nyd"), _("World Tree Yggdrasil : There's not much time left. Please hurry."), bc_map, C_YELLOW);
end;
OnTimer1200000:
- mapannounce instance_mapname("1@nyd"), "World Tree Yggdrasil : My powers are slowly disappearing. Please hurry.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("1@nyd"), _("World Tree Yggdrasil : My powers are slowly disappearing. Please hurry."), bc_map, C_YELLOW);
end;
OnTimer1500000:
- mapannounce instance_mapname("1@nyd"), "World Tree Yggdrasil : I'm... almost at my limit... please hurry up.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("1@nyd"), _("World Tree Yggdrasil : I'm... almost at my limit... please hurry up."), bc_map, C_YELLOW);
end;
OnTimer1800000:
- mapannounce instance_mapname("1@nyd"), "World Tree Yggdrasil : You've failed... but I will use what power I have left... to send you out of here.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("1@nyd"), _("World Tree Yggdrasil : You've failed... but I will use what power I have left... to send you out of here."), bc_map, C_YELLOW);
end;
OnTimer1830000:
- mapannounce instance_mapname("1@nyd"), "Opening of the Gate has failed.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("1@nyd"), _("Opening of the Gate has failed."), bc_map, C_YELLOW);
end;
OnTimer1850000:
- donpcevent instance_npcname("ins_nyd_1f_timer")+"::OnDisable";
- donpcevent instance_npcname("nyd_call_mon_1")+"::OnDisable";
- instance_warpall "mid_camp",310,150;
- stopnpctimer;
+ donpcevent(instance_npcname("ins_nyd_1f_timer")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_call_mon_1")+"::OnDisable");
+ instance_warpall("mid_camp", 310, 150);
+ stopnpctimer();
end;
}
1@nyd,195,320,0 script nyd_to2f_warp WARPNPC,5,5,{
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("nyd_to2f_warp");
+ disablenpc(instance_npcname("nyd_to2f_warp"));
end;
OnEnable:
- enablenpc instance_npcname("nyd_to2f_warp");
+ enablenpc(instance_npcname("nyd_to2f_warp"));
end;
OnTouch:
'ins_nyd2 = 3;
- warp instance_mapname("2@nyd"),200,10;
+ warp(instance_mapname("2@nyd"), 200, 10);
end;
}
1@nyd,1,1,0 script ins_nyd1_spawn_mobs FAKE_NPC,{
OnInstanceInit:
.@map$ = instance_mapname("1@nyd");
- monster .@map$,0,0,"Ancient Tree",2019,40,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyTreeDead";
- monster .@map$,0,0,"Rhyncho",2020,30,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyRhynDead";
- monster .@map$,0,0,"Phylla",2021,30,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPhyDead";
- monster .@map$,0,0,"Aqua Elemental",2016,30,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyAquaDead";
- monster .@map$,0,0,"Dark Pinguicula",2015,30,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPingDead";
+ monster(.@map$, 0, 0, _("Ancient Tree"), ANCIENT_TREE, 40, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyTreeDead");
+ monster(.@map$, 0, 0, _("Rhyncho"), RHYNCHO, 30, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyRhynDead");
+ monster(.@map$, 0, 0, _("Phylla"), PHYLLA, 30, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPhyDead");
+ monster(.@map$, 0, 0, _("Aqua Elemental"), AQUA_ELEMENTAL, 30, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyAquaDead");
+ monster(.@map$, 0, 0, _("Dark Pinguicula"), PINGUICULA_D, 30, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPingDead");
end;
OnMyTreeDead:
- monster instance_mapname("1@nyd"),0,0,"Ancient Tree",2019,1,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyTreeDead";
+ monster(instance_mapname("1@nyd"), 0, 0, _("Ancient Tree"), ANCIENT_TREE, 1, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyTreeDead");
end;
OnMyRhynDead:
- monster instance_mapname("1@nyd"),0,0,"Rhyncho",2020,1,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyRhynDead";
+ monster(instance_mapname("1@nyd"), 0, 0, _("Rhyncho"), RHYNCHO, 1, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyRhynDead");
end;
OnMyPhyDead:
- monster instance_mapname("1@nyd"),0,0,"Phylla",2021,1,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPhyDead";
+ monster(instance_mapname("1@nyd"), 0, 0, _("Phylla"), PHYLLA, 1, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPhyDead");
end;
OnMyAquaDead:
- monster instance_mapname("1@nyd"),0,0,"Aqua Elemental",2016,1,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyAquaDead";
+ monster(instance_mapname("1@nyd"), 0, 0, _("Aqua Elemental"), AQUA_ELEMENTAL, 1, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyAquaDead");
end;
OnMyPingDead:
- monster instance_mapname("1@nyd"),0,0,"Dark Pinguicula",2015,1,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPingDead";
+ monster(instance_mapname("1@nyd"), 0, 0, _("Dark Pinguicula"), PINGUICULA_D, 1, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPingDead");
end;
}
//== Second Floor ==========================================
2@nyd,200,14,0 script nyd_2f_enter FAKE_NPC,6,6,{
OnTouch_:
- donpcevent instance_npcname("nyd_2f_enter_broad")+"::OnEnable";
- disablenpc instance_npcname("nyd_2f_enter");
+ donpcevent(instance_npcname("nyd_2f_enter_broad")+"::OnEnable");
+ disablenpc(instance_npcname("nyd_2f_enter"));
end;
}
2@nyd,1,1,0 script nyd_2f_enter_broad FAKE_NPC,{
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("nyd_2f_enter_broad");
+ disablenpc(instance_npcname("nyd_2f_enter_broad"));
end;
OnEnable:
- enablenpc instance_npcname("nyd_2f_enter_broad");
- initnpctimer;
+ enablenpc(instance_npcname("nyd_2f_enter_broad"));
+ initnpctimer();
end;
OnTimer12000:
- mapannounce instance_mapname("2@nyd"), "Nidhoggur's Shadow : No more... I can't stand this anymore...",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@nyd"), _("Nidhoggur's Shadow : No more... I can't stand this anymore..."), bc_map, C_YELLOW);
end;
OnTimer15000:
- mapannounce instance_mapname("2@nyd"), "Nidhoggur's Shadow : I need... I need the World Tree Yggdrasil's powers...",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@nyd"), _("Nidhoggur's Shadow : I need... I need the World Tree Yggdrasil's powers..."), bc_map, C_YELLOW);
end;
OnTimer18000:
- mapannounce instance_mapname("2@nyd"), "Nidhoggur's Shadow : Destroy... everything...",bc_map,"0xFFFF00";
- stopnpctimer;
- disablenpc instance_npcname("nyd_2f_enter_broad");
+ mapannounce(instance_mapname("2@nyd"), _("Nidhoggur's Shadow : Destroy... everything..."), bc_map, C_YELLOW);
+ stopnpctimer();
+ disablenpc(instance_npcname("nyd_2f_enter_broad"));
end;
}
2@nyd,199,178,0 script nyd_2f_ddr_control FAKE_NPC,6,6,{
OnTouch:
- specialeffect2 EF_HOLYHIT;
- mes "From below the gorgeous stones, a strange breeze is forming.";
- next;
- mes "The strange power slowly surrounds your body, the dimension is starting to shift.";
- close2;
- warp instance_mapname("2@nyd"),199,255;
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
+ mes("From below the gorgeous stones, a strange breeze is forming.");
+ next();
+ mes("The strange power slowly surrounds your body, the dimension is starting to shift.");
+ close2();
+ warp(instance_mapname("2@nyd"), 199, 255);
end;
}
2@nyd,199,268,0 script nyd_2f_boss_enter FAKE_NPC,8,8,{
OnTouch_:
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
- donpcevent instance_npcname("nyd_2f_boss_enter_call")+"::OnEnable";
- disablenpc instance_npcname("nyd_2f_boss_enter");
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
+ donpcevent(instance_npcname("nyd_2f_boss_enter_call")+"::OnEnable");
+ disablenpc(instance_npcname("nyd_2f_boss_enter"));
end;
}
end;
@@ -1871,74 +1880,74 @@ OnTouch_:
2@nyd,2,2,0 script nyd_2f_boss_enter_call FAKE_NPC,{
OnInstanceInit:
- disablenpc instance_npcname("nyd_2f_boss_enter_call");
+ disablenpc(instance_npcname("nyd_2f_boss_enter_call"));
end;
OnEnable:
- enablenpc instance_npcname("nyd_2f_boss_enter_call");
+ enablenpc(instance_npcname("nyd_2f_boss_enter_call"));
.@map$ = instance_mapname("2@nyd");
- monster .@map$,199,327,"Nidhoggur's Shadow",2022,1,instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead";
- mapannounce .@map$, "Nidhoggur's Shadow : I will devour all of you... you and the World Tree Yggdrasil.",bc_map,"0x00ff99";
- //donpcevent instance_npcname("nyd_2f_boss_enter_call")+"::OnGo";
- initnpctimer;
+ monster(.@map$, 199, 327, _("Nidhoggur's Shadow"), S_NYDHOG, 1, instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead");
+ mapannounce(.@map$, _("Nidhoggur's Shadow : I will devour all of you... you and the World Tree Yggdrasil."), bc_map, C_SPRINGGREEN);
+ //donpcevent(instance_npcname("nyd_2f_boss_enter_call")+"::OnGo");
+ initnpctimer();
end;
OnDisable:
- killmonster instance_mapname("2@nyd"),instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead";
- disablenpc instance_npcname("nyd_2f_boss_enter_call");
+ killmonster(instance_mapname("2@nyd"), instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead");
+ disablenpc(instance_npcname("nyd_2f_boss_enter_call"));
end;
OnTimer180000:
- stopnpctimer;
+ stopnpctimer();
OnWarpColor:
.@map$ = instance_mapname("2@nyd");
- switch(rand(1,4)) {
+ switch (rand(1, 4)) {
case 1:
- mapannounce .@map$, "Nidhoggur's Shadow : In this chaos... your blood is just what I need.",bc_map,"0xFFFF00";
- donpcevent instance_npcname("nyd_2f_white")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_yellow")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_green")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_red")+"::OnEnable";
- instance_warpall .@map$,115,278;
+ mapannounce(.@map$, _("Nidhoggur's Shadow : In this chaos... your blood is just what I need."), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("nyd_2f_white")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_yellow")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_green")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_red")+"::OnEnable");
+ instance_warpall(.@map$, 115, 278);
end;
case 2:
- mapannounce .@map$, "Nidhoggur's Shadow : I will freeze every last drop of your blood.",bc_map,"0xFFFF00";
- donpcevent instance_npcname("nyd_2f_red")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_yellow")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_green")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_white")+"::OnEnable";
- instance_warpall .@map$,115,373;
+ mapannounce(.@map$, _("Nidhoggur's Shadow : I will freeze every last drop of your blood."), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("nyd_2f_red")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_yellow")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_green")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_white")+"::OnEnable");
+ instance_warpall(.@map$, 115, 373);
end;
case 3:
- mapannounce .@map$, "Nidhoggur's Shadow : Sleep for eternity in an empty illusion.",bc_map,"0xFFFF00";
- donpcevent instance_npcname("nyd_2f_red")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_white")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_green")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_yellow")+"::OnEnable";
- instance_warpall .@map$,284,278;
+ mapannounce(.@map$, _("Nidhoggur's Shadow : Sleep for eternity in an empty illusion."), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("nyd_2f_red")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_white")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_green")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_yellow")+"::OnEnable");
+ instance_warpall(.@map$, 284, 278);
end;
case 4:
- mapannounce .@map$, "Nidhoggur's Shadow : I'll let you enjoy the pain of dying slowly.",bc_map,"0xFFFF00";
- donpcevent instance_npcname("nyd_2f_red")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_white")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_yellow")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_green")+"::OnEnable";
- instance_warpall .@map$,284,374;
+ mapannounce(.@map$, _("Nidhoggur's Shadow : I'll let you enjoy the pain of dying slowly."), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("nyd_2f_red")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_white")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_yellow")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_green")+"::OnEnable");
+ instance_warpall(.@map$, 284, 374);
end;
}
end;
OnMyMobDead:
.@map$ = instance_mapname("2@nyd");
- if (mobcount(.@map$,instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead") < 1) {
- mapannounce .@map$, "Nidhoggur's Shadow : World Tree Yggdrasil's guardian... his powers are disappearing...",bc_map,"0x00ff99";
- donpcevent instance_npcname("World Tree Yggdrasil#2F")+"::OnEnable";
- donpcevent instance_npcname("nyd_2f_boss_enter_call")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_boss_enter_logic")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_red_c")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_white_c")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_yellow_c")+"::OnDisable";
- donpcevent instance_npcname("nyd_2f_green_c")+"::OnDisable";
+ if (mobcount(.@map$, instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead") < 1) {
+ mapannounce(.@map$, _("Nidhoggur's Shadow : World Tree Yggdrasil's guardian... his powers are disappearing..."), bc_map, C_SPRINGGREEN);
+ donpcevent(instance_npcname("World Tree Yggdrasil#2F")+"::OnEnable");
+ donpcevent(instance_npcname("nyd_2f_boss_enter_call")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_boss_enter_logic")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_red_c")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_white_c")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_yellow_c")+"::OnDisable");
+ donpcevent(instance_npcname("nyd_2f_green_c")+"::OnDisable");
'ins_nyd2 = 4;
end;
}
@@ -1947,203 +1956,203 @@ OnMyMobDead:
2@nyd,2,4,0 script nyd_2f_boss_enter_logic FAKE_NPC,{
OnInstanceInit:
- disablenpc instance_npcname("nyd_2f_boss_enter_logic");
+ disablenpc(instance_npcname("nyd_2f_boss_enter_logic"));
end;
OnEnable:
- stopnpctimer;
- initnpctimer;
+ stopnpctimer();
+ initnpctimer();
end;
OnDisable:
- stopnpctimer;
- disablenpc instance_npcname("nyd_2f_boss_enter_logic");
+ stopnpctimer();
+ disablenpc(instance_npcname("nyd_2f_boss_enter_logic"));
end;
OnTimer180000:
- stopnpctimer;
- donpcevent instance_npcname("nyd_2f_boss_enter_call")+"::OnWarpColor";
+ stopnpctimer();
+ donpcevent(instance_npcname("nyd_2f_boss_enter_call")+"::OnWarpColor");
end;
}
2@nyd,202,324,5 script World Tree Yggdrasil#2F 4_F_FAIRYKID2,3,3,{
- mes "[World Tree Yggdrasil]";
- mes "Thank you. You're the saviour of humans and the Laphine Tribe.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "You've defeated Nidhoggur's Shadow. But...It's not gone for good. Its powers are merely put to sleep.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "But you have won us plenty of time. This is great.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "Please go and report this to those in charge of Splendide and Manuk.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "As you have seen, neither the Sapha tribe nor the Laphine tribe is at fault for the weakening of the World Tree. It's all because of the Guardian's Shadow...";
- next;
- mes "[World Tree Yggdrasil]";
- mes "The Guardian's insanity...is caused by powers unknown to us... You must tell this to everyone.";
- next;
- mes "[World Tree Yggdrasil]";
- mes "Now... Allow me to escort you out of the cursed nest.";
- next;
- switch(select("Please let me out.", "I want to look around for a while.")) {
+ mes("[World Tree Yggdrasil]");
+ mes("Thank you. You're the saviour of humans and the Laphine Tribe.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("You've defeated Nidhoggur's Shadow. But...It's not gone for good. Its powers are merely put to sleep.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("But you have won us plenty of time. This is great.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("Please go and report this to those in charge of Splendide and Manuk.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("As you have seen, neither the Sapha tribe nor the Laphine tribe is at fault for the weakening of the World Tree. It's all because of the Guardian's Shadow...");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("The Guardian's insanity...is caused by powers unknown to us... You must tell this to everyone.");
+ next();
+ mes("[World Tree Yggdrasil]");
+ mes("Now... Allow me to escort you out of the cursed nest.");
+ next();
+ switch (select("Please let me out.", "I want to look around for a while.")) {
case 1:
'ins_nyd2 = 0;
ins_nyd = 203;
- //setquest 3135;
- warp "nyd_dun02",98,196;
+ //setquest(3135);
+ warp("nyd_dun02", 98, 196);
end;
case 2:
- mes "[World Tree Yggdrasil]";
- mes "Is that so... I'll be around if you want to leave.";
- close;
+ mes("[World Tree Yggdrasil]");
+ mes("Is that so... I'll be around if you want to leave.");
+ close();
}
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("World Tree Yggdrasil#2F");
+ disablenpc(instance_npcname("World Tree Yggdrasil#2F"));
end;
OnEnable:
- enablenpc instance_npcname("World Tree Yggdrasil#2F");
- mapannounce instance_mapname("2@nyd"), "World Tree Yggdrasil : You did good. Have everyone go to the Magic Circle in the middle, and get ready for the destruction of the nest.",bc_map,"0x00ff99";
+ enablenpc(instance_npcname("World Tree Yggdrasil#2F"));
+ mapannounce(instance_mapname("2@nyd"), _("World Tree Yggdrasil : You did good. Have everyone go to the Magic Circle in the middle, and get ready for the destruction of the nest."), bc_map, C_SPRINGGREEN);
end;
}
2@nyd,115,278,0 script nyd_2f_red FAKE_NPC,5,5,{
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
- donpcevent instance_npcname(strnpcinfo(NPC_NAME)+"_warp1")+"::OnEnable";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME)+"_warp2")+"::OnEnable";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME)+"_warp3")+"::OnEnable";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME)+"_c")+"::OnEnable";
- initnpctimer;
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp1")+"::OnEnable");
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp2")+"::OnEnable");
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp3")+"::OnEnable");
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_c")+"::OnEnable");
+ initnpctimer();
end;
OnDisable:
- donpcevent instance_npcname(strnpcinfo(NPC_NAME)+"_warp1")+"::OnDisable";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME)+"_warp2")+"::OnDisable";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME)+"_warp3")+"::OnDisable";
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp1")+"::OnDisable");
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp2")+"::OnDisable");
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp3")+"::OnDisable");
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnTouch:
- if (compare(strnpcinfo(NPC_NAME),"red")) {
- percentheal -50,0;
- percentheal -30,0;
- sc_start SC_BLOODING,60000,0;
- } else if (compare(strnpcinfo(NPC_NAME),"white")) {
- percentheal -50,0;
- sc_start SC_FREEZE,20000,0;
- } else if (compare(strnpcinfo(NPC_NAME),"yellow")) {
- percentheal 0,-50;
- sc_start SC_SLEEP,20000,0;
- sc_start SC_CONFUSION,60000,0;
- } else if (compare(strnpcinfo(NPC_NAME),"green")) {
- percentheal -50,-50;
- sc_start SC_POISON,60000,0;
+ if (compare(strnpcinfo(NPC_NAME), "red")) {
+ percentheal(-50, 0);
+ percentheal(-30, 0);
+ sc_start(SC_BLOODING, 60000, 0);
+ } else if (compare(strnpcinfo(NPC_NAME), "white")) {
+ percentheal(-50, 0);
+ sc_start(SC_FREEZE, 20000, 0);
+ } else if (compare(strnpcinfo(NPC_NAME), "yellow")) {
+ percentheal(0, -50);
+ sc_start(SC_SLEEP, 20000, 0);
+ sc_start(SC_CONFUSION, 60000, 0);
+ } else if (compare(strnpcinfo(NPC_NAME), "green")) {
+ percentheal(-50, -50);
+ sc_start(SC_POISON, 60000, 0);
}
end;
OnTimer10000:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- stopnpctimer;
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
+ stopnpctimer();
end;
}
2@nyd,6,6,0 script nyd_2f_red_c FAKE_NPC,{
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
- initnpctimer;
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
+ initnpctimer();
.@map$ = instance_mapname("2@nyd");
.@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- if (compare(strnpcinfo(NPC_NAME),"red")) {
- monster .@map$,120,285,"Nidhoggur's Guardian#1",2020,1,.@label$;
- monster .@map$,119,286,"Nidhoggur's Guardian#2",2020,1,.@label$;
- monster .@map$,120,270,"Nidhoggur's Guardian#3",2020,1,.@label$;
- monster .@map$,119,269,"Nidhoggur's Guardian#4",2021,1,.@label$;
- monster .@map$,118,270,"Nidhoggur's Guardian#5",2021,1,.@label$;
- } else if (compare(strnpcinfo(NPC_NAME),"white")) {
- monster .@map$,120,380,"Nidhoggur's Guardian#1",2020,1,.@label$;
- monster .@map$,119,381,"Nidhoggur's Guardian#2",2020,1,.@label$;
- monster .@map$,120,367,"Nidhoggur's Guardian#3",2020,1,.@label$;
- monster .@map$,119,366,"Nidhoggur's Guardian#4",2021,1,.@label$;
- monster .@map$,118,365,"Nidhoggur's Guardian#5",2021,1,.@label$;
- } else if (compare(strnpcinfo(NPC_NAME),"yellow")) {
- monster .@map$,282,284,"Nidhoggur's Guardian#1",2020,1,.@label$;
- monster .@map$,283,283,"Nidhoggur's Guardian#2",2020,1,.@label$;
- monster .@map$,280,275,"Nidhoggur's Guardian#3",2020,1,.@label$;
- monster .@map$,281,276,"Nidhoggur's Guardian#4",2021,1,.@label$;
- monster .@map$,281,277,"Nidhoggur's Guardian#5",2021,1,.@label$;
- } else if (compare(strnpcinfo(NPC_NAME),"green")) {
- monster .@map$,282,378,"Nidhoggur's Guardian#1",2020,1,.@label$;
- monster .@map$,283,377,"Nidhoggur's Guardian#2",2020,1,.@label$;
- monster .@map$,280,368,"Nidhoggur's Guardian#3",2020,1,.@label$;
- monster .@map$,281,368,"Nidhoggur's Guardian#4",2021,1,.@label$;
- monster .@map$,281,367,"Nidhoggur's Guardian#5",2021,1,.@label$;
+ if (compare(strnpcinfo(NPC_NAME), "red")) {
+ monster(.@map$, 120, 285, _("Nidhoggur's Guardian#1"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 119, 286, _("Nidhoggur's Guardian#2"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 120, 270, _("Nidhoggur's Guardian#3"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 119, 269, _("Nidhoggur's Guardian#4"), PHYLLA, 1, .@label$);
+ monster(.@map$, 118, 270, _("Nidhoggur's Guardian#5"), PHYLLA, 1, .@label$);
+ } else if (compare(strnpcinfo(NPC_NAME), "white")) {
+ monster(.@map$, 120, 380, _("Nidhoggur's Guardian#1"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 119, 381, _("Nidhoggur's Guardian#2"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 120, 367, _("Nidhoggur's Guardian#3"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 119, 366, _("Nidhoggur's Guardian#4"), PHYLLA, 1, .@label$);
+ monster(.@map$, 118, 365, _("Nidhoggur's Guardian#5"), PHYLLA, 1, .@label$);
+ } else if (compare(strnpcinfo(NPC_NAME), "yellow")) {
+ monster(.@map$, 282, 284, _("Nidhoggur's Guardian#1"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 283, 283, _("Nidhoggur's Guardian#2"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 280, 275, _("Nidhoggur's Guardian#3"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 281, 276, _("Nidhoggur's Guardian#4"), PHYLLA, 1, .@label$);
+ monster(.@map$, 281, 277, _("Nidhoggur's Guardian#5"), PHYLLA, 1, .@label$);
+ } else if (compare(strnpcinfo(NPC_NAME), "green")) {
+ monster(.@map$, 282, 378, _("Nidhoggur's Guardian#1"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 283, 377, _("Nidhoggur's Guardian#2"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 280, 368, _("Nidhoggur's Guardian#3"), RHYNCHO, 1, .@label$);
+ monster(.@map$, 281, 368, _("Nidhoggur's Guardian#4"), PHYLLA, 1, .@label$);
+ monster(.@map$, 281, 367, _("Nidhoggur's Guardian#5"), PHYLLA, 1, .@label$);
}
end;
OnMyMobDead:
.@map$ = instance_mapname("2@nyd");
- if (mobcount(.@map$,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
- mapannounce .@map$, "Nidhoggur's Shadow : You're not bad... but I will be your opponent this time.",bc_map,"0x00ff99";
- donpcevent instance_npcname("nyd_2f_boss_enter_logic")+"::OnEnable";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
+ if (mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
+ mapannounce(.@map$, _("Nidhoggur's Shadow : You're not bad... but I will be your opponent this time."), bc_map, C_SPRINGGREEN);
+ donpcevent(instance_npcname("nyd_2f_boss_enter_logic")+"::OnEnable");
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable");
end;
}
end;
/*
OnReset: // Label not called.
- killmonster instance_mapname("2@nyd"),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
+ killmonster(instance_mapname("2@nyd"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable");
end;
*/
OnDisable:
- stopnpctimer;
- killmonster instance_mapname("2@nyd"),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"; //custom
- donpcevent instance_npcname(substr(strnpcinfo(NPC_NAME),0,getstrlen(strnpcinfo(NPC_NAME))-3))+"::OnDisable";
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ stopnpctimer();
+ killmonster(instance_mapname("2@nyd"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"); //custom
+ donpcevent(instance_npcname(substr(strnpcinfo(NPC_NAME), 0, getstrlen(strnpcinfo(NPC_NAME)) - 3))+"::OnDisable");
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnTimer180000:
- killmonster instance_mapname("2@nyd"),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- stopnpctimer;
- donpcevent instance_npcname("nyd_2f_boss_enter_call")+"::OnWarpColor";
+ killmonster(instance_mapname("2@nyd"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ stopnpctimer();
+ donpcevent(instance_npcname("nyd_2f_boss_enter_call")+"::OnWarpColor");
end;
}
2@nyd,130,298,0 script nyd_2f_red_warp1 FAKE_NPC,6,6,{
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnTouch:
- if (compare(strnpcinfo(NPC_NAME),"red"))
- warp instance_mapname("2@nyd"),115,278;
- else if (compare(strnpcinfo(NPC_NAME),"white"))
- warp instance_mapname("2@nyd"),115,373;
- else if (compare(strnpcinfo(NPC_NAME),"yellow"))
- warp instance_mapname("2@nyd"),284,278;
- else if (compare(strnpcinfo(NPC_NAME),"green"))
- warp instance_mapname("2@nyd"),284,374;
+ if (compare(strnpcinfo(NPC_NAME), "red"))
+ warp(instance_mapname("2@nyd"), 115, 278);
+ else if (compare(strnpcinfo(NPC_NAME), "white"))
+ warp(instance_mapname("2@nyd"), 115, 373);
+ else if (compare(strnpcinfo(NPC_NAME), "yellow"))
+ warp(instance_mapname("2@nyd"), 284, 278);
+ else if (compare(strnpcinfo(NPC_NAME), "green"))
+ warp(instance_mapname("2@nyd"), 284, 374);
end;
}
2@nyd,142,296,0 duplicate(nyd_2f_red_warp1) nyd_2f_red_warp2 FAKE_NPC,6,6
@@ -2170,129 +2179,133 @@ OnTouch:
2@nyd,1,1,0 script ins_nyd2_spawn_mobs FAKE_NPC,{
OnInstanceInit:
.@map$ = instance_mapname("2@nyd"); //temp fix since all mobs spawn on the same (inaccessable) area
- areamonster .@map$,14,20,382,180,"Rhyncho",2020,40,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyRhynDead";
- areamonster .@map$,14,20,382,180,"Phylla",2021,40,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPhyDead";
- areamonster .@map$,14,20,382,180,"Dark Shadow",2023,40,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyDarkshaDead";
- areamonster .@map$,14,20,382,180,"Dark Pinguicula",2015,40,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPingDead";
+ areamonster(.@map$, 14, 20, 382, 180, _("Rhyncho"), RHYNCHO, 40, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyRhynDead");
+ areamonster(.@map$, 14, 20, 382, 180, _("Phylla"), PHYLLA, 40, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPhyDead");
+ areamonster(.@map$, 14, 20, 382, 180, _("Dark Shadow"), DARK_SHADOW, 40, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyDarkshaDead");
+ areamonster(.@map$, 14, 20, 382, 180, _("Dark Pinguicula"), PINGUICULA_D, 40, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPingDead");
end;
OnMyRhynDead:
- areamonster instance_mapname("2@nyd"),14,20,382,180,"Rhyncho",2020,1,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyRhynDead";
+ areamonster(instance_mapname("2@nyd"), 14, 20, 382, 180, _("Rhyncho"), RHYNCHO, 1, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyRhynDead");
end;
OnMyPhyDead:
- areamonster instance_mapname("2@nyd"),14,20,382,180,"Phylla",2021,1,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPhyDead";
+ areamonster(instance_mapname("2@nyd"), 14, 20, 382, 180, _("Phylla"), PHYLLA, 1, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPhyDead");
end;
OnMyDarkshaDead:
- areamonster instance_mapname("2@nyd"),14,20,382,180,"Dark Shadow",2023,1,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyDarkshaDead";
+ areamonster(instance_mapname("2@nyd"), 14, 20, 382, 180, _("Dark Shadow"), DARK_SHADOW, 1, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyDarkshaDead");
end;
OnMyPingDead:
- areamonster instance_mapname("2@nyd"),14,20,382,180,"Dark Pinguicula",2015,1,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPingDead";
+ areamonster(instance_mapname("2@nyd"), 14, 20, 382, 180, _("Dark Pinguicula") , PINGUICULA_D, 1, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPingDead");
end;
}
//== GM Management NPCs ====================================
sec_in02,36,167,3 script Nidhoggur Manager 4_M_FAIRYSOLDIER,1,1,{
- callfunc "F_GM_NPC";
- mes "Enter the password.";
- next;
- if (callfunc("F_GM_NPC","1854",1) == 0) {
- mes "Incorrect password.";
- close;
+ callfunc("F_GM_NPC");
+ mes("Enter the password.");
+ next();
+ if (callfunc("F_GM_NPC", "1854", 1) == 0) {
+ mes("Incorrect password.");
+ close();
}
- mes "What do you need to do?";
- next;
- switch(select("Reset variables to allow entrance to Nidhoggur", "change variable 'ins_nyd'", "Remove 3 day timer 3135", "Confirm variable number")) {
+ mes("What do you need to do?");
+ next();
+ switch (select("Reset variables to allow entrance to Nidhoggur", "change variable 'ins_nyd'", "Remove 3 day timer 3135", "Confirm variable number")) {
case 1:
ins_nyd = 200;
ins_nyd2 = 0;
- erasequest 3135;
- mes "ins_nyd set to 200 ins_nyd2 set to 0";
- mes "quest 3135 erased.";
- close;
+ erasequest(3135);
+ mes("ins_nyd set to 200 ins_nyd2 set to 0");
+ mes("quest 3135 erased.");
+ close();
case 2:
- mes "Which variable do you want to change?";
- next;
- switch(select("ins_nyd", "ins_nyd2")) {
- case 1: .@var$ = "ins_nyd"; break;
- case 2: .@var$ = "ins_nyd2"; break;
+ mes("Which variable do you want to change?");
+ next();
+ switch (select("ins_nyd", "ins_nyd2")) {
+ case 1:
+ .@var$ = "ins_nyd";
+ break;
+ case 2:
+ .@var$ = "ins_nyd2";
+ break;
}
- mes "Input the variable number";
- next;
- input .@input;
- setd .@var$, .@input;
- mes .@var$+" has been set to "+.@input+" .";
- close;
+ mes("Input the variable number");
+ next();
+ input(.@input);
+ setd(.@var$, .@input);
+ mesf("%s has been set to %d.", .@var$, .@input);
+ close();
case 3:
- mes "The 3 day timer will be removed when you close this dialog.";
- next;
- erasequest 3135;
- mes "Finished removing Quest Timer.";
- close;
+ mes("The 3 day timer will be removed when you close this dialog.");
+ next();
+ erasequest(3135);
+ mes("Finished removing Quest Timer.");
+ close();
case 4:
- mes "ins_nyd is at "+ins_nyd+".";
- mes "ins_nyd2 is at "+ins_nyd2+".";
- close;
+ mesf("ins_nyd is at %d.", ins_nyd);
+ mesf("ins_nyd2 is at %d.", ins_nyd2);
+ close();
}
}
nyd_dun02,7,7,2 script Purification Admin#nyd2 CLEAR_NPC,2,0,{
- callfunc "F_GM_NPC";
- mes "Please enter the password";
- .@i = callfunc("F_GM_NPC","dragonslayer",1);
- next;
+ callfunc("F_GM_NPC");
+ mes("Please enter the password");
+ .@i = callfunc("F_GM_NPC", "dragonslayer", 1);
+ next();
if (.@i == 0) {
- mes "Enter the password exactly.";
- close;
+ mes("Enter the password exactly.");
+ close();
}
- switch(select("Generate Purification Stone", "Remove Purification Stone", "Turn Entrance NPC OFF", "Turn Entrance NPC On", "Cancel")) {
+ switch (select("Generate Purification Stone", "Remove Purification Stone", "Turn Entrance NPC OFF", "Turn Entrance NPC On", "Cancel")) {
case 1:
- mes "Purification stone has been created and will stay on for 30 minutes.";
- donpcevent "Purification Stone#nyd2::OnEnable";
- close;
+ mes("Purification stone has been created and will stay on for 30 minutes.");
+ donpcevent("Purification Stone#nyd2::OnEnable");
+ close();
case 2:
- mes "The Purification Stone has been destroyed.";
- donpcevent "Purification Stone#nyd2::OnDisable";
- close;
+ mes("The Purification Stone has been destroyed.");
+ donpcevent("Purification Stone#nyd2::OnDisable");
+ close();
case 3:
- mes "The Yggdrasil Gatekeeper at nyd_dun02 100 201 is now OFF.";
- disablenpc "Yggdrasil Gatekeeper";
- close;
+ mes("The Yggdrasil Gatekeeper at nyd_dun02 100 201 is now OFF.");
+ disablenpc("Yggdrasil Gatekeeper");
+ close();
case 4:
- mes "The Yggdrasil Gatekeeper at nyd_dun02 100 201 is now On.";
- enablenpc "Yggdrasil Gatekeeper";
- close;
+ mes("The Yggdrasil Gatekeeper at nyd_dun02 100 201 is now On.");
+ enablenpc("Yggdrasil Gatekeeper");
+ close();
case 5:
- close;
+ close();
}
}
nyd_dun02,88,195,4 script Purification Stone#nyd2 2_MONEMUS,{
- erasequest 3135;
- erasequest 3136;
+ erasequest(3135);
+ erasequest(3136);
ins_nyd = 200;
ins_nyd2 = 0;
- mes "^0000FFThe records and after-effect related to the Nidhoggur's Nest have been removed. You can generate and enter the dungeon again.^000000";
- close;
+ mes("^0000FFThe records and after-effect related to the Nidhoggur's Nest have been removed. You can generate and enter the dungeon again.^000000");
+ close();
OnInit:
- disablenpc "Purification Stone#nyd2";
+ disablenpc("Purification Stone#nyd2");
end;
OnEnable:
- initnpctimer;
+ initnpctimer();
end;
OnDisable:
- stopnpctimer;
- disablenpc "Purification Stone#nyd2";
+ stopnpctimer();
+ disablenpc("Purification Stone#nyd2");
end;
OnTimer1000:
- enablenpc "Purification Stone#nyd2";
+ enablenpc("Purification Stone#nyd2");
end;
OnTimer1740000:
- mapannounce "nyd_dun02","The Purification Stone will be destroyed in one minute.",bc_map,"0x00FF99",FW_NORMAL,12;
+ mapannounce("nyd_dun02", _("The Purification Stone will be destroyed in one minute."), bc_map, C_SPRINGGREEN, FW_NORMAL, 12);
end;
OnTimer1800000:
- disablenpc "Purification Stone#nyd2";
+ disablenpc("Purification Stone#nyd2");
end;
}
diff --git a/npc/instances/OrcsMemory.txt b/npc/instances/OrcsMemory.txt
index 28cc9bbd5..383786696 100644
--- a/npc/instances/OrcsMemory.txt
+++ b/npc/instances/OrcsMemory.txt
@@ -38,132 +38,133 @@ gef_fild10,242,202,0 script Dimensional Gorge Piece 2_MONEMUS,{
.@party_id = getcharid(CHAR_ID_PARTY);
.@p_name$ = getpartyname(.@party_id);
- .@md_name$ = "Orc's Memory";
+ .@md_name$ = _("Orc's Memory");
- if (!instance_check_party(.@party_id,2,30,80)) {
- mes "Only users between Levels ^ff000030 ~ 80^000000 can enter this Dungeon.";
- close;
+ if (!instance_check_party(.@party_id, 2, 30, 80)) {
+ mes("Only users between Levels ^ff000030 ~ 80^000000 can enter this Dungeon.");
+ close();
}
- .@orctime = questprogress(12059,PLAYTIME);
+ .@orctime = questprogress(12059, PLAYTIME);
if (.@orctime == 2) {
- mes "^0000ffAll records and after-effects related to the Orc's Memory Dungeon are deleted. You can now regenerate or re-enter the dungeon.^000000";
- erasequest 12059;
- close;
+ mes("^0000ffAll records and after-effects related to the Orc's Memory Dungeon are deleted. You can now regenerate or re-enter the dungeon.^000000");
+ erasequest(12059);
+ close();
}
if (.@orctime == 1) {
- mes "You can enter the Dungeon if it has been generated.";
- next;
- if(select("Enter the Dungeon "+.@md_name$, "Cancel") == 2)
- close;
+ mes("You can enter the Dungeon if it has been generated.");
+ next();
+ .@str$ = sprintf(_$("Enter the Dungeon %s"), .@md_name$);
+ if (select(.@str$, "Cancel") == 2)
+ close();
// Fall through to access the dungeon
} else { // !.@orctime
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
- mes "Party status confirmed. Would you like to book entrance to the "+.@md_name$+"?";
- next;
- switch(select("Reserve the "+.@md_name$, "Enter the Dungeon", "Cancel")) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2)) {
+ mesf("Party status confirmed. Would you like to book entrance to the %s?", .@md_name$);
+ next();
+ .@str$ = sprintf(_$("Reserve the %s"), .@md_name$);
+ switch (select(.@str$, "Enter the Dungeon", "Cancel")) {
case 1:
- .@instance = instance_create(.@md_name$,.@party_id);
- if (.@instance < 0) {
- mes "Party Name: "+.@p_name$;
- mes "Party Leader: "+strcharinfo(PC_NAME);
- mes "^0000ff"+.@md_name$+" ^000000 - Reservation Failed.";
- close;
+ .@instance = instance_create(.@md_name$, .@party_id);
+ if (.@instance >= 0) {
+ for (.@i = 1; .@i <= 2; ++.@i) {
+ if (instance_attachmap(.@i + "@orcs", .@instance) == "") {
+ mesf("Party Name: %s", .@p_name$);
+ mesf("Party Leader: %s", strcharinfo(PC_NAME));
+ mesf("^0000ff%s ^000000 - Reservation Failed.", .@md_name$);
+ instance_destroy(.@instance);
+ close();
+ }
+ }
+ instance_set_timeout(7200, 300, .@instance);
+ instance_init(.@instance);
}
- mes "^0000ff"+.@md_name$+"^000000- Attempting to book an entrance";
- for (.@i = 1; .@i <= 2; ++.@i) {
- if( instance_attachmap(.@i + "@orcs", .@instance) == "" )
- break;
- }
- if( .@i < 2 ) {
- instance_destroy(.@instance);
- close;
- }
- instance_set_timeout 7200,300,.@instance;
- instance_init(.@instance);
- mes "After making a reservation, you have to select 'Enter the Dungeon' from the menu if you wish to enter the "+.@md_name$+".";
- close;
+ mesf("^0000ff%s^000000- Attempting to book an entrance", .@md_name$);
+ mesf("After making a reservation, you have to select 'Enter the Dungeon' from the menu if you wish to enter the %s.", .@md_name$);
+ close();
case 2:
break; // Fall through to access the dungeon (after the else)
case 3:
- close;
+ close();
}
- } else if (select(.@md_name$ + " Enter the Memorial Dungeon", "Cancel") == 2)
+ } else if (select(sprintf(_$("%s Enter the Memorial Dungeon"), .@md_name$), "Cancel") == 2) {
end;
+ }
// Else access the dungeon
}
// Dungeon access
if (has_instance("1@orcs") == "") {
- mes "Memorial Dungeon "+.@md_name$+" does not exist.";
- mes "The party leader has not reserved entrance to the dungeon yet.";
- next;
- mes "Once the reservation is complete, the dungeon will be generated.";
- mes "If your dungeon has been destroyed you must wait 7 days before re-entering.";
- close;
+ mesf("Memorial Dungeon %s does not exist.", .@md_name$);
+ mes("The party leader has not reserved entrance to the dungeon yet.");
+ next();
+ mes("Once the reservation is complete, the dungeon will be generated.");
+ mes("If your dungeon has been destroyed you must wait 7 days before re-entering.");
+ close();
}
- mapannounce "gef_fild10", strcharinfo(PC_NAME) + " of the party, " + .@p_name$ + " is entering the "+.@md_name$+".",bc_map,"0x00ff99";
- if (!questprogress(12059)) setquest 12059;
- warp "1@orcs",179,15;
+ mapannounce("gef_fild10", sprintf(_$("%s of the party, %s is entering the %s."), strcharinfo(PC_NAME), .@p_name$, .@md_name$), bc_map, C_SPRINGGREEN);
+ if (!questprogress(12059))
+ setquest(12059);
+ warp("1@orcs", 179, 15);
end;
}
gef_fild10,238,202,6 script Mad Scientist#orc 4_LGTSCIENCE,{
if (BaseLevel < 50) {
- mes "The Mad Scientist doesn't seem to notice you and keeps mumbling to himself...";
- close;
+ mes("The Mad Scientist doesn't seem to notice you and keeps mumbling to himself...");
+ close();
}
if (mad == 0) {
- mes "[Mad Scientist]";
- mes "Haha, no Orcs are coming near me!";
- mes "The power of the Dimensional Gorge is undefeatable!!";
- next;
- switch(select("Orcs don't attack you?", "You wish!")) {
+ mes("[Mad Scientist]");
+ mes("Haha, no Orcs are coming near me!");
+ mes("The power of the Dimensional Gorge is undefeatable!!");
+ next();
+ switch (select("Orcs don't attack you?", "You wish!")) {
case 1:
- mes "[Mad Scientist]";
- mes "Yeah, yeah.. I know it's hard to belive. I don't blame ya.";
- mes "I used to study the Dimensional Gorge discovered near Morroc.";
- mes "According to my research, the minerals found there have enormous power inside them!";
- next;
+ mes("[Mad Scientist]");
+ mes("Yeah, yeah.. I know it's hard to belive. I don't blame ya.");
+ mes("I used to study the Dimensional Gorge discovered near Morroc.");
+ mes("According to my research, the minerals found there have enormous power inside them!");
+ next();
break;
case 2:
- mes "[Mad Scientist]";
- mes "You are a pretty distrustful person, huh?";
- next;
+ mes("[Mad Scientist]");
+ mes("You are a pretty distrustful person, huh?");
+ next();
break;
}
select("Oh? Like what, travel to alternate space?");
- mes "[Mad Scientist]";
- mes "Very smart! I have actually just done that! See that statue over there? It's not your normal Monolith!";
- next;
- mes "[Mad Scientist]";
- mes "I have created it with a combination of our technology and the unlimited energy I discovered from the Gorge! Want to try it?";
- next;
+ mes("[Mad Scientist]");
+ mes("Very smart! I have actually just done that! See that statue over there? It's not your normal Monolith!");
+ next();
+ mes("[Mad Scientist]");
+ mes("I have created it with a combination of our technology and the unlimited energy I discovered from the Gorge! Want to try it?");
+ next();
select("...Um, that doesn't sound legal?");
- mes "[Mad Scientist]";
- mes "Hey, since when did something so interesting have to be legal!? How about it! You can talk to the Orcs! C'mon!";
- next;
- mes "[Mad Scientist]";
- mes "Chances are they'll just give you lots of instructions once they see you, so just wing it! They're always saying the same thing, to the point where I memorized them!";
- next;
- switch(select("Alright... What do I do?", "Umm, maybe not.")) {
+ mes("[Mad Scientist]");
+ mes("Hey, since when did something so interesting have to be legal!? How about it! You can talk to the Orcs! C'mon!");
+ next();
+ mes("[Mad Scientist]");
+ mes("Chances are they'll just give you lots of instructions once they see you, so just wing it! They're always saying the same thing, to the point where I memorized them!");
+ next();
+ switch (select("Alright... What do I do?", "Umm, maybe not.")) {
case 1:
- mes "[Mad Scientist]";
- mes "Very good! Just sit in the hands of this statue! And try to act natural when you're in there!";
+ mes("[Mad Scientist]");
+ mes("Very good! Just sit in the hands of this statue! And try to act natural when you're in there!");
mad = 1;
- close;
+ close();
case 2:
- mes "[Mad Scientist]";
- mes "Oh fine, be that way!";
- close;
+ mes("[Mad Scientist]");
+ mes("Oh fine, be that way!");
+ close();
}
} else if (mad == 1) {
- mes "[Mad Scientist]";
- mes "Hmm? Put your hand on that Monemus Statue if you want to experience traveling through dimensions!";
- close;
+ mes("[Mad Scientist]");
+ mes("Hmm? Put your hand on that Monemus Statue if you want to experience traveling through dimensions!");
+ close();
} else {
mad = 1;
end;
@@ -175,60 +176,53 @@ gef_fild10,238,202,6 script Mad Scientist#orc 4_LGTSCIENCE,{
end;
OnInstanceInit:
- disablenpc instance_npcname("#Resurrect Monsters1");
+ disablenpc(instance_npcname("#Resurrect Monsters1"));
end;
OnDisable:
- stopnpctimer;
- killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
+ stopnpctimer();
+ killmonster(instance_mapname("1@orcs"), instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead");
end;
OnEnable:
- enablenpc instance_npcname("#Resurrect Monsters1");
- monster instance_mapname("1@orcs"),0,0,"Orc Warrior",1023,30,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
+ enablenpc(instance_npcname("#Resurrect Monsters1"));
+ monster(instance_mapname("1@orcs"), 0, 0, _("Orc Warrior"), ORK_WARRIOR, 30, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@orcs");
- .@mob_dead_num = 30 - mobcount(.@map$,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead");
+ .@mob_dead_num = 30 - mobcount(.@map$, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead");
if (.@mob_dead_num > 0) {
- .@mob_ran = rand(1,30);
+ .@mob_ran = rand(1, 30);
if (.@mob_ran > 29) {
- monster .@map$,0,0,"Orc Warrior",1023,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
- }
- else if ((.@mob_ran > 28) && (.@mob_ran < 30)) {
- monster .@map$,0,0,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
- if (rand(1,10) == 9) {
- mapannounce .@map$, "High Orc: We need more defenses! Get more people here!",bc_map,"0xff4444";
- }
- }
- else if ((.@mob_ran > 26) && (.@mob_ran < 29)) {
- areamonster .@map$,41,91,51,81,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
- if (rand(1,10) == 9) {
- mapannounce .@map$, "Where are the High Orcs!? Get them to stop the enemies!",bc_map,"0xff4444";
- }
- }
- else {
- areamonster .@map$,17,187,27,177,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
- if (rand(1,5) == 3) {
- mapannounce .@map$, "Caution: The army's starting to concentrate at Zone No. 4.",bc_map,"0x77ff77";
- }
- if (rand(1,100) == 50) {
- initnpctimer;
- }
+ monster(.@map$, 0, 0, _("Orc Warrior"), ORK_WARRIOR, .@mob_dead_num, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead");
+ } else if (.@mob_ran > 28 && .@mob_ran < 30) {
+ monster(.@map$, 0, 0, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead");
+ if (rand(1, 10) == 9)
+ mapannounce(.@map$, _("High Orc: We need more defenses! Get more people here!"), bc_map, "0xff4444");
+ } else if (.@mob_ran > 26 && .@mob_ran < 29) {
+ areamonster(.@map$, 41, 91, 51, 81, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead");
+ if (rand(1, 10) == 9)
+ mapannounce(.@map$, _("Where are the High Orcs!? Get them to stop the enemies!"), bc_map, "0xff4444");
+ } else {
+ areamonster(.@map$, 17, 187, 27, 177, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead");
+ if (rand(1, 5) == 3)
+ mapannounce(.@map$, _("Caution: The army's starting to concentrate at Zone No. 4."), bc_map, "0x77ff77");
+ if (rand(1, 100) == 50)
+ initnpctimer();
}
}
end;
OnTimer10:
- mapannounce instance_mapname("1@orcs"), "Shouts of the Chief Orc of Safeguards: Looks like this will take longer than expected. Summon the Stalactic Golems!",bc_map,"0xff4444";
+ mapannounce(instance_mapname("1@orcs"), _("Shouts of the Chief Orc of Safeguards: Looks like this will take longer than expected. Summon the Stalactic Golems!"), bc_map, "0xff4444");
end;
OnTimer4010:
.@map$ = instance_mapname("1@orcs");
- mapannounce .@map$, "Stalactic Golems are digging out of the deep underground.",bc_map,"0x77ff77";
- areamonster .@map$,17,187,27,177,"Stalactic Golem",1278,20,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
- stopnpctimer;
+ mapannounce(.@map$, _("Stalactic Golems are digging out of the deep underground."), bc_map, "0x77ff77");
+ areamonster(.@map$, 17, 187, 27, 177, _("Stalactic Golem"), STALACTIC_GOLEM, 20, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead");
+ stopnpctimer();
end;
}
@@ -236,30 +230,27 @@ OnTimer4010:
end;
OnInstanceInit:
- disablenpc instance_npcname("#Resurrect Monsters2");
+ disablenpc(instance_npcname("#Resurrect Monsters2"));
end;
OnDisable:
- killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
+ killmonster(instance_mapname("1@orcs"), instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead");
end;
OnEnable:
- enablenpc instance_npcname("#Resurrect Monsters2");
- monster instance_mapname("1@orcs"),0,0,"Trained Wolf",1106,15,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
+ enablenpc(instance_npcname("#Resurrect Monsters2"));
+ monster(instance_mapname("1@orcs"), 0, 0, _("Trained Wolf"), DESERT_WOLF, 15, instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@orcs");
- .@mob_dead_num = 15 - mobcount(.@map$,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead");
- if (rand(1,30) > 15) {
- if (.@mob_dead_num > 0) {
- monster .@map$,0,0,"Trained Wolf",1106,.@mob_dead_num,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
- }
- }
- else {
- if (.@mob_dead_num > 0) {
- areamonster .@map$,17,187,27,177,"Trained Wolf",1106,.@mob_dead_num,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
- }
+ .@mob_dead_num = 15 - mobcount(.@map$, instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead");
+ if (rand(1, 30) > 15) {
+ if (.@mob_dead_num > 0)
+ monster(.@map$, 0, 0, _("Trained Wolf"), DESERT_WOLF, .@mob_dead_num, instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead");
+ } else {
+ if (.@mob_dead_num > 0)
+ areamonster(.@map$, 17, 187, 27, 177, _("Trained Wolf"), DESERT_WOLF, .@mob_dead_num, instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead");
}
end;
}
@@ -268,39 +259,34 @@ OnMyMobDead:
end;
OnInstanceInit:
- disablenpc instance_npcname("#Resurrect Monsters3");
+ disablenpc(instance_npcname("#Resurrect Monsters3"));
end;
OnDisable:
- killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
+ killmonster(instance_mapname("1@orcs"), instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead");
end;
OnEnable:
- enablenpc instance_npcname("#Resurrect Monsters3");
- monster instance_mapname("1@orcs"),0,0,"Orc Archer",1189,15,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
+ enablenpc(instance_npcname("#Resurrect Monsters3"));
+ monster(instance_mapname("1@orcs"), 0, 0, _("Orc Archer"), ORC_ARCHER, 15, instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@orcs");
- .@mob_dead_num = 15 - mobcount(.@map$,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead");
- .@mob_ran = rand(1,30);
+ .@mob_dead_num = 15 - mobcount(.@map$, instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead");
+ .@mob_ran = rand(1, 30);
if (.@mob_ran > 29) {
+ if (.@mob_dead_num > 0)
+ monster(.@map$, 0, 0, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead");
+ } else if (.@mob_ran > 26 && .@mob_ran < 30) {
if (.@mob_dead_num > 0) {
- monster .@map$,0,0,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
- }
- }
- else if ((.@mob_ran > 26) && (.@mob_ran < 30)) {
- if (.@mob_dead_num > 0) {
- areamonster .@map$,43,155,47,159,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
- if (rand(1,3) == 3) {
- mapannounce .@map$, "High Orc: Attack them from behind! Cut off their support!",bc_map,"0xff4444";
- }
- }
- }
- else {
- if (.@mob_dead_num > 0) {
- areamonster .@map$,17,187,27,177,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
+ areamonster(.@map$, 43, 155, 47, 159, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead");
+ if (rand(1, 3) == 3)
+ mapannounce(.@map$, _("High Orc: Attack them from behind! Cut off their support!"), bc_map, "0xff4444");
}
+ } else {
+ if (.@mob_dead_num > 0)
+ areamonster(.@map$, 17, 187, 27, 177, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead");
}
end;
}
@@ -309,25 +295,24 @@ OnMyMobDead:
end;
OnInstanceInit:
- enablenpc instance_npcname("#Resurrect Monsters4");
- areamonster instance_mapname("1@orcs"),98,35,178,115,"Anopheles",1627,10,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead";
+ enablenpc(instance_npcname("#Resurrect Monsters4"));
+ areamonster(instance_mapname("1@orcs"), 98, 35, 178, 115, _("Anopheles"), ANOPHELES, 10, instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@orcs");
- .@mob_dead_num = 10 - mobcount(.@map$,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead");
- if (.@mob_dead_num > 0) {
- monster .@map$,0,0,"Anopheles",1627,.@mob_dead_num,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead";
- }
+ .@mob_dead_num = 10 - mobcount(.@map$, instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead");
+ if (.@mob_dead_num > 0)
+ monster(.@map$, 0, 0, _("Anopheles"), ANOPHELES, .@mob_dead_num, instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead");
end;
OnDisable:
- killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead";
+ killmonster(instance_mapname("1@orcs"), instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead");
end;
}
1@orcs,180,29,4 script Kruger#1-1 4_ORCWARRIOR,{
- donpcevent instance_npcname("Kruger#1-2")+"::OnEnable";
+ donpcevent(instance_npcname("Kruger#1-2")+"::OnEnable");
end;
}
@@ -335,164 +320,164 @@ OnDisable:
end;
OnInstanceInit:
- disablenpc instance_npcname("Kruger#1-2");
+ disablenpc(instance_npcname("Kruger#1-2"));
end;
OnEnable:
- disablenpc instance_npcname("Kruger#1-1");
- enablenpc instance_npcname("Kruger#1-2");
- initnpctimer;
+ disablenpc(instance_npcname("Kruger#1-1"));
+ enablenpc(instance_npcname("Kruger#1-2"));
+ initnpctimer();
end;
OnTimer10:
- mapannounce instance_mapname("1@orcs"), "Kruger: Damn... What took you so long!! I don't have all day!!",bc_map,"0xffff00";
+ mapannounce(instance_mapname("1@orcs"), _("Kruger: Damn... What took you so long!! I don't have all day!!"), bc_map, C_YELLOW);
end;
OnTimer5710:
- mapannounce instance_mapname("1@orcs"), "Kruger: My plan was to let our comrades open the gate, but it's all ruined since I got busted by the Orc Shaman.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("1@orcs"), _("Kruger: My plan was to let our comrades open the gate, but it's all ruined since I got busted by the Orc Shaman."), bc_map, C_YELLOW);
end;
OnTimer14610:
- mapannounce instance_mapname("1@orcs"), "Shouts of the Chief Orc of Safeguards: I smell a rat.. Send some patrols to the entrance!!",bc_map,"0xff4444";
+ mapannounce(instance_mapname("1@orcs"), _("Shouts of the Chief Orc of Safeguards: I smell a rat.. Send some patrols to the entrance!!"), bc_map, "0xff4444");
end;
OnTimer20210:
- mapannounce instance_mapname("1@orcs"), "Kruger: Darn it.. They'll be here any minute. Ok. Listen to me now.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("1@orcs"), _("Kruger: Darn it.. They'll be here any minute. Ok. Listen to me now."), bc_map, C_YELLOW);
end;
OnTimer24910:
- mapannounce instance_mapname("1@orcs"), "Kruger: The Orc Shaman has sealed the 1st basement by dividing it into 4 zones. Each zone has one Enchanted Orc who has the power to unseal the next zone.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("1@orcs"), _("Kruger: The Orc Shaman has sealed the 1st basement by dividing it into 4 zones. Each zone has one Enchanted Orc who has the power to unseal the next zone."), bc_map, C_YELLOW);
end;
OnTimer34310:
- mapannounce instance_mapname("1@orcs"), "Kruger: Find those Enchanted Orcs and get rid of them to move to the next zone.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("1@orcs"), _("Kruger: Find those Enchanted Orcs and get rid of them to move to the next zone."), bc_map, C_YELLOW);
end;
OnTimer39710:
- mapannounce instance_mapname("1@orcs"), "Kruger: Try to avoid encountering Orcs other then the Enchanted ones. Everytime you kill a normal Orc, High Orcs will gather at the last path to the 2nd floor.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("1@orcs"), _("Kruger: Try to avoid encountering Orcs other then the Enchanted ones. Everytime you kill a normal Orc, High Orcs will gather at the last path to the 2nd floor."), bc_map, C_YELLOW);
end;
OnTimer49210:
- mapannounce instance_mapname("1@orcs"), "Kruger: In the worst case, the path to the 2nd floor could be completely blocked. For your own sake, you should be as sneaky as possible.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("1@orcs"), _("Kruger: In the worst case, the path to the 2nd floor could be completely blocked. For your own sake, you should be as sneaky as possible."), bc_map, C_YELLOW);
end;
OnTimer56310:
- mapannounce instance_mapname("1@orcs"), "Mission: Sneak in and get rid of the 'Enchanted Orcs'. Avoiding battles with other Orcs is the best way of getting into the 2nd floor.",bc_map,"0x44ffff";
- donpcevent instance_npcname("#Resurrect Monsters1")+"::OnEnable";
- donpcevent instance_npcname("#Resurrect Monsters2")+"::OnEnable";
- donpcevent instance_npcname("#Resurrect Monsters3")+"::OnEnable";
- disablenpc instance_npcname("Kruger#1-2");
+ mapannounce(instance_mapname("1@orcs"), _("Mission: Sneak in and get rid of the 'Enchanted Orcs'. Avoiding battles with other Orcs is the best way of getting into the 2nd floor."), bc_map, "0x44ffff");
+ donpcevent(instance_npcname("#Resurrect Monsters1")+"::OnEnable");
+ donpcevent(instance_npcname("#Resurrect Monsters2")+"::OnEnable");
+ donpcevent(instance_npcname("#Resurrect Monsters3")+"::OnEnable");
+ disablenpc(instance_npcname("Kruger#1-2"));
end;
OnTimer60000:
- areamonster instance_mapname("1@orcs"),137,83,143,89,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead";
- stopnpctimer;
+ areamonster(instance_mapname("1@orcs"), 137, 83, 143, 89, _("Enchanted Orc"), ORK_WARRIOR, 1, instance_npcname("B1 Area Mobs")+"::OnMyMobDead");
+ stopnpctimer();
end;
}
1@orcs,168,125,0 script B1 Area 1 WARPNPC,3,3,{
OnInstanceInit:
- disablenpc instance_npcname("B1 Area 1");
+ disablenpc(instance_npcname("B1 Area 1"));
end;
OnEnable:
- enablenpc instance_npcname("B1 Area 1");
- areamonster instance_mapname("1@orcs"),103,105,109,111,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead1";
+ enablenpc(instance_npcname("B1 Area 1"));
+ areamonster(instance_mapname("1@orcs"), 103, 105, 109, 111, _("Enchanted Orc"), ORK_WARRIOR, 1, instance_npcname("B1 Area Mobs")+"::OnMyMobDead1");
end;
OnTouch:
- warp instance_mapname("1@orcs"),168,130;
+ warp(instance_mapname("1@orcs"), 168, 130);
end;
OnContinue:
- donpcevent instance_npcname("B1 Area 2")+"::OnEnable";
- initnpctimer;
+ donpcevent(instance_npcname("B1 Area 2")+"::OnEnable");
+ initnpctimer();
end;
OnTimer10300:
- mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: The Orcs here used to be my companions. They just lost their will ever since the Orc Shaman started to control them with her magic.",bc_map,"0xff4499";
+ mapannounce(instance_mapname("1@orcs"), _("Kruger's Whisper: The Orcs here used to be my companions. They just lost their will ever since the Orc Shaman started to control them with her magic."), bc_map, "0xff4499");
end;
OnTimer18700:
- mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: There's nothing we can do but to defeat the Orc Shaman if we want to save the remaining tribes.",bc_map,"0xff4499";
- stopnpctimer;
+ mapannounce(instance_mapname("1@orcs"), _("Kruger's Whisper: There's nothing we can do but to defeat the Orc Shaman if we want to save the remaining tribes."), bc_map, "0xff4499");
+ stopnpctimer();
end;
}
1@orcs,89,94,0 script B1 Area 2 WARPNPC,3,3,{
OnInstanceInit:
- disablenpc instance_npcname("B1 Area 2");
+ disablenpc(instance_npcname("B1 Area 2"));
end;
OnEnable:
- enablenpc instance_npcname("B1 Area 2");
- areamonster instance_mapname("1@orcs"),32,40,38,46,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead2";
+ enablenpc(instance_npcname("B1 Area 2"));
+ areamonster(instance_mapname("1@orcs"), 32, 40, 38, 46, _("Enchanted Orc"), ORK_WARRIOR, 1, instance_npcname("B1 Area Mobs")+"::OnMyMobDead2");
end;
OnTouch:
- warp instance_mapname("1@orcs"),85,85;
+ warp(instance_mapname("1@orcs"), 85, 85);
end;
OnContinue:
- donpcevent instance_npcname("B1 Area 3")+"::OnEnable";
- initnpctimer;
+ donpcevent(instance_npcname("B1 Area 3")+"::OnEnable");
+ initnpctimer();
end;
OnTimer30300:
- mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: I saw the bodies of our tribe. It seems that the Orc Shaman used those Orcs for her rituals.",bc_map,"0xff4499";
+ mapannounce(instance_mapname("1@orcs"), _("Kruger's Whisper: I saw the bodies of our tribe. It seems that the Orc Shaman used those Orcs for her rituals."), bc_map, "0xff4499");
end;
OnTimer37600:
- mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: ... It all has to do with me. I am responsible for this evil.",bc_map,"0xff4499";
- stopnpctimer;
+ mapannounce(instance_mapname("1@orcs"), _("Kruger's Whisper: ... It all has to do with me. I am responsible for this evil."), bc_map, "0xff4499");
+ stopnpctimer();
end;
}
1@orcs,38,105,0 script B1 Area 3 WARPNPC,3,3,{
OnInstanceInit:
- disablenpc instance_npcname("B1 Area 3");
+ disablenpc(instance_npcname("B1 Area 3"));
end;
OnEnable:
- enablenpc instance_npcname("B1 Area 3");
- areamonster instance_mapname("1@orcs"),19,177,25,183,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead3";
+ enablenpc(instance_npcname("B1 Area 3"));
+ areamonster(instance_mapname("1@orcs"), 19, 177, 25, 183, _("Enchanted Orc"), ORK_WARRIOR, 1, instance_npcname("B1 Area Mobs")+"::OnMyMobDead3");
end;
OnTouch:
- warp instance_mapname("1@orcs"),38,110;
+ warp(instance_mapname("1@orcs"), 38, 110);
end;
OnContinue:
- donpcevent instance_npcname("B1 Area 4")+"::OnEnable";
- initnpctimer;
+ donpcevent(instance_npcname("B1 Area 4")+"::OnEnable");
+ initnpctimer();
end;
OnTimer30300:
- mapannounce instance_mapname("1@orcs"), "Please, hang in there!",bc_map,"0xff4499";
+ mapannounce(instance_mapname("1@orcs"), _("Please, hang in there!"), bc_map, "0xff4499");
end;
OnTimer32700:
- mapannounce instance_mapname("1@orcs"), "We'll get some rest when we get to the 2nd basement after passing through here.",bc_map,"0xff4499";
- stopnpctimer;
+ mapannounce(instance_mapname("1@orcs"), _("We'll get some rest when we get to the 2nd basement after passing through here."), bc_map, "0xff4499");
+ stopnpctimer();
end;
}
1@orcs,21,189,0 script B1 Area 4 WARPNPC,3,3,{
OnInstanceInit:
- disablenpc instance_npcname("B1 Area 4");
+ disablenpc(instance_npcname("B1 Area 4"));
end;
OnEnable:
- enablenpc instance_npcname("B1 Area 4");
- donpcevent instance_npcname("#Resurrect Monsters1")+"::OnDisable";
- donpcevent instance_npcname("#Resurrect Monsters2")+"::OnDisable";
- donpcevent instance_npcname("#Resurrect Monsters3")+"::OnDisable";
- donpcevent instance_npcname("#Resurrect Monsters4")+"::OnDisable";
+ enablenpc(instance_npcname("B1 Area 4"));
+ donpcevent(instance_npcname("#Resurrect Monsters1")+"::OnDisable");
+ donpcevent(instance_npcname("#Resurrect Monsters2")+"::OnDisable");
+ donpcevent(instance_npcname("#Resurrect Monsters3")+"::OnDisable");
+ donpcevent(instance_npcname("#Resurrect Monsters4")+"::OnDisable");
end;
OnTouch:
- warp instance_mapname("2@orcs"),32,171;
+ warp(instance_mapname("2@orcs"), 32, 171);
end;
}
@@ -500,19 +485,19 @@ OnTouch:
end;
OnMyMobDead:
- donpcevent instance_npcname("B1 Area 1")+"::OnEnable";
+ donpcevent(instance_npcname("B1 Area 1")+"::OnEnable");
end;
OnMyMobDead1:
- donpcevent instance_npcname("B1 Area 1")+"::OnContinue";
+ donpcevent(instance_npcname("B1 Area 1")+"::OnContinue");
end;
OnMyMobDead2:
- donpcevent instance_npcname("B1 Area 2")+"::OnContinue";
+ donpcevent(instance_npcname("B1 Area 2")+"::OnContinue");
end;
OnMyMobDead3:
- donpcevent instance_npcname("B1 Area 3")+"::OnContinue";
+ donpcevent(instance_npcname("B1 Area 3")+"::OnContinue");
end;
}
@@ -521,57 +506,51 @@ OnMyMobDead3:
end;
OnInstanceInit:
- disablenpc instance_npcname("#2Resurrect Monsters1");
+ disablenpc(instance_npcname("#2Resurrect Monsters1"));
end;
OnEnable:
- enablenpc instance_npcname("#2Resurrect Monsters1");
- monster instance_mapname("2@orcs"),0,0,"Vengeful Orc",1152,30,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
+ enablenpc(instance_npcname("#2Resurrect Monsters1"));
+ monster(instance_mapname("2@orcs"), 0, 0, _("Vengeful Orc"), ORC_SKELETON, 30, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead");
end;
OnDisable:
- stopnpctimer;
- killmonster instance_mapname("2@orcs"),instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
+ stopnpctimer();
+ killmonster(instance_mapname("2@orcs"), instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("2@orcs");
- .@mob_dead_num = 30 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead");
+ .@mob_dead_num = 30 - mobcount(.@map$, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead");
if (.@mob_dead_num > 0) {
- .@mob_ran = rand(1,30);
+ .@mob_ran = rand(1, 30);
if (.@mob_ran > 29) {
- monster .@map$,0,0,"Vengeful Orc",1152,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
- }
- else if ((.@mob_ran > 28) && (.@mob_ran < 30)) {
- monster .@map$,0,0,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
- }
- else if ((.@mob_ran > 26) && (.@mob_ran < 29)) {
- areamonster .@map$,157,112,167,122,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
- if (rand(1,10) == 9) {
- mapannounce .@map$, "Warning: High Orcs are gathering near area 3.",bc_map,"0xff4444";
- }
- }
- else {
- areamonster .@map$,173,13,183,23,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
- if (rand(1,5) == 3) {
- mapannounce .@map$, "Caution: The Forces have started to concentrate at the Shaman's Altar.",bc_map,"0x77ff77";
- }
- if (rand(1,70) == 50) {
- initnpctimer;
- }
+ monster(.@map$, 0, 0, _("Vengeful Orc"), ORC_SKELETON, .@mob_dead_num, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead");
+ } else if (.@mob_ran > 28 && .@mob_ran < 30) {
+ monster(.@map$, 0, 0, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead");
+ } else if (.@mob_ran > 26 && .@mob_ran < 29) {
+ areamonster(.@map$, 157, 112, 167, 122, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead");
+ if (rand(1, 10) == 9)
+ mapannounce(.@map$, _("Warning: High Orcs are gathering near area 3."), bc_map, "0xff4444");
+ } else {
+ areamonster(.@map$, 173, 13, 183, 23, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead");
+ if (rand(1, 5) == 3)
+ mapannounce(.@map$, _("Caution: The Forces have started to concentrate at the Shaman's Altar."), bc_map, "0x77ff77");
+ if (rand(1, 70) == 50)
+ initnpctimer();
}
}
end;
OnTimer10:
- mapannounce instance_mapname("2@orcs"), "Voice from somewhere: Foolish... Do you really think the altar would fall like that?",bc_map,"0xff4444";
+ mapannounce(instance_mapname("2@orcs"), _("Voice from somewhere: Foolish... Do you really think the altar would fall like that?"), bc_map, "0xff4444");
end;
OnTimer4010:
.@map$ = instance_mapname("2@orcs");
- mapannounce .@map$, "[ Wraiths were summoned by an unknown power ]",bc_map,"0x77ff77";
- areamonster .@map$,167,25,177,35,"Wraith",1475,30,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
- stopnpctimer;
+ mapannounce(.@map$, _("[ Wraiths were summoned by an unknown power ]"), bc_map, "0x77ff77");
+ areamonster(.@map$, 167, 25, 177, 35, _("Wraith"), G_WRAITH, 30, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead");
+ stopnpctimer();
end;
}
@@ -579,40 +558,36 @@ OnTimer4010:
end;
OnInstanceInit:
- disablenpc instance_npcname("#2Resurrect Monsters3");
+ disablenpc(instance_npcname("#2Resurrect Monsters3"));
end;
OnEnable:
- enablenpc instance_npcname("#2Resurrect Monsters3");
- monster instance_mapname("2@orcs"),0,0,"Orc Zombie",1153,15,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
+ enablenpc(instance_npcname("#2Resurrect Monsters3"));
+ monster(instance_mapname("2@orcs"), 0, 0, _("Orc Zombie"), ORC_ZOMBIE, 15, instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("2@orcs");
- .@mob_dead_num = 15 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead");
- .@mob_ran = rand(1,30);
+ .@mob_dead_num = 15 - mobcount(.@map$, instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead");
+ .@mob_ran = rand(1, 30);
if (.@mob_ran > 29) {
if (.@mob_dead_num > 0) {
- monster .@map$,0,0,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
- }
- }
- else if ((.@mob_ran > 6) && (.@mob_ran < 30)) {
- if (.@mob_dead_num > 0) {
- areamonster .@map$,168,10,184,26,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
- if (rand(1,15) == 3) {
- mapannounce .@map$, "Warning: Orc Archer teams are gathering near the altar.",bc_map,"0xff4444";
- }
+ monster(.@map$, 0, 0, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead");
}
- }
- else {
+ } else if (.@mob_ran > 6 && .@mob_ran < 30) {
if (.@mob_dead_num > 0) {
- areamonster .@map$,168,21,184,21,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
+ areamonster(.@map$, 168, 10, 184, 26, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead");
+ if (rand(1, 15) == 3)
+ mapannounce(.@map$, _("Warning: Orc Archer teams are gathering near the altar."), bc_map, "0xff4444");
}
+ } else {
+ if (.@mob_dead_num > 0)
+ areamonster(.@map$, 168, 21, 184, 21, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead");
}
end;
OnDisable:
- killmonster instance_mapname("2@orcs"),instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
+ killmonster(instance_mapname("2@orcs"), instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead");
end;
}
@@ -620,21 +595,20 @@ OnDisable:
end;
OnInstanceInit:
- enablenpc instance_npcname("#2Resurrect Monsters4");
- monster instance_mapname("2@orcs"),0,0,"Anopheles",1627,10,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead";
+ enablenpc(instance_npcname("#2Resurrect Monsters4"));
+ monster(instance_mapname("2@orcs"), 0, 0, _("Anopheles"), ANOPHELES, 10, instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("2@orcs");
- .@mob_dead_num = 10 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead");
- if (.@mob_dead_num > 0) {
- monster .@map$,0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead";
- }
+ .@mob_dead_num = 10 - mobcount(.@map$, instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead");
+ if (.@mob_dead_num > 0)
+ monster(.@map$, 0, 0, _("Anopheles"), ANOPHELES, 1, instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead");
end;
}
2@orcs,35,169,4 script Kruger#2-1 4_ORCWARRIOR,{
- donpcevent instance_npcname("Kruger#2-2")+"::OnEnable";
+ donpcevent(instance_npcname("Kruger#2-2")+"::OnEnable");
end;
}
@@ -642,72 +616,73 @@ OnMyMobDead:
end;
OnInstanceInit:
- disablenpc instance_npcname("Kruger#2-2");
+ disablenpc(instance_npcname("Kruger#2-2"));
end;
OnEnable:
- disablenpc instance_npcname("Kruger#2-1");
- enablenpc instance_npcname("Kruger#2-2");
- initnpctimer;
+ disablenpc(instance_npcname("Kruger#2-1"));
+ enablenpc(instance_npcname("Kruger#2-2"));
+ initnpctimer();
end;
OnTimer10:
- mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: I'll tell you how to get to the Shaman's altar.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("2@orcs"), _("Kruger's Whisper: I'll tell you how to get to the Shaman's altar."), bc_map, C_YELLOW);
end;
OnTimer3510:
- mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Do you see the braziers that light the path? Unseal the next zone by strengthening their flames.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("2@orcs"), _("Kruger's Whisper: Do you see the braziers that light the path? Unseal the next zone by strengthening their flames."), bc_map, C_YELLOW);
end;
OnTimer10710:
- mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Of course those monsters won't let you touch the braziers that easily.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("2@orcs"), _("Kruger's Whisper: Of course those monsters won't let you touch the braziers that easily."), bc_map, C_YELLOW);
end;
OnTimer16310:
- mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: But still, try keep the battles not too noticable so the Shaman won't guard the altar with her army squad.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("2@orcs"), _("Kruger's Whisper: But still, try keep the battles not too noticable so the Shaman won't guard the altar with her army squad."), bc_map, C_YELLOW);
end;
OnTimer21910:
- mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Only the Party Leader can strengthen the flames, so protect your leader.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("2@orcs"), _("Kruger's Whisper: Only the Party Leader can strengthen the flames, so protect your leader."), bc_map, C_YELLOW);
end;
OnTimer23910:
- mapannounce instance_mapname("2@orcs"), "Mission: Unseal the zone by lighting the braziers. They can only be lit in a certain order, so be careful.",bc_map,"0x4444ff";
- donpcevent instance_npcname("#2Resurrect Monsters1")+"::OnEnable";
- donpcevent instance_npcname("#2Resurrect Monsters3")+"::OnEnable";
- donpcevent instance_npcname("Torch#1-1")+"::OnEnable";
- disablenpc instance_npcname("Kruger#2-2");
+ mapannounce(instance_mapname("2@orcs"), _("Mission: Unseal the zone by lighting the braziers. They can only be lit in a certain order, so be careful."), bc_map, "0x4444ff");
+ donpcevent(instance_npcname("#2Resurrect Monsters1")+"::OnEnable");
+ donpcevent(instance_npcname("#2Resurrect Monsters3")+"::OnEnable");
+ donpcevent(instance_npcname("Torch#1-1")+"::OnEnable");
+ disablenpc(instance_npcname("Kruger#2-2"));
end;
}
2@orcs,26,164,0 script Torch#1-1 CLEAR_NPC,{
- if(getpartyleader(getcharid(CHAR_ID_PARTY),2) != getcharid(CHAR_ID_CHAR)) end;
- progressbar "ffff00",5;
- setarray .@id[0], atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),0)), atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),2));
+ if (getpartyleader(getcharid(CHAR_ID_PARTY), 2) != getcharid(CHAR_ID_CHAR))
+ end;
+ progressbar(sprintf("0x%x", C_YELLOW), 5);
+ setarray(.@id[0], atoi(charat(strnpcinfo(NPC_NAME_HIDDEN), 0)), atoi(charat(strnpcinfo(NPC_NAME_HIDDEN), 2)));
if (.@id[1] == 4)
- donpcevent instance_npcname("#Warp2-"+.@id[0])+"::OnEnable";
+ donpcevent(instance_npcname("#Warp2-"+.@id[0])+"::OnEnable");
else
- donpcevent instance_npcname("Torch#"+.@id[0]+"-"+(.@id[1]+1))+"::OnEnable";
- initnpctimer;
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ donpcevent(instance_npcname("Torch#"+.@id[0]+"-"+(.@id[1]+1))+"::OnEnable");
+ initnpctimer();
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnInstanceInit:
if (strnpcinfo(NPC_NAME) != "Torch#2-1" && strnpcinfo(NPC_NAME) != "Torch#3-1")
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnTimer100:
- specialeffect EF_FIREPILLAR;
+ specialeffect(EF_FIREPILLAR);
end;
OnTimer2000:
- specialeffect EF_FIREPILLARBOMB;
- stopnpctimer;
+ specialeffect(EF_FIREPILLARBOMB);
+ stopnpctimer();
end;
}
2@orcs,55,155,0 duplicate(Torch#1-1) Torch#1-2 CLEAR_NPC
@@ -716,27 +691,27 @@ OnTimer2000:
2@orcs,48,100,0 script #Warp2-1 WARPNPC,3,3,{
OnInstanceInit:
- disablenpc instance_npcname("#Warp2-1");
+ disablenpc(instance_npcname("#Warp2-1"));
end;
OnEnable:
.@map$ = instance_mapname("2@orcs");
- monster .@map$,109,156,"Safeguard Chief",1981,1,instance_npcname("#Mobs Control")+"::OnMyMobDead1";
- mapannounce .@map$, "The Chief Orc of Safeguards: Oh!! Looks like I have company. Defeat me if you can!!",bc_map,"0xff8888";
+ monster(.@map$, 109, 156, _("Safeguard Chief"), I_HIGH_ORC, 1, instance_npcname("#Mobs Control")+"::OnMyMobDead1");
+ mapannounce(.@map$, _("The Chief Orc of Safeguards: Oh!! Looks like I have company. Defeat me if you can!!"), bc_map, "0xff8888");
end;
OnContinue:
- enablenpc instance_npcname("#Warp2-1");
- initnpctimer;
+ enablenpc(instance_npcname("#Warp2-1"));
+ initnpctimer();
end;
OnTimer10000:
- areamonster instance_mapname("2@orcs"),28,158,40,170,"Safeguard Chief",1981,1,instance_npcname("#Mobs Control")+"::OnMyMobDead1";
- stopnpctimer;
+ areamonster(instance_mapname("2@orcs"), 28, 158, 40, 170, _("Safeguard Chief"), I_HIGH_ORC, 1, instance_npcname("#Mobs Control")+"::OnMyMobDead1");
+ stopnpctimer();
end;
OnTouch:
- warp instance_mapname("2@orcs"),47,93;
+ warp(instance_mapname("2@orcs"), 47, 93);
end;
}
@@ -747,27 +722,27 @@ OnTouch:
2@orcs,101,55,0 script #Warp2-2 WARPNPC,3,3,{
OnInstanceInit:
- disablenpc instance_npcname("#Warp2-2");
+ disablenpc(instance_npcname("#Warp2-2"));
end;
OnEnable:
.@map$ = instance_mapname("2@orcs");
- monster .@map$,67,64,"Orc Sniper",1982,1,instance_npcname("#Mobs Control")+"::OnMyMobDead2";
- mapannounce .@map$, "Orc Sniper: Hah! Pretty impressive that you made it this far, but your foolish little trip ends here...",bc_map,"0xff8888";
+ monster(.@map$, 67, 64, _("Orc Sniper"), I_ORC_ARCHER, 1, instance_npcname("#Mobs Control")+"::OnMyMobDead2");
+ mapannounce(.@map$, _("Orc Sniper: Hah! Pretty impressive that you made it this far, but your foolish little trip ends here..."), bc_map, "0xff8888");
end;
OnContinue:
- enablenpc instance_npcname("#Warp2-2");
- initnpctimer;
+ enablenpc(instance_npcname("#Warp2-2"));
+ initnpctimer();
end;
OnTimer10000:
- areamonster instance_mapname("2@orcs"),40,91,52,103,"Orc Sniper",1982,1,instance_npcname("#Mobs Control")+"::OnMyMobDead2";
- stopnpctimer;
+ areamonster(instance_mapname("2@orcs"), 40, 91, 52, 103, _("Orc Sniper"), I_ORC_ARCHER, 1, instance_npcname("#Mobs Control")+"::OnMyMobDead2");
+ stopnpctimer();
end;
OnTouch:
- warp instance_mapname("2@orcs"),107,55;
+ warp(instance_mapname("2@orcs"), 107, 55);
end;
}
@@ -778,41 +753,41 @@ OnTouch:
2@orcs,167,104,0 script #Warp2-3 WARPNPC,3,3,{
OnInstanceInit:
- disablenpc instance_npcname("#Warp2-3");
+ disablenpc(instance_npcname("#Warp2-3"));
end;
OnEnable:
.@map$ = instance_mapname("2@orcs");
- monster .@map$,152,147,"Depraved Orc Spirit",1983,1,instance_npcname("#Mobs Control")+"::OnMyMobDead3";
- mapannounce .@map$, "Depraved Orc Spirit: I smell flesh! Hungry! Wanna try some human meat!!",bc_map,"0xff8888";
+ monster(.@map$, 152, 147, _("Depraved Orc Spirit"), I_ORC_SKELETON, 1, instance_npcname("#Mobs Control")+"::OnMyMobDead3");
+ mapannounce(.@map$, _("Depraved Orc Spirit: I smell flesh! Hungry! Wanna try some human meat!!"), bc_map, "0xff8888");
end;
OnContinue:
- areamonster instance_mapname("2@orcs"),117,61,129,73,"Depraved Orc Spirit",1983,1;
- donpcevent instance_npcname("#Boss Control")+"::OnEnable";
- enablenpc instance_npcname("#Warp2-3");
- initnpctimer;
+ areamonster(instance_mapname("2@orcs"), 117, 61, 129, 73, _("Depraved Orc Spirit"), I_ORC_SKELETON, 1);
+ donpcevent(instance_npcname("#Boss Control")+"::OnEnable");
+ enablenpc(instance_npcname("#Warp2-3"));
+ initnpctimer();
end;
OnTimer10:
- mapannounce instance_mapname("2@orcs"), "Shaman Cargalache: Hahaha!! So, you finally made it here. The assassin you sent was just terrible. That stupid Orc is getting cold under my feet.",bc_map,"0xffff00";
+ mapannounce(instance_mapname("2@orcs"), _("Shaman Cargalache: Hahaha!! So, you finally made it here. The assassin you sent was just terrible. That stupid Orc is getting cold under my feet."), bc_map, C_YELLOW);
end;
OnTimer6810:
- mapannounce instance_mapname("2@orcs"), "Shaman Cargalache: My loyal slave, go get those intruders!",bc_map,"0xffff00";
+ mapannounce(instance_mapname("2@orcs"), _("Shaman Cargalache: My loyal slave, go get those intruders!"), bc_map, C_YELLOW);
end;
OnTimer10310:
- mapannounce instance_mapname("2@orcs"), "Depraved Orc Hero: Whatever you say, my lord.",bc_map,"0xff7777";
+ mapannounce(instance_mapname("2@orcs"), _("Depraved Orc Hero: Whatever you say, my lord."), bc_map, "0xff7777");
end;
OnTimer13110:
- mapannounce instance_mapname("2@orcs"), "Caution: You have been discovered by Shaman Cargalache. Kruger's plan to assassinate the Shaman has failed. You must defeat Cargalache and find traces of Kruger.",bc_map,"0x8888ff";
- stopnpctimer;
+ mapannounce(instance_mapname("2@orcs"), _("Caution: You have been discovered by Shaman Cargalache. Kruger's plan to assassinate the Shaman has failed. You must defeat Cargalache and find traces of Kruger."), bc_map, "0x8888ff");
+ stopnpctimer();
end;
OnTouch:
- warp instance_mapname("2@orcs"),167,95;
+ warp(instance_mapname("2@orcs"), 167, 95);
end;
}
@@ -820,93 +795,87 @@ OnTouch:
end;
OnInstanceInit:
- disablenpc instance_npcname("#Boss Control");
+ disablenpc(instance_npcname("#Boss Control"));
end;
OnEnable:
.@map$ = instance_mapname("2@orcs");
- monster .@map$,185,8,"Shaman Cargalache",1984,1,instance_npcname("#Boss Control")+"::OnMyMobDead";
- monster .@map$,179,15,"Depraved Orc Hero",1087,1;
- enablenpc instance_npcname("#Boss Control");
+ monster(.@map$, 185, 8, _("Shaman Cargalache"), I_ORC_LADY, 1, instance_npcname("#Boss Control")+"::OnMyMobDead");
+ monster(.@map$, 179, 15, _("Depraved Orc Hero"), ORK_HERO, 1);
+ enablenpc(instance_npcname("#Boss Control"));
end;
OnMyMobDead:
- donpcevent instance_npcname("Kruger#")+"::OnEnable";
+ donpcevent(instance_npcname("Kruger#")+"::OnEnable");
.@map$ = instance_mapname("2@orcs");
- .@mob_ran = rand(1,5);
- if (.@mob_ran == 1) {
- mapannounce .@map$, "Shaman Cargalache: How... How could this be... How could someone like you...!!",bc_map,"0xffff00";
- }
- else if (.@mob_ran == 2) {
- mapannounce .@map$, "Shaman Cargalache: How is it that I've been overpowered by mere humans!",bc_map,"0xffff00";
- }
- else if (.@mob_ran == 3) {
- mapannounce .@map$, "Shaman Cargalache: This... This can't be the end...",bc_map,"0xffff00";
- }
- else if (.@mob_ran == 4) {
- mapannounce .@map$, "Shaman Cargalache: I... Can't die... Yet...!",bc_map,"0xffff00";
- }
- else {
- mapannounce .@map$, "Shaman Cargalache: Defeated by these fools... It can't be happening...!",bc_map,"0xffff00";
- }
- donpcevent instance_npcname("#2Resurrect Monsters1")+"::OnDisable";
- donpcevent instance_npcname("#2Resurrect Monsters3")+"::OnDisable";
- donpcevent instance_npcname("#Warp Outside Orc Dun")+"::OnEnable";
+ .@mob_ran = rand(1, 5);
+ if (.@mob_ran == 1)
+ mapannounce(.@map$, _("Shaman Cargalache: How... How could this be... How could someone like you...!!"), bc_map, C_YELLOW);
+ else if (.@mob_ran == 2)
+ mapannounce(.@map$, _("Shaman Cargalache: How is it that I've been overpowered by mere humans!"), bc_map, C_YELLOW);
+ else if (.@mob_ran == 3)
+ mapannounce(.@map$, _("Shaman Cargalache: This... This can't be the end..."), bc_map, C_YELLOW);
+ else if (.@mob_ran == 4)
+ mapannounce(.@map$, _("Shaman Cargalache: I... Can't die... Yet...!"), bc_map, C_YELLOW);
+ else
+ mapannounce(.@map$, _("Shaman Cargalache: Defeated by these fools... It can't be happening...!"), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("#2Resurrect Monsters1")+"::OnDisable");
+ donpcevent(instance_npcname("#2Resurrect Monsters3")+"::OnDisable");
+ donpcevent(instance_npcname("#Warp Outside Orc Dun")+"::OnEnable");
end;
}
2@orcs,182,8,0 script #Warp Outside Orc Dun WARPNPC,3,3,{
OnInstanceInit:
- disablenpc instance_npcname("#Warp Outside Orc Dun");
+ disablenpc(instance_npcname("#Warp Outside Orc Dun"));
end;
OnEnable:
- enablenpc instance_npcname("#Warp Outside Orc Dun");
+ enablenpc(instance_npcname("#Warp Outside Orc Dun"));
end;
OnTouch:
- warp "gef_fild10",240,197;
+ warp("gef_fild10", 240, 197);
end;
}
2@orcs,172,13,0 script Kruger# 4_ORCWARRIOR2,{
if (yong_odun < 2) {
- mes "[Kruger]";
- mes "*Coughing*";
- mes ""+strcharinfo(PC_NAME)+", it's you...";
- next;
- mes "["+strcharinfo(PC_NAME)+"] ";
- mes "Don't move! You are wounded!";
- next;
- mes "[Kruger]";
- mes "It's... all right.. I'm dying...";
- mes "....";
- mes "The Shaman? What about the Shaman?";
- next;
- mes "["+strcharinfo(PC_NAME)+"] ";
- mes "The Shaman's dead now. Who was that Shaman really?";
- next;
- mes "Kruger seemed to be relieved as he hears of the death of the Shaman, but you notice the bitter expression on his face.";
- next;
- mes "[Kruger]";
- mes "I.. I just couldn't kill my own daughter...";
- mes "Thank you, I'm sure she's finally free from the nightmare that used to choke her soul.";
- next;
- mes "Kruger was about to say something more, but he breathed his last breath before he could...";
+ mes("[Kruger]");
+ mes("*Coughing*");
+ mesf("%s, it's you...", strcharinfo(PC_NAME));
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Don't move! You are wounded!");
+ next();
+ mes("[Kruger]");
+ mes("It's... all right.. I'm dying...");
+ mes("....");
+ mes("The Shaman? What about the Shaman?");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("The Shaman's dead now. Who was that Shaman really?");
+ next();
+ mes("Kruger seemed to be relieved as he hears of the death of the Shaman, but you notice the bitter expression on his face.");
+ next();
+ mes("[Kruger]");
+ mes("I.. I just couldn't kill my own daughter...");
+ mes("Thank you, I'm sure she's finally free from the nightmare that used to choke her soul.");
+ next();
+ mes("Kruger was about to say something more, but he breathed his last breath before he could...");
yong_odun = 2;
- close;
- }
- else {
- mes "You can see the dead body of Kruger, peacefully lying on the ground.";
- close;
+ close();
+ } else {
+ mes("You can see the dead body of Kruger, peacefully lying on the ground.");
+ close();
}
OnInstanceInit:
- disablenpc instance_npcname("Kruger#");
+ disablenpc(instance_npcname("Kruger#"));
end;
OnEnable:
- enablenpc instance_npcname("Kruger#");
+ enablenpc(instance_npcname("Kruger#"));
end;
}
@@ -914,14 +883,14 @@ OnEnable:
end;
OnMyMobDead1:
- donpcevent instance_npcname("#Warp2-1")+"::OnContinue";
+ donpcevent(instance_npcname("#Warp2-1")+"::OnContinue");
end;
OnMyMobDead2:
- donpcevent instance_npcname("#Warp2-2")+"::OnContinue";
+ donpcevent(instance_npcname("#Warp2-2")+"::OnContinue");
end;
OnMyMobDead3:
- donpcevent instance_npcname("#Warp2-3")+"::OnContinue";
+ donpcevent(instance_npcname("#Warp2-3")+"::OnContinue");
end;
}
diff --git a/npc/instances/SealedShrine.txt b/npc/instances/SealedShrine.txt
index de59b7599..91771c31c 100644
--- a/npc/instances/SealedShrine.txt
+++ b/npc/instances/SealedShrine.txt
@@ -37,65 +37,64 @@
//== Sealed Catacomb Entrance ==============================
monk_test,309,146,3 script Friar Patrick#edq 4_M_OLDFRIAR,{
- cutin "ins_cata_pri_n",2;
- mes "[Friar Patrick]";
- mes "The peace of this world cannot last forever... The hands of Evil are reaching into the world again...";
- next;
- mes "[Friar Patrick]";
- mes "What brought you to this place?";
- next;
+ cutin("ins_cata_pri_n", 2);
+ mes("[Friar Patrick]");
+ mes("The peace of this world cannot last forever... The hands of Evil are reaching into the world again...");
+ next();
+ mes("[Friar Patrick]");
+ mes("What brought you to this place?");
+ next();
if (countitem(Bapho_Doll) > 0) {
.@doll = 1;
.@selection = select("What is this place?", "I want to enter.", "About the Cursed Baphomet Doll.", "Cancel.");
- }
- else {
+ } else {
.@selection = select("What is this place?", "I want to enter.", "Cancel.");
}
- switch(.@selection) {
+ switch (.@selection) {
case 1:
- mes "[Friar Patrick]";
- mes "Huh... Don't you know? This is St. Capitolina Monastery where the Brothers who wish to become monks train and pray.";
- next;
- mes "[Friar Patrick]";
- mes "And this place is... What can I say... Yes. It's the grave of the Devil. Grave...";
- next;
- mes "[Friar Patrick]";
- mes "The very place where the great Devil who once demolished this world is sleeping.";
- next;
- switch(select("Tell me more.", "Stop talking.")) {
+ mes("[Friar Patrick]");
+ mes("Huh... Don't you know? This is St. Capitolina Monastery where the Brothers who wish to become monks train and pray.");
+ next();
+ mes("[Friar Patrick]");
+ mes("And this place is... What can I say... Yes. It's the grave of the Devil. Grave...");
+ next();
+ mes("[Friar Patrick]");
+ mes("The very place where the great Devil who once demolished this world is sleeping.");
+ next();
+ switch (select("Tell me more.", "Stop talking.")) {
case 1:
- cutin "ins_cata_pri_n",2;
- mes "[Friar Patrick]";
- mes "Baphomet... is the name of the Devil... I think you have heard of his name.";
- next;
- mes "[Friar Patrick]";
- mes "Numerous brave men and brothers have trained in this monastery...";
- next;
- mes "[Friar Patrick]";
- mes "Under this gravestone in front of you... Baphomet is sealed.";
- next;
- mes "[Friar Patrick]";
- mes "But... As we speak Satan Morocc is marshalling his powerful magic in order to affect all life on this continent.";
- next;
- mes "[Friar Patrick]";
- mes "Baphomet also... has awakened and is preparing for his revival, into this world, by weakening the power of the seal through the power of Satan Morocc...";
- next;
- mes "[Friar Patrick]";
- mes "Now... I'm looking for someone brave enough to reseal Baphomet in its shrine... as we once did many years ago...";
- next;
- mes "[Friar Patrick]";
- mes "Anyone who fights for good will know, deep inside, that evil is threatening to conquer this world...";
- next;
- mes "[Friar Patrick]";
- mes "Train more and use your skills to protect the world from evil's looming presence...";
+ cutin("ins_cata_pri_n", 2);
+ mes("[Friar Patrick]");
+ mes("Baphomet... is the name of the Devil... I think you have heard of his name.");
+ next();
+ mes("[Friar Patrick]");
+ mes("Numerous brave men and brothers have trained in this monastery...");
+ next();
+ mes("[Friar Patrick]");
+ mes("Under this gravestone in front of you... Baphomet is sealed.");
+ next();
+ mes("[Friar Patrick]");
+ mes("But... As we speak Satan Morocc is marshalling his powerful magic in order to affect all life on this continent.");
+ next();
+ mes("[Friar Patrick]");
+ mes("Baphomet also... has awakened and is preparing for his revival, into this world, by weakening the power of the seal through the power of Satan Morocc...");
+ next();
+ mes("[Friar Patrick]");
+ mes("Now... I'm looking for someone brave enough to reseal Baphomet in its shrine... as we once did many years ago...");
+ next();
+ mes("[Friar Patrick]");
+ mes("Anyone who fights for good will know, deep inside, that evil is threatening to conquer this world...");
+ next();
+ mes("[Friar Patrick]");
+ mes("Train more and use your skills to protect the world from evil's looming presence...");
break;
case 2:
- cutin "ins_cata_pri_n",2;
- mes "[Friar Patrick]";
- mes "Anyone who fights for good will know, deep inside, that evil is threatening to conquer this world...";
- next;
- mes "[Friar Patrick]";
- mes "Train more and use your skills to protect the world from evil's looming presence...";
+ cutin("ins_cata_pri_n", 2);
+ mes("[Friar Patrick]");
+ mes("Anyone who fights for good will know, deep inside, that evil is threatening to conquer this world...");
+ next();
+ mes("[Friar Patrick]");
+ mes("Train more and use your skills to protect the world from evil's looming presence...");
break;
}
break;
@@ -104,332 +103,323 @@ monk_test,309,146,3 script Friar Patrick#edq 4_M_OLDFRIAR,{
.@party_id = getcharid(CHAR_ID_PARTY);
- mes "[Friar Patrick]";
- mes "Do you mean you'll go to the shrine and reseal Baphomet?";
- next;
+ mes("[Friar Patrick]");
+ mes("Do you mean you'll go to the shrine and reseal Baphomet?");
+ next();
// 12 hour cooldown
- .@ins_bapho_check = questprogress(3040,PLAYTIME);
+ .@ins_bapho_check = questprogress(3040, PLAYTIME);
// Two hour play limit
- //.@ins_bapho_check2 = questprogress(3045,PLAYTIME);
+ //.@ins_bapho_check2 = questprogress(3045, PLAYTIME);
if (!.@ins_bapho_check) {
- if (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR) && instance_check_party(.@party_id,2,75)) {
- mes "[Friar Patrick]";
- mes "Party name is "+getpartyname(.@party_id)+"...";
- mes "Name of the leader is "+strcharinfo(PC_NAME)+"...";
- .@instance = instance_create("Sealed Catacomb",.@party_id);
- if (.@instance < 0) {
- mes "Umm... But it seems that there is a problem here... I'll check quickly. Please wait.";
- }
- else {
+ if (getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR) && instance_check_party(.@party_id, 2, 75)) {
+ mes("[Friar Patrick]");
+ mesf("Party name is %s...", getpartyname(.@party_id));
+ mesf("Name of the leader is %s...", strcharinfo(PC_NAME));
+ .@instance = instance_create(_("Sealed Catacomb"), .@party_id);
+ if (.@instance >= 0) {
for (.@i = 1; .@i <= 2; .@i++) {
- if( instance_attachmap(.@i + "@cata", .@instance) == "" ) {
- mes "Failed to attach "+.@i+"@cata as a map!";
+ if (instance_attachmap(.@i + "@cata", .@instance) == "") {
+ mes("Umm... But it seems that there is a problem here... I'll check quickly. Please wait.");
instance_destroy(.@instance);
- close;
+ close();
}
}
-
- instance_set_timeout 7200,300,.@instance;
+ instance_set_timeout(7200, 300, .@instance);
instance_init(.@instance);
-
- mes "Okay... I'll adjust the shrine's seal so that you and your group can enter.";
- next;
- mes "[Friar Patrick]";
- mes "You will see a sign when the seal has broken. Please wait until the sign appears...";
- next;
- mes "[Friar Patrick]";
- mes "When you see the sign, put your hands on the gravestone... Then you can move inside.";
- next;
- mes "[Friar Patrick]";
- mes "One thing that you should remember is... Anyone who enters this shrine will be cursed by Baphomet and cannot enter or leave while they are cursed.";
- next;
- mes "[Friar Patrick]";
- mes "And one more thing... In this cursed area, some skills, which are protected by outer physical power are prohibited by the effect of the seal.";
- next;
- mes "[Friar Patrick]";
- mes "For example, the skills like ^0000FFSafety Wall and Assumptio^000000... So you'd better prepare before entering the shrine.";
}
+ mes("Okay... I'll adjust the shrine's seal so that you and your group can enter.");
+ next();
+ mes("[Friar Patrick]");
+ mes("You will see a sign when the seal has broken. Please wait until the sign appears...");
+ next();
+ mes("[Friar Patrick]");
+ mes("When you see the sign, put your hands on the gravestone... Then you can move inside.");
+ next();
+ mes("[Friar Patrick]");
+ mes("One thing that you should remember is... Anyone who enters this shrine will be cursed by Baphomet and cannot enter or leave while they are cursed.");
+ next();
+ mes("[Friar Patrick]");
+ mes("And one more thing... In this cursed area, some skills, which are protected by outer physical power are prohibited by the effect of the seal.");
+ next();
+ mes("[Friar Patrick]");
+ mes("For example, the skills like ^0000FFSafety Wall and Assumptio^000000... So you'd better prepare before entering the shrine.");
+ } else {
+ mes("[Friar Patrick]");
+ mes("Umm... I recognize your courage, but... I can't permit anyone to enter this place. I can only permit the leader of a party to enter first.");
+ next();
+ mes("[Friar Patrick]");
+ mes("Once the party leader is permitted, the rest of the party can enter. This is a rule of this monastery, so please understand.");
}
- else {
- mes "[Friar Patrick]";
- mes "Umm... I recognize your courage, but... I can't permit anyone to enter this place. I can only permit the leader of a party to enter first.";
- next;
- mes "[Friar Patrick]";
- mes "Once the party leader is permitted, the rest of the party can enter. This is a rule of this monastery, so please understand.";
- }
- }
- else if (.@ins_bapho_check == 1) {
- mes "[Friar Patrick]";
- mes "It seems you have entered this shrine recently... You cannot reenter because Baphomet's Curse still remains. Baphomet's Curse disappears only after a certain amount of time has passed.";
+ } else if (.@ins_bapho_check == 1) {
+ mes("[Friar Patrick]");
+ mes("It seems you have entered this shrine recently... You cannot reenter because Baphomet's Curse still remains. Baphomet's Curse disappears only after a certain amount of time has passed.");
+ } else if (.@ins_bapho_check == 2) {
+ mes("[Friar Patrick]");
+ mes("Umm... It seems that Baphomet's Curse has weakened. I can remove it now.");
+ next();
+ mes("[Friar Patrick]");
+ mes("Haaaaaaap... Hocus Pocus Wingardium Abracadabra!!!!!");
+ next();
+ erasequest(3040);
+ if (questprogress(3041))
+ erasequest(3041);
+ if (questprogress(3045))
+ erasequest(3045);
+ mes("[Friar Patrick]");
+ mes("Huu... It's over. Now that I've released Baphomet's Curse, you can enter again.");
}
- else if (.@ins_bapho_check == 2) {
- mes "[Friar Patrick]";
- mes "Umm... It seems that Baphomet's Curse has weakened. I can remove it now.";
- next;
- mes "[Friar Patrick]";
- mes "Haaaaaaap... Hocus Pocus Wingardium Abracadabra!!!!!";
- next;
- erasequest 3040;
- if (questprogress(3041)) erasequest 3041;
- if (questprogress(3045)) erasequest 3045;
- mes "[Friar Patrick]";
- mes "Huu... It's over. Now that I've released Baphomet's Curse, you can enter again.";
- }
- }
- else {
- mes "[Friar Patrick]";
- mes "Umm... You should train more to enter this dangerous place... You should reach at least Lv 75 to enter here.";
- next;
- mes "[Friar Patrick]";
- mes "Please train more and come again.";
+ } else {
+ mes("[Friar Patrick]");
+ mes("Umm... You should train more to enter this dangerous place... You should reach at least Lv 75 to enter here.");
+ next();
+ mes("[Friar Patrick]");
+ mes("Please train more and come again.");
}
break;
case 3:
if (.@doll == 1) {
- mes "[Friar Patrick]";
- mes "That is... the villainous doll that you are holding... Let me see it.";
- next;
- mes "[Friar Patrick]";
- mes "... ... ...";
- next;
- mes "[Friar Patrick]";
- mes "That's correct... I can feel Baphomet's evil inside... So, what will you do with the doll?";
- next;
- mes "[Friar Patrick]";
- mes "It is just a dangerous and useless thing if you do nothing with it... I'll introduce someone who can help you... Do you want to see him?";
- next;
- mes "[Friar Patrick]";
- mes "Go to see ^0000FFRust Blackhand^000000 who is near the main building of the monastery... He will make this doll helpful to you.";
- setquest 3042;
+ mes("[Friar Patrick]");
+ mes("That is... the villainous doll that you are holding... Let me see it.");
+ next();
+ mes("[Friar Patrick]");
+ mes("... ... ...");
+ next();
+ mes("[Friar Patrick]");
+ mes("That's correct... I can feel Baphomet's evil inside... So, what will you do with the doll?");
+ next();
+ mes("[Friar Patrick]");
+ mes("It is just a dangerous and useless thing if you do nothing with it... I'll introduce someone who can help you... Do you want to see him?");
+ next();
+ mes("[Friar Patrick]");
+ mes("Go to see ^0000FFRust Blackhand^000000 who is near the main building of the monastery... He will make this doll helpful to you.");
+ setquest(3042);
break;
}
case 4:
- mes "[Friar Patrick]";
- mes "Anyone who fights for good will know, deep inside, that evil is threatening to conquer this world...";
- next;
- mes "[Friar Patrick]";
- mes "Train more and use your skills to protect the world from evil's looming presence...";
+ mes("[Friar Patrick]");
+ mes("Anyone who fights for good will know, deep inside, that evil is threatening to conquer this world...");
+ next();
+ mes("[Friar Patrick]");
+ mes("Train more and use your skills to protect the world from evil's looming presence...");
break;
}
- close2;
- cutin "",255;
+ close2();
+ cutin("", 255);
end;
}
monk_test,306,151,3 script Grave of Baphomet#edq HIDDEN_NPC,{
- if (countitem(Token_Of_Apostle)) delitem Token_Of_Apostle,countitem(Token_Of_Apostle);
- mes "This gravestone has a carving of a wicked devil with large horns. It arouses an ominous feeling.";
- next;
- if(select("Touch the stone.", "Step back.") == 2)
- close;
+ if (countitem(Token_Of_Apostle))
+ delitem(Token_Of_Apostle, countitem(Token_Of_Apostle));
+ mes("This gravestone has a carving of a wicked devil with large horns. It arouses an ominous feeling.");
+ next();
+ if (select("Touch the stone.", "Step back.") == 2)
+ close();
// 12 hour cooldown
- .@ins_bapho_check = questprogress(3040,PLAYTIME);
+ .@ins_bapho_check = questprogress(3040, PLAYTIME);
// Two hour play limit
- //.@ins_bapho_check2 = questprogress(3045,PLAYTIME);
+ //.@ins_bapho_check2 = questprogress(3045, PLAYTIME);
if (!.@ins_bapho_check) {
if (has_instance("1@cata") == "") {
- mes "It's cold to the touch. It doesn't respond.";
- close;
+ mes("It's cold to the touch. It doesn't respond.");
+ close();
} else {
- mapannounce "monk_test","[" + strcharinfo(PC_NAME) + "] member of the [" + getpartyname(.@party_id) + "] party has entered the Sealed Shrine.",bc_map,"0x00ff99";
- setquest 3040;
- warp "1@cata",100,224;
+ mapannounce("monk_test", sprintf(_$("[%s] member of the [%s] party has entered the Sealed Shrine."), strcharinfo(PC_NAME), getpartyname(.@party_id)), bc_map, C_SPRINGGREEN);
+ setquest(3040);
+ warp("1@cata", 100, 224);
end;
}
} else if (.@ins_bapho_check == 1) {
- mes "[Friar Patrick]";
- mes "It seems you have entered this shrine recently... You cannot reenter because the curse of Baphomet still remains.";
- mes "The curse of Baphomet disappears after a certain amount of time after you entered.";
- close;
+ mes("[Friar Patrick]");
+ mes("It seems you have entered this shrine recently... You cannot reenter because the curse of Baphomet still remains.");
+ mes("The curse of Baphomet disappears after a certain amount of time after you entered.");
+ close();
} else if (.@ins_bapho_check == 2) {
- mes "[Friar Patrick]";
- mes "Umm... It seems the curse of Baphomet weakened. I'll clear the bad curse.";
- next;
- mes "[Friar Patrick]";
- mes "Haaaaaaap... Wingardium Leviosa Expecto Patronum !!!!!";
- specialeffect2 EF_HOLYHIT;
- erasequest 3040;
- if (questprogress(3041)) erasequest 3041;
- if (questprogress(3045)) erasequest 3045;
- next;
- mes "[Friar Patrick]";
- mes "Huu... It's over. Now I released all of the curses on you. You can enter again.";
- close;
+ mes("[Friar Patrick]");
+ mes("Umm... It seems the curse of Baphomet weakened. I'll clear the bad curse.");
+ next();
+ mes("[Friar Patrick]");
+ mes("Haaaaaaap... Wingardium Leviosa Expecto Patronum !!!!!");
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
+ erasequest(3040);
+ if (questprogress(3041))
+ erasequest(3041);
+ if (questprogress(3045))
+ erasequest(3045);
+ next();
+ mes("[Friar Patrick]");
+ mes("Huu... It's over. Now I released all of the curses on you. You can enter again.");
+ close();
}
}
prt_monk,261,91,3 script Rust Blackhand#edq 4_M_DWARF,{
.@new_maje = questprogress(3043);
- mes "[Rust Blackhand]";
- mes "Who are you? What do you want me for?";
- next;
- mes "[Rust Blackhand]";
- mes "You're not a monk, then what do you want?";
- next;
+ mes("[Rust Blackhand]");
+ mes("Who are you? What do you want me for?");
+ next();
+ mes("[Rust Blackhand]");
+ mes("You're not a monk, then what do you want?");
+ next();
if (.@new_maje == 1) {
- mes "[Rust Blackhand]";
- mes "Did you bring all of the ingredients?";
- next;
- if (countitem(Bapho_Doll) && countitem(Magestic_Goat) && (countitem(Dark_Crystal) > 29) && (countitem(Dark_Debris) > 49) && (Zeny >= 990000)) {
- mes "[Rust Blackhand]";
- mes "kkk... You prepared the ingredients well. Why don't you leave it there and wait?";
- next;
- mes "[Rust Blackhand]";
- mes "Hmm... It's been such a long time since I last saw these wicked horns... kkk... Let me start...";
- next;
- mes "...";
- next;
- mes "... ...";
- next;
- mes "... ... ...";
- next;
- delitem Bapho_Doll,1;
- delitem Magestic_Goat,1;
- delitem Dark_Crystal,30;
- delitem Dark_Debris,50;
+ mes("[Rust Blackhand]");
+ mes("Did you bring all of the ingredients?");
+ next();
+ if (countitem(Bapho_Doll) && countitem(Magestic_Goat) && countitem(Dark_Crystal) > 29 && countitem(Dark_Debris) > 49 && Zeny >= 990000) {
+ mes("[Rust Blackhand]");
+ mes("kkk... You prepared the ingredients well. Why don't you leave it there and wait?");
+ next();
+ mes("[Rust Blackhand]");
+ mes("Hmm... It's been such a long time since I last saw these wicked horns... kkk... Let me start...");
+ next();
+ mes("...");
+ next();
+ mes("... ...");
+ next();
+ mes("... ... ...");
+ next();
+ delitem(Bapho_Doll, 1);
+ delitem(Magestic_Goat, 1);
+ delitem(Dark_Crystal, 30);
+ delitem(Dark_Debris, 50);
Zeny -= 990000;
- completequest 3043;
- getitem L_Magestic_Goat,1;
- mes "[Rust Blackhand]";
- mes "It's done. You may be excited, of course. I understand...";
- next;
- mes "[Rust Blackhand]";
- mes "I don't accept complaints or A/S requests, so use it with care. I must go...";
- close;
- }
- else {
- mes "[Rust Blackhand]";
- mes "Huu... You don't understand what I said. You cannot make anything with these ingredients.";
- next;
- mes "[Rust Blackhand]";
- mes "I'll tell you the ingredients one more time, so please gather them correctly.";
- next;
- mes "[Rust Blackhand]";
- mes "^0000FFCursed Baphomet Doll, Magestic Goat, 30 Crystal of Darkness, 50 Fragment of Darkness^000000, and the most important, production cost is ^0000FF990000^000000 Zeny.";
- close;
+ completequest(3043);
+ getitem(L_Magestic_Goat, 1);
+ mes("[Rust Blackhand]");
+ mes("It's done. You may be excited, of course. I understand...");
+ next();
+ mes("[Rust Blackhand]");
+ mes("I don't accept complaints or A/S requests, so use it with care. I must go...");
+ close();
+ } else {
+ mes("[Rust Blackhand]");
+ mes("Huu... You don't understand what I said. You cannot make anything with these ingredients.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("I'll tell you the ingredients one more time, so please gather them correctly.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("^0000FFCursed Baphomet Doll, Magestic Goat, 30 Crystal of Darkness, 50 Fragment of Darkness^000000, and the most important, production cost is ^0000FF990000^000000 Zeny.");
+ close();
}
- }
- else if (!.@new_maje && countitem(Bapho_Doll) > 0) {
- switch(select("About the Cursed Baphomet Doll", "Stop talking.")) {
+ } else if (!.@new_maje && countitem(Bapho_Doll) > 0) {
+ switch (select("About the Cursed Baphomet Doll", "Stop talking.")) {
case 1:
- mes "[Rust Blackhand]";
- mes "What?... Hmmm... Did you get the doll? You're pretty good, unlike your appearance...";
- next;
- mes "[Rust Blackhand]";
- mes "Let me see... Needless to say, Patric must have sent you here to deal with the doll, right?";
- next;
- mes "[Rust Blackhand]";
- mes "Cool... I'll help you make the evil doll useful. What? What can I do?";
- next;
- mes "[Rust Blackhand]";
- mes "I can make the strong and large horns of the wicked devil Baphomet for you. A helm that has his immense power.";
- next;
- mes "[Rust Blackhand]";
- mes "It is called the ^4d4dffGigantic Magestic Goat^000000. You'll realize that the Magestic Goat you're familiar with is nothing in comparison.";
- next;
- mes "[Rust Blackhand]";
- mes "The Cursed Baphomet Doll is the most important ingredient... I'll make you if you want. What would you like to do?";
- next;
- switch(select("I want to make one!", "I don't need one.")) {
+ mes("[Rust Blackhand]");
+ mes("What?... Hmmm... Did you get the doll? You're pretty good, unlike your appearance...");
+ next();
+ mes("[Rust Blackhand]");
+ mes("Let me see... Needless to say, Patric must have sent you here to deal with the doll, right?");
+ next();
+ mes("[Rust Blackhand]");
+ mes("Cool... I'll help you make the evil doll useful. What? What can I do?");
+ next();
+ mes("[Rust Blackhand]");
+ mes("I can make the strong and large horns of the wicked devil Baphomet for you. A helm that has his immense power.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("It is called the ^4d4dffGigantic Magestic Goat^000000. You'll realize that the Magestic Goat you're familiar with is nothing in comparison.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("The Cursed Baphomet Doll is the most important ingredient... I'll make you if you want. What would you like to do?");
+ next();
+ switch (select("I want to make one!", "I don't need one.")) {
case 1:
- mes "[Rust Blackhand]";
- mes "kkk... Yes, wise men take their chances when the opportunity comes. I'll tell you the ingredients. Don't forget, and bring them all.";
- next;
- mes "[Rust Blackhand]";
- mes "^0000FFCursed Baphomet Doll, Magestic Goat, 30 Crystal of Darkness, 50 Fragment of Darkness^000000, and the most important, production cost is ^0000FF990000^000000 Zeny.";
- next;
- mes "[Rust Blackhand]";
- mes "You can get the Magestic Goat from the weak Baphomet in the Labyrinth Forest. Crystal of Darkness and Fragment of Darkness are from the Incarnation of Morocc.";
- next;
- mes "[Rust Blackhand]";
- mes "I'm sure that you can get the ingredients because you sealed the real Baphomet. Can't you? kkk...";
- next;
- mes "[Rust Blackhand]";
- mes "You'll never know how great this hat is until you get one. If you understood, go and get the ingredients.";
+ mes("[Rust Blackhand]");
+ mes("kkk... Yes, wise men take their chances when the opportunity comes. I'll tell you the ingredients. Don't forget, and bring them all.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("^0000FFCursed Baphomet Doll, Magestic Goat, 30 Crystal of Darkness, 50 Fragment of Darkness^000000, and the most important, production cost is ^0000FF990000^000000 Zeny.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("You can get the Magestic Goat from the weak Baphomet in the Labyrinth Forest. Crystal of Darkness and Fragment of Darkness are from the Incarnation of Morocc.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("I'm sure that you can get the ingredients because you sealed the real Baphomet. Can't you? kkk...");
+ next();
+ mes("[Rust Blackhand]");
+ mes("You'll never know how great this hat is until you get one. If you understood, go and get the ingredients.");
if (questprogress(3042))
- erasequest 3042;
- setquest 3043;
- close;
+ erasequest(3042);
+ setquest(3043);
+ close();
case 2:
- mes "[Rust Blackhand]";
- mes "Huh... Do you? Do whatever you want... Do you really want to let this opportunity go to waste?";
- next;
- mes "[Rust Blackhand]";
- mes "Tut, tut... I don't care if the wicked doll threatens your life all the time!";
- close;
+ mes("[Rust Blackhand]");
+ mes("Huh... Do you? Do whatever you want... Do you really want to let this opportunity go to waste?");
+ next();
+ mes("[Rust Blackhand]");
+ mes("Tut, tut... I don't care if the wicked doll threatens your life all the time!");
+ close();
}
case 2:
- mes "[Rust Blackhand]";
- mes "What a dull boy he is... huh...";
- close;
+ mes("[Rust Blackhand]");
+ mes("What a dull boy he is... huh...");
+ close();
}
- }
- else if (!.@new_maje && !countitem(Bapho_Doll)) {
- mes "[Rust Blackhand]";
- mes "If you don't have business with me, go away! As you see, I make equipment for the Brothers at the monastery, not for adventurers like you. Do you understand?";
- close;
- }
- else if (.@new_maje == 2 && countitem(Bapho_Doll)) {
- switch(select("About the Cursed Baphomet Doll", "Stop talking.")) {
+ } else if (!.@new_maje && !countitem(Bapho_Doll)) {
+ mes("[Rust Blackhand]");
+ mes("If you don't have business with me, go away! As you see, I make equipment for the Brothers at the monastery, not for adventurers like you. Do you understand?");
+ close();
+ } else if (.@new_maje == 2 && countitem(Bapho_Doll)) {
+ switch (select("About the Cursed Baphomet Doll", "Stop talking.")) {
case 1:
- mes "[Rust Blackhand]";
- mes "What?... You again? What do you want this time?";
- next;
- mes "[Rust Blackhand]";
- mes "What? You got another doll from the wicked devil? Umm... You're much better than I thought...";
- next;
- mes "[Rust Blackhand]";
- mes "Alright... I'll help you again.";
- next;
- mes "[Rust Blackhand]";
- mes "If you want to make the doll into a ^4d4dffGigantic Magestic Goat^000000 again, I can make you another.";
- next;
- mes "[Rust Blackhand]";
- mes "I'll tell you the ingredients again. So, do you want to make?";
- next;
- switch(select("I want.", "No, I don't want.")) {
+ mes("[Rust Blackhand]");
+ mes("What?... You again? What do you want this time?");
+ next();
+ mes("[Rust Blackhand]");
+ mes("What? You got another doll from the wicked devil? Umm... You're much better than I thought...");
+ next();
+ mes("[Rust Blackhand]");
+ mes("Alright... I'll help you again.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("If you want to make the doll into a ^4d4dffGigantic Magestic Goat^000000 again, I can make you another.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("I'll tell you the ingredients again. So, do you want to make?");
+ next();
+ switch (select("I want.", "No, I don't want.")) {
case 1:
- mes "[Rust Blackhand]";
- mes "kkk... Yes, wise men take their chances when the opportunity comes. I'll tell you the ingredients. Don't forget, and bring them all.";
- next;
- mes "[Rust Blackhand]";
- mes "^0000FFCursed Baphomet Doll, Magestic Goat, 30 Crystal of Darkness, 50 Fragment of Darkness^000000, and the most important, production cost is ^0000FF990000^000000 Zeny.";
- next;
- mes "[Rust Blackhand]";
- mes "You can get the Magestic Goat from the weak Baphomet in the Labyrinth Forest. Crystal of Darkness and Fragment of Darkness are from the Incarnation of Morocc.";
- next;
- mes "[Rust Blackhand]";
- mes "I'm sure that you can get the ingredients because you sealed the real Baphomet. Can't you? kkk...";
- next;
- mes "[Rust Blackhand]";
- mes "You'll never know how great this hat is until you get one. If you understood, go and get the ingredients.";
+ mes("[Rust Blackhand]");
+ mes("kkk... Yes, wise men take their chances when the opportunity comes. I'll tell you the ingredients. Don't forget, and bring them all.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("^0000FFCursed Baphomet Doll, Magestic Goat, 30 Crystal of Darkness, 50 Fragment of Darkness^000000, and the most important, production cost is ^0000FF990000^000000 Zeny.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("You can get the Magestic Goat from the weak Baphomet in the Labyrinth Forest. Crystal of Darkness and Fragment of Darkness are from the Incarnation of Morocc.");
+ next();
+ mes("[Rust Blackhand]");
+ mes("I'm sure that you can get the ingredients because you sealed the real Baphomet. Can't you? kkk...");
+ next();
+ mes("[Rust Blackhand]");
+ mes("You'll never know how great this hat is until you get one. If you understood, go and get the ingredients.");
if (questprogress(3042))
- erasequest 3042;
- erasequest 3043;
- setquest 3043;
- close;
+ erasequest(3042);
+ erasequest(3043);
+ setquest(3043);
+ close();
case 2:
- mes "[Rust Blackhand]";
- mes "Huh... Do you? Do whatever you want... Do you really want to let this opportunity go to waste?";
- next;
- mes "[Rust Blackhand]";
- mes "Tut, tut... I don't care if the wicked doll threatens your life all the time!";
- close;
+ mes("[Rust Blackhand]");
+ mes("Huh... Do you? Do whatever you want... Do you really want to let this opportunity go to waste?");
+ next();
+ mes("[Rust Blackhand]");
+ mes("Tut, tut... I don't care if the wicked doll threatens your life all the time!");
+ close();
}
case 2:
- mes "[Rust Blackhand]";
- mes "What a dull boy he is... huh...";
- close;
+ mes("[Rust Blackhand]");
+ mes("What a dull boy he is... huh...");
+ close();
}
- }
- else if (.@new_maje == 2 && !countitem(Bapho_Doll)) {
- mes "[Rust Blackhand]";
- mes "Why are you hanging around here? If you don't want a ^4d4dffGigantic Magestic Goat^000000, go away.";
- close;
+ } else if (.@new_maje == 2 && !countitem(Bapho_Doll)) {
+ mes("[Rust Blackhand]");
+ mes("Why are you hanging around here? If you don't want a ^4d4dffGigantic Magestic Goat^000000, go away.");
+ close();
}
}
@@ -437,18 +427,17 @@ prt_monk,261,91,3 script Rust Blackhand#edq 4_M_DWARF,{
1@cata,1,2,0 script ins_baphomet_lotto FAKE_NPC,{
OnInstanceInit:
// Pick one "true" Gravestone and 12 "false" Gravestones.
- .@true = rand(1,13);
- for (.@i = 1; .@i <= 13; ++.@i) {
- disablenpc instance_npcname("Gravestone#1F_"+.@i+((.@i == .@true)?"T":"F"));
- }
- disablenpc instance_npcname("ins_baphomet_lotto");
+ .@true = rand(1, 13);
+ for (.@i = 1; .@i <= 13; ++.@i)
+ disablenpc(instance_npcname("Gravestone#1F_"+.@i+((.@i == .@true)?"T":"F")));
+ disablenpc(instance_npcname("ins_baphomet_lotto"));
end;
}
1@cata,3,2,0 script ins_baphomet_lotto2 FAKE_NPC,{
OnEnable:
for (.@i = 1; .@i <= 12; ++.@i)
- enablenpc instance_npcname("Bobbing Torch#"+.@i);
+ enablenpc(instance_npcname("Bobbing Torch#"+.@i));
end;
}
@@ -456,33 +445,32 @@ OnEnable:
OnEnable:
.@label$ = instance_npcname("ins_baphomet_lotto3")+"::OnMyMobDead";
.@map$ = instance_mapname("1@cata");
- monster .@map$,0,0,"Apostle of Baphomet",1869,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1291,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1869,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1291,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1869,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1291,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1869,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1132,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1117,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1132,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1117,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1132,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1291,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1117,1,.@label$;
- monster .@map$,0,0,"Apostle of Baphomet",1869,1,.@label$;
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), FLAME_SKULL, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), WRAITH_DEAD, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), FLAME_SKULL, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), WRAITH_DEAD, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), FLAME_SKULL, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), WRAITH_DEAD, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), FLAME_SKULL, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), KHALITZBURG, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), EVIL_DRUID, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), KHALITZBURG, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), EVIL_DRUID, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), KHALITZBURG, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), WRAITH_DEAD, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), EVIL_DRUID, 1, .@label$);
+ monster(.@map$, 0, 0, _("Apostle of Baphomet"), FLAME_SKULL, 1, .@label$);
end;
OnDisable:
- killmonster instance_mapname("1@cata"),instance_npcname("ins_baphomet_lotto3")+"::OnMyMobDead";
+ killmonster(instance_mapname("1@cata"), instance_npcname("ins_baphomet_lotto3")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@cata");
- if (mobcount(.@map$,instance_npcname("ins_baphomet_lotto3")+"::OnMyMobDead") < 1) {
- mapannounce .@map$, "All apostles of Baphomet are dead!",bc_map,"0x00ff99";
- }
- getitem Token_Of_Apostle,1;
+ if (mobcount(.@map$, instance_npcname("ins_baphomet_lotto3")+"::OnMyMobDead") < 1)
+ mapannounce(.@map$, _("All apostles of Baphomet are dead!"), bc_map, C_SPRINGGREEN);
+ getitem(Token_Of_Apostle, 1);
end;
}
@@ -490,102 +478,98 @@ OnMyMobDead:
1@cata,141,221,0 script Gravestone# CLEAR_NPC,3,3,{
.@party_id = getcharid(CHAR_ID_PARTY);
if ('ins_baphomet == 0) {
- mes "The gravestone is trembling...";
- next;
- mes "When touching the gravestone, I hear a voice.";
- next;
- specialeffect2 EF_CONE;
- mes "[Voice of the Gravestone]";
- mes "I have waited and waited for a brave adventurer like you who will come back here again...";
- next;
- while(1) {
- switch(select("Who are you?", "Waited for me?", "Cancel.")) {
+ mes("The gravestone is trembling...");
+ next();
+ mes("When touching the gravestone, I hear a voice.");
+ next();
+ specialeffect(EF_CONE, AREA, playerattached());
+ mes("[Voice of the Gravestone]");
+ mes("I have waited and waited for a brave adventurer like you who will come back here again...");
+ next();
+ while (true) {
+ switch (select("Who are you?", "Waited for me?", "Cancel.")) {
case 1:
- mes "[Voice of the Gravestone]";
- mes "I was one of the warriors to stop Baphomet like you. Now, I'm dead and only my soul remains...";
- next;
- mes "[Voice of the Gravestone]";
- mes "As you know... We don't have much time. You can't stop Baphomet by yourselves. The power of the devil has strengthened over the years.";
- next;
- mes "[Voice of the Gravestone]";
- mes "In the past, my companions and I sealed Baphomet at the altar located on the 2nd basement and blocked the entrance.";
- next;
- mes "[Voice of the Gravestone]";
- mes "I moved my soul's essence to my pendant, so that I could remain in this world. That's when I became this grave's guardian.";
- next;
+ mes("[Voice of the Gravestone]");
+ mes("I was one of the warriors to stop Baphomet like you. Now, I'm dead and only my soul remains...");
+ next();
+ mes("[Voice of the Gravestone]");
+ mes("As you know... We don't have much time. You can't stop Baphomet by yourselves. The power of the devil has strengthened over the years.");
+ next();
+ mes("[Voice of the Gravestone]");
+ mes("In the past, my companions and I sealed Baphomet at the altar located on the 2nd basement and blocked the entrance.");
+ next();
+ mes("[Voice of the Gravestone]");
+ mes("I moved my soul's essence to my pendant, so that I could remain in this world. That's when I became this grave's guardian.");
+ next();
break;
case 2:
- mes "[Voice of the Gravestone]";
- mes "Baphomet's power is about to break the seal that we made. If you don't reactivate them... Baphomet's revival will only be a matter of time.";
- next;
- mes "[Voice of the Gravestone]";
- mes "To open the entrance, you must substantialize my soul. I'll open the entrance and reactivate the weakened seals after I am substantilized.";
- next;
- mes "[Voice of the Gravestone]";
- mes "To substantialize my soul, you should find my pendant. You can find my body near a grave here.";
- next;
- mes "[Voice of the Gravestone]";
- mes "If your ^0000FFparty leader^000000 brings me the pendant, my soul can be substantialized. So, hurry up.";
+ mes("[Voice of the Gravestone]");
+ mes("Baphomet's power is about to break the seal that we made. If you don't reactivate them... Baphomet's revival will only be a matter of time.");
+ next();
+ mes("[Voice of the Gravestone]");
+ mes("To open the entrance, you must substantialize my soul. I'll open the entrance and reactivate the weakened seals after I am substantilized.");
+ next();
+ mes("[Voice of the Gravestone]");
+ mes("To substantialize my soul, you should find my pendant. You can find my body near a grave here.");
+ next();
+ mes("[Voice of the Gravestone]");
+ mes("If your ^0000FFparty leader^000000 brings me the pendant, my soul can be substantialized. So, hurry up.");
'ins_baphomet = 1;
- close;
+ close();
case 3:
- mes "I can feel the voice becoming faint.";
- close;
+ mes("I can feel the voice becoming faint.");
+ close();
}
}
- }
- else if ('ins_baphomet == 1) {
- mes "[Voice of the Gravestone]";
- mes "To open the entrance, you must substantialize my soul. I'll open the entrance and reactivate the weakened seals after I am substantilized.";
- next;
- mes "[Voice of the Gravestone]";
- mes "To substantialize my soul, you should find my pendant. You can find my body near a grave here.";
- next;
- mes "[Voice of the Gravestone]";
- mes "If your ^0000FFparty leader^000000 brings me the pendant, my soul can be substantialized. So, hurry up.";
- close;
- }
- else if (('ins_baphomet == 2) && (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR))) {
- mes "[Voice of the Gravestone]";
- mes "Did you find the pendant?";
- next;
+ } else if ('ins_baphomet == 1) {
+ mes("[Voice of the Gravestone]");
+ mes("To open the entrance, you must substantialize my soul. I'll open the entrance and reactivate the weakened seals after I am substantilized.");
+ next();
+ mes("[Voice of the Gravestone]");
+ mes("To substantialize my soul, you should find my pendant. You can find my body near a grave here.");
+ next();
+ mes("[Voice of the Gravestone]");
+ mes("If your ^0000FFparty leader^000000 brings me the pendant, my soul can be substantialized. So, hurry up.");
+ close();
+ } else if ('ins_baphomet == 2 && getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) {
+ mes("[Voice of the Gravestone]");
+ mes("Did you find the pendant?");
+ next();
if (countitem(Soul_Pendant) > 0) {
- specialeffect EF_MAPPILLAR;
- mes "[Voice of the Gravestone]";
- mes "Yes... This is... My pendant...";
- next;
- delitem Soul_Pendant,1;
- enablenpc instance_npcname("Ancient Hero's Soul#1F");
- disablenpc instance_npcname("Gravestone#");
- mes "[Voice of the Gravestone]";
- mes "Now I can substantialize my soul. I'll wait for you in front of the altar of fire located at the center of this grave. Let's meet there.";
- next;
- mapannounce instance_mapname("1@cata"), "Ancient Hero's Soul : I'll wait for you in front of the altar of fire located at the center",bc_map,"0xFFFF00";
- mes "I can feel the voice becoming faint.";
- close;
- }
- else {
- mes "[Voice of the Gravestone]";
- mes "Are you still there? Bring back my pendant as soon as possible.";
- next;
- mes "[Voice of the Gravestone]";
- mes "You can find my body near a grave here. Go and get my pendant there.";
- close;
+ specialeffect(EF_MAPPILLAR);
+ mes("[Voice of the Gravestone]");
+ mes("Yes... This is... My pendant...");
+ next();
+ delitem(Soul_Pendant, 1);
+ enablenpc(instance_npcname("Ancient Hero's Soul#1F"));
+ disablenpc(instance_npcname("Gravestone#"));
+ mes("[Voice of the Gravestone]");
+ mes("Now I can substantialize my soul. I'll wait for you in front of the altar of fire located at the center of this grave. Let's meet there.");
+ next();
+ mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : I'll wait for you in front of the altar of fire located at the center"), bc_map, C_YELLOW);
+ mes("I can feel the voice becoming faint.");
+ close();
+ } else {
+ mes("[Voice of the Gravestone]");
+ mes("Are you still there? Bring back my pendant as soon as possible.");
+ next();
+ mes("[Voice of the Gravestone]");
+ mes("You can find my body near a grave here. Go and get my pendant there.");
+ close();
}
- }
- else {
- mes "[Voice of the Gravestone]";
- mes "I want to talk to ^0000FFa representative among your party^000000. Everyone else, wait here.";
- close;
+ } else {
+ mes("[Voice of the Gravestone]");
+ mes("I want to talk to ^0000FFa representative among your party^000000. Everyone else, wait here.");
+ close();
}
end;
OnTouch:
if ('ins_baphomet == 0) {
- mes "'Krrrr... Krrrr...'";
- next;
- mes "I can feel something odd at the grave. It's like someone is calling out silently...";
- close;
+ mes("'Krrrr... Krrrr...'");
+ next();
+ mes("I can feel something odd at the grave. It's like someone is calling out silently...");
+ close();
}
end;
@@ -596,220 +580,210 @@ OnInstanceInit: // Temporary fix for @reloadscript.
1@cata,176,119,4 script Ancient Hero's Soul#1F 4_M_CHAMPSOUL,{
.@party_id = getcharid(CHAR_ID_PARTY);
- cutin "ins_cata_champ_n",2;
+ cutin("ins_cata_champ_n", 2);
if ('ins_baphomet == 2) {
- mes "[Ancient Hero's Soul]";
- mes "With your help, my soul can be substantialized. I want to talk more, but we do not have enough time...";
- next;
- mes "[Ancient Hero's Soul]";
- mes "I must be substantialized within the next hour. To reach the Main Altar underground, you must help me perform the ceremony for opening each seal.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "Now I'll tell you what should you do. First, collect ^0000FFEssence of Fire^000000 from the torches on the graves...";
- next;
- mes "[Ancient Hero's Soul]";
- mes "Second, all members who will enter the underground must carry a symbol, called the Token of Apostle.";
- next;
- while(1) {
- cutin "ins_cata_champ_n",2;
- switch(select("What is Essence of Fire?", "What is a Token of Apostle?", "What should I do?", "I am ready.")) {
+ mes("[Ancient Hero's Soul]");
+ mes("With your help, my soul can be substantialized. I want to talk more, but we do not have enough time...");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("I must be substantialized within the next hour. To reach the Main Altar underground, you must help me perform the ceremony for opening each seal.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("Now I'll tell you what should you do. First, collect ^0000FFEssence of Fire^000000 from the torches on the graves...");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("Second, all members who will enter the underground must carry a symbol, called the Token of Apostle.");
+ next();
+ while (true) {
+ cutin("ins_cata_champ_n", 2);
+ switch (select("What is Essence of Fire?", "What is a Token of Apostle?", "What should I do?", "I am ready.")) {
case 1:
++.@ins_baphomet_1f_1;
- mes "[Ancient Hero's Soul]";
- mes "You can see the torches here and there. These torches are the essence of Thor, the god of Thunder. They are inherited from our predecessors to stop the darkness of Baphomet...";
- next;
- mes "[Ancient Hero's Soul]";
- mes "To open the sealed underground gate, I must be purified by the ^0000FFEssence of Fire^000000 which has the power of Thor. Collect ^0000FF10 Essence of Fire^000000 from the torches.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "One thing you must remember is... ^0000FFEssence of Fire^000000 can only be collected by the Inheritor of Faith.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "I'll give the token of the Inheritor of Faith to the party leader. Only the party leader can collect the ^0000FFEssence of Fire^000000.";
- next;
+ mes("[Ancient Hero's Soul]");
+ mes("You can see the torches here and there. These torches are the essence of Thor, the god of Thunder. They are inherited from our predecessors to stop the darkness of Baphomet...");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("To open the sealed underground gate, I must be purified by the ^0000FFEssence of Fire^000000 which has the power of Thor. Collect ^0000FF10 Essence of Fire^000000 from the torches.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("One thing you must remember is... ^0000FFEssence of Fire^000000 can only be collected by the Inheritor of Faith.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("I'll give the token of the Inheritor of Faith to the party leader. Only the party leader can collect the ^0000FFEssence of Fire^000000.");
+ next();
break;
case 2:
++.@ins_baphomet_1f_2;
- mes "[Ancient Hero's Soul]";
- mes "At that time, it was impossible to get rid of Devil Baphomet by ourselves. After numerous heroes sacrificed their lives, we could barely seal him under this Abbey.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "However, Baphomet never gave up. He continuously strengthened his power. And his power has brought new life to this shrine.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "Some of these monsters have magical powers. Baphomet calls them his 'Apostles'.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "The apostles are cloning themselves to fill the shrine with their evil energy. They are the monsters here in this catacomb.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "Kill the Apostles. They can only be distinguished from their clones because they will possess a ^0000FFToken of Apostle^000000...";
- next;
- mes "[Ancient Hero's Soul]";
- mes "If each party member possesses a ^0000FFToken of Apostle^000000, Baphomet will not be able to perceive your entrance to the Main Altar underground.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "If Baphomet perceives you when you pass through the sealed gate, he may release his tremendous magical power. Then, this abbey will be demolished.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "Kill the apostles and get the ^0000FFToken of Apostle^000000.";
- next;
+ mes("[Ancient Hero's Soul]");
+ mes("At that time, it was impossible to get rid of Devil Baphomet by ourselves. After numerous heroes sacrificed their lives, we could barely seal him under this Abbey.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("However, Baphomet never gave up. He continuously strengthened his power. And his power has brought new life to this shrine.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("Some of these monsters have magical powers. Baphomet calls them his 'Apostles'.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("The apostles are cloning themselves to fill the shrine with their evil energy. They are the monsters here in this catacomb.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("Kill the Apostles. They can only be distinguished from their clones because they will possess a ^0000FFToken of Apostle^000000...");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("If each party member possesses a ^0000FFToken of Apostle^000000, Baphomet will not be able to perceive your entrance to the Main Altar underground.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("If Baphomet perceives you when you pass through the sealed gate, he may release his tremendous magical power. Then, this abbey will be demolished.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("Kill the apostles and get the ^0000FFToken of Apostle^000000.");
+ next();
break;
case 3:
++.@ins_baphomet_1f_3;
- if (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR)) {
- mes "[Ancient Hero's Soul]";
- mes "You look like the leader of this party. You need to go and get ^0000FF10 Essence of Fire^000000 from the torches.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "Now I'll carve you the symbol which shows you're a inheritor of faith. Be aware that no one in your party but you can collect the Essence of Fire.";
- next;
- specialeffect2 EF_HOLYHIT;
- mes "[Ancient Hero's Soul]";
- mes "You should also carry a ^0000FFToken of Apostle^000000, so find one for yourself too.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "When all of you are ready to go, let me know. I'll open the sealed gate when you're ready.";
- next;
- }
- else {
- mes "[Ancient Hero's Soul]";
- mes "Make sure that your party leader has listened to my explanation of what you and your companions must do.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "Kill the Apostles of Baphomet and find their ^0000FFToken of Apostle^000000.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "It might be better to kill all of them because there is no way to differentiate them from their clones.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "Are you ready?";
- mes "Make sure that you have listened to all that I have to say before saying that you are ready.";
- next;
+ if (getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) {
+ mes("[Ancient Hero's Soul]");
+ mes("You look like the leader of this party. You need to go and get ^0000FF10 Essence of Fire^000000 from the torches.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("Now I'll carve you the symbol which shows you're a inheritor of faith. Be aware that no one in your party but you can collect the Essence of Fire.");
+ next();
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
+ mes("[Ancient Hero's Soul]");
+ mes("You should also carry a ^0000FFToken of Apostle^000000, so find one for yourself too.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("When all of you are ready to go, let me know. I'll open the sealed gate when you're ready.");
+ next();
+ } else {
+ mes("[Ancient Hero's Soul]");
+ mes("Make sure that your party leader has listened to my explanation of what you and your companions must do.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("Kill the Apostles of Baphomet and find their ^0000FFToken of Apostle^000000.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("It might be better to kill all of them because there is no way to differentiate them from their clones.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("Are you ready?");
+ mes("Make sure that you have listened to all that I have to say before saying that you are ready.");
+ next();
}
break;
case 4:
- if ((.@ins_baphomet_1f_1 > 0) && (.@ins_baphomet_1f_2 > 0) && (.@ins_baphomet_1f_3 > 0)) {
- cutin "ins_cata_champ_n",2;
- mes "[Ancient Hero's Soul]";
- mes "Are you ready to go? Then I'll open this sealed gate now.";
- next;
+ if (.@ins_baphomet_1f_1 > 0 && .@ins_baphomet_1f_2 > 0 && .@ins_baphomet_1f_3 > 0) {
+ cutin("ins_cata_champ_n", 2);
+ mes("[Ancient Hero's Soul]");
+ mes("Are you ready to go? Then I'll open this sealed gate now.");
+ next();
.@exitloop = 1;
- }
- else {
- cutin "ins_cata_champ_a",2;
- mes "[Ancient Hero's Soul]";
- mes "It may be difficult but I wish you luck braving the perils of this catacomb.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "Remember, you need to collect ^0000FF10 Essence of Fire^000000 from the torches and the ^0000FFToken of Apostle^000000 from the Apostles of Baphomet.";
- next;
+ } else {
+ cutin("ins_cata_champ_a", 2);
+ mes("[Ancient Hero's Soul]");
+ mes("It may be difficult but I wish you luck braving the perils of this catacomb.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("Remember, you need to collect ^0000FF10 Essence of Fire^000000 from the torches and the ^0000FFToken of Apostle^000000 from the Apostles of Baphomet.");
+ next();
}
break;
}
- if (.@exitloop) break;
+ if (.@exitloop)
+ break;
}
- if (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR)) {
- mes "[Ancient Hero's Soul]";
- mes "To remind you again, I must be substantialized within the next hour. So everyone, finish your work within that time!";
+ if (getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) {
+ mes("[Ancient Hero's Soul]");
+ mes("To remind you again, I must be substantialized within the next hour. So everyone, finish your work within that time!");
'ins_baphomet = 3;
- donpcevent instance_npcname("ins_baphomet_1f_timer")+"::OnEnable";
- donpcevent instance_npcname("ins_baphomet_lotto2")+"::OnEnable";
- donpcevent instance_npcname("ins_baphomet_lotto3")+"::OnEnable";
- }
- else {
- mes "[Ancient Hero's Soul]";
- mes "To remind you again, I can be substantialized for the next hour. So everyone, finish your work within that time.";
+ donpcevent(instance_npcname("ins_baphomet_1f_timer")+"::OnEnable");
+ donpcevent(instance_npcname("ins_baphomet_lotto2")+"::OnEnable");
+ donpcevent(instance_npcname("ins_baphomet_lotto3")+"::OnEnable");
+ } else {
+ mes("[Ancient Hero's Soul]");
+ mes("To remind you again, I can be substantialized for the next hour. So everyone, finish your work within that time.");
//'ins_baphomet = 3;
}
- close2;
- cutin "",255;
+ close2();
+ cutin("", 255);
end;
- }
- else if (('ins_baphomet == 3) && (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR))) {
- cutin "ins_cata_champ_n",2;
- mes "[Ancient Hero's Soul]";
- mes "Did you get 10 ^0000FFEssence of Fire^000000 and ^0000FFToken of Apostle^000000?";
- next;
- if ((countitem(Essence_Of_Fire) > 9) && (countitem(Token_Of_Apostle) > 0)) {
- delitem Essence_Of_Fire,countitem(Essence_Of_Fire);
+ } else if ('ins_baphomet == 3 && getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) {
+ cutin("ins_cata_champ_n", 2);
+ mes("[Ancient Hero's Soul]");
+ mes("Did you get 10 ^0000FFEssence of Fire^000000 and ^0000FFToken of Apostle^000000?");
+ next();
+ if (countitem(Essence_Of_Fire) > 9 && countitem(Token_Of_Apostle) > 0) {
+ delitem(Essence_Of_Fire, countitem(Essence_Of_Fire));
'ins_baphomet = 4;
- mes "[Ancient Hero's Soul]";
- mes "Okay. You've done your work. Now check your companions and tell me when everyone has finished their work.";
- }
- else {
- mes "[Ancient Hero's Soul]";
- mes "Not ready yet? You should prepare 10 ^0000FFEssence of Fire^000000 and ^0000FFToken of Apostle^000000.";
+ mes("[Ancient Hero's Soul]");
+ mes("Okay. You've done your work. Now check your companions and tell me when everyone has finished their work.");
+ } else {
+ mes("[Ancient Hero's Soul]");
+ mes("Not ready yet? You should prepare 10 ^0000FFEssence of Fire^000000 and ^0000FFToken of Apostle^000000.");
}
- close2;
- cutin "",255;
+ close2();
+ cutin("", 255);
end;
- }
- else if ('ins_baphomet == 3) {
- cutin "ins_cata_champ_n",2;
- mes "[Ancient Hero's Soul]";
- mes "Do you have a ^0000FFToken of Apostle^000000?";
- next;
+ } else if ('ins_baphomet == 3) {
+ cutin("ins_cata_champ_n", 2);
+ mes("[Ancient Hero's Soul]");
+ mes("Do you have a ^0000FFToken of Apostle^000000?");
+ next();
if (countitem(Token_Of_Apostle) > 0) {
'ins_baphomet = 4;
- mes "[Ancient Hero's Soul]";
- mes "Okay. You've done your work. Tell your representative to check your companions and come to me when everyone has finished their work.";
- }
- else {
- mes "[Ancient Hero's Soul]";
- mes "Not ready yet? You should prepare ^0000FFToken of Apostle^000000.";
+ mes("[Ancient Hero's Soul]");
+ mes("Okay. You've done your work. Tell your representative to check your companions and come to me when everyone has finished their work.");
+ } else {
+ mes("[Ancient Hero's Soul]");
+ mes("Not ready yet? You should prepare ^0000FFToken of Apostle^000000.");
}
- close2;
- cutin "",255;
+ close2();
+ cutin("", 255);
end;
- }
- else if (('ins_baphomet == 4) && (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR))) {
- cutin "ins_cata_champ_n",2;
- mes "[Ancient Hero's Soul]";
- mes "Are you ready? I opened the sealed gate. To pass the gate, you should carry a ^0000FFToken of Apostle^000000.";
- next;
+ } else if ('ins_baphomet == 4 && getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) {
+ cutin("ins_cata_champ_n", 2);
+ mes("[Ancient Hero's Soul]");
+ mes("Are you ready? I opened the sealed gate. To pass the gate, you should carry a ^0000FFToken of Apostle^000000.");
+ next();
'ins_baphomet = 5;
- specialeffect EF_TELEPORTATION;
- enablenpc instance_npcname("ins_bapho_to_2f");
- mes "[Ancient Hero's Soul]";
- mes "Now you can go to the main altar. It is located in the bottom right corner of this floor.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "Your real battle will begin... I'll follow you soon and find a way to help you.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "Go ahead, warriors.";
- cutin "",255;
- mapannounce instance_mapname("1@cata"), "Ancient Hero's Soul : Now you can go to the Main Altar's gate. It is located in the Southeast",bc_map,"0xFFFF00";
- close;
- }
- else if ('ins_baphomet == 4) {
- cutin "ins_cata_champ_n",2;
- mes "[Ancient Hero's Soul]";
- mes "Are you ready? I opened the sealed gate. To pass the gate, you should carry a ^0000FFToken of Apostle^000000.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "I'll complete opening the sealed gate when your representative tells me that you're ready.";
- cutin "",255;
- close;
- }
- else if ('ins_baphomet == 5) {
- cutin "ins_cata_champ_n",2;
- mes "[Ancient Hero's Soul]";
- mes "What are you doing? The entrance of the main altar is opened now, go and fight! The entrance is near the bottom right side of this floor.";
- cutin "",255;
- close;
- }
- else {
- cutin "ins_cata_champ_n",2;
- mes "[Ancient Hero's Soul]";
- mes "I have nothing to say to you...";
- cutin "",255;
- close;
+ specialeffect(EF_TELEPORTATION);
+ enablenpc(instance_npcname("ins_bapho_to_2f"));
+ mes("[Ancient Hero's Soul]");
+ mes("Now you can go to the main altar. It is located in the bottom right corner of this floor.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("Your real battle will begin... I'll follow you soon and find a way to help you.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("Go ahead, warriors.");
+ cutin("", 255);
+ mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : Now you can go to the Main Altar's gate. It is located in the Southeast"), bc_map, C_YELLOW);
+ close();
+ } else if ('ins_baphomet == 4) {
+ cutin("ins_cata_champ_n", 2);
+ mes("[Ancient Hero's Soul]");
+ mes("Are you ready? I opened the sealed gate. To pass the gate, you should carry a ^0000FFToken of Apostle^000000.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("I'll complete opening the sealed gate when your representative tells me that you're ready.");
+ cutin("", 255);
+ close();
+ } else if ('ins_baphomet == 5) {
+ cutin("ins_cata_champ_n", 2);
+ mes("[Ancient Hero's Soul]");
+ mes("What are you doing? The entrance of the main altar is opened now, go and fight! The entrance is near the bottom right side of this floor.");
+ cutin("", 255);
+ close();
+ } else {
+ cutin("ins_cata_champ_n", 2);
+ mes("[Ancient Hero's Soul]");
+ mes("I have nothing to say to you...");
+ cutin("", 255);
+ close();
}
OnInstanceInit:
- disablenpc instance_npcname("Ancient Hero's Soul#1F");
+ disablenpc(instance_npcname("Ancient Hero's Soul#1F"));
end;
}
@@ -817,38 +791,37 @@ OnInstanceInit:
1@cata,281,12,0 script ins_bapho_to_2f WARPNPC,1,1,{
OnTouch:
if (countitem(Token_Of_Apostle) > 0) {
- delitem Token_Of_Apostle,countitem(Token_Of_Apostle);
+ delitem(Token_Of_Apostle, countitem(Token_Of_Apostle));
'ins_baphomet = 5;
- warp instance_mapname("2@cata"),80,144;
+ warp(instance_mapname("2@cata"), 80, 144);
end;
- }
- else {
- mes "[Ancient Hero's Soul]";
- mes "Where is your Token of Apostle? I said you should carry the Token of Apostle to pass this gate.";
- close;
+ } else {
+ mes("[Ancient Hero's Soul]");
+ mes("Where is your Token of Apostle? I said you should carry the Token of Apostle to pass this gate.");
+ close();
}
OnInstanceInit:
- disablenpc instance_npcname("ins_bapho_to_2f");
+ disablenpc(instance_npcname("ins_bapho_to_2f"));
end;
}
//== Gravestones ===========================================
- script Gravestone#SS1 FAKE_NPC,{
if ('ins_baphomet == 1) {
- getitem Soul_Pendant,1;
+ getitem(Soul_Pendant, 1);
'ins_baphomet = 2;
- mes "A small object is shining under a leaning grave.";
- next;
- mes "[" + strcharinfo(PC_NAME) + "]";
- mes "I think this is the pendant...";
- close;
- }
- else {
- mes "I can only feel gloom from this Gravestone.";
- close;
+ mes("A small object is shining under a leaning grave.");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I think this is the pendant...");
+ close();
+ } else {
+ mes("I can only feel gloom from this Gravestone.");
+ close();
}
}
+
1@cata,86,214,0 duplicate(Gravestone#SS1) Gravestone#1F_1T CLEAR_NPC
1@cata,200,209,0 duplicate(Gravestone#SS1) Gravestone#1F_2T CLEAR_NPC
1@cata,230,195,0 duplicate(Gravestone#SS1) Gravestone#1F_3T CLEAR_NPC
@@ -864,9 +837,10 @@ OnInstanceInit:
1@cata,267,30,0 duplicate(Gravestone#SS1) Gravestone#1F_13T CLEAR_NPC
- script Gravestone#SS2 FAKE_NPC,{
- mes "I can only feel gloom from this Gravestone.";
- close;
+ mes("I can only feel gloom from this Gravestone.");
+ close();
}
+
1@cata,86,214,0 duplicate(Gravestone#SS2) Gravestone#1F_1F CLEAR_NPC
1@cata,200,209,0 duplicate(Gravestone#SS2) Gravestone#1F_2F CLEAR_NPC
1@cata,230,195,0 duplicate(Gravestone#SS2) Gravestone#1F_3F CLEAR_NPC
@@ -884,41 +858,39 @@ OnInstanceInit:
//== Bobbing Torches =======================================
- script Bobbing Torch#SS FAKE_NPC,{
.@party_id = getcharid(CHAR_ID_PARTY);
- if (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR)) {
- if (('ins_baphomet == 3) && (countitem(Essence_Of_Fire) < 11)) {
- mes "A huge torch appearing as if it can burn everything is bobbing up and down in front of me.";
- next;
- mes "The grand appearance and heat of the fire makes me step back... But I pluck up my courage and reach out to pick up the torch.";
- next;
- specialeffect2 EF_HOLYHIT;
- getitem Essence_Of_Fire,1;
- mes "The symbol of inheritor shines. Then a small crystal falls into my hand from the torch.";
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- close;
- }
- else if (('ins_baphomet == 3) && (countitem(Essence_Of_Fire) > 10)) {
- mes "You have 10 Essence of Fire already, so you don't need to collect any more.";
- close;
- }
- else {
- mes "You don't need to collect Essence of Fire anymore.";
- close;
+ if (getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) {
+ if ('ins_baphomet == 3 && countitem(Essence_Of_Fire) < 11) {
+ mes("A huge torch appearing as if it can burn everything is bobbing up and down in front of me.");
+ next();
+ mes("The grand appearance and heat of the fire makes me step back... But I pluck up my courage and reach out to pick up the torch.");
+ next();
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
+ getitem(Essence_Of_Fire, 1);
+ mes("The symbol of inheritor shines. Then a small crystal falls into my hand from the torch.");
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
+ close();
+ } else if ('ins_baphomet == 3 && countitem(Essence_Of_Fire) > 10) {
+ mes("You have 10 Essence of Fire already, so you don't need to collect any more.");
+ close();
+ } else {
+ mes("You don't need to collect Essence of Fire anymore.");
+ close();
}
- }
- else {
- mes "A huge torch appearing as if it can burn everything is bobbing up and down in front of me..";
- next;
- mes "[Unknown Voice]";
- mes "You are not a inheritor of faith. Do not desecrate the Essence of Fire with your disrespectful hands.";
- specialeffect2 EF_FIRESPLASHHIT;
- percentheal -50,0;
- close;
+ } else {
+ mes("A huge torch appearing as if it can burn everything is bobbing up and down in front of me..");
+ next();
+ mes("[Unknown Voice]");
+ mes("You are not a inheritor of faith. Do not desecrate the Essence of Fire with your disrespectful hands.");
+ specialeffect(EF_FIRESPLASHHIT, AREA, playerattached());
+ percentheal(-50, 0);
+ close();
}
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
}
+
1@cata,267,210,0 duplicate(Bobbing Torch#SS) Bobbing Torch#1 CLEAR_NPC
1@cata,85,182,0 duplicate(Bobbing Torch#SS) Bobbing Torch#2 CLEAR_NPC
1@cata,267,154,0 duplicate(Bobbing Torch#SS) Bobbing Torch#3 CLEAR_NPC
@@ -934,186 +906,193 @@ OnInstanceInit:
1@cata,1,1,0 script ins_baphomet_1f_timer FAKE_NPC,{
OnInstanceInit:
- disablenpc instance_npcname("ins_baphomet_1f_timer");
+ disablenpc(instance_npcname("ins_baphomet_1f_timer"));
end;
OnEnable:
- enablenpc instance_npcname("ins_baphomet_1f_timer");
- initnpctimer;
+ enablenpc(instance_npcname("ins_baphomet_1f_timer"));
+ initnpctimer();
end;
OnDisable:
- disablenpc instance_npcname("ins_baphomet_1f_timer");
- stopnpctimer;
+ disablenpc(instance_npcname("ins_baphomet_1f_timer"));
+ stopnpctimer();
end;
OnTimer1800000:
- mapannounce instance_mapname("1@cata"), "Ancient Hero's Soul : We don't have enough time! Hurry up!",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : We don't have enough time! Hurry up!"), bc_map, C_YELLOW);
end;
OnTimer2400000:
- mapannounce instance_mapname("1@cata"), "Ancient Hero's Soul : My body is disappearing... Hurry up!",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : My body is disappearing... Hurry up!"), bc_map, C_YELLOW);
end;
OnTimer3000000:
- mapannounce instance_mapname("1@cata"), "Ancient Hero's Soul : Everything is over... There is no other way but to wait for the next chance...",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : Everything is over... There is no other way but to wait for the next chance..."), bc_map, C_YELLOW);
end;
OnTimer3050000:
- mapannounce instance_mapname("1@cata"), "Ancient Hero's Soul : We failed... However... We still have a chance. I hope you will train yourselves until the time comes.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : We failed... However... We still have a chance. I hope you will train yourselves until the time comes."), bc_map, C_YELLOW);
end;
OnTimer3100000:
- mapannounce instance_mapname("1@cata"), "You've failed to open the seal of main altar.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("1@cata"), _("You've failed to open the seal of main altar."), bc_map, C_YELLOW);
end;
OnTimer3500000:
- instance_warpall "monk_test",310,150;
- stopnpctimer;
+ instance_warpall("monk_test", 310, 150);
+ stopnpctimer();
end;
}
2@cata,80,144,0 script ins_2f_enter FAKE_NPC,3,3,{
OnTouch:
- donpcevent instance_npcname("ins_2f_enter_broad")+"::OnEnable";
- disablenpc instance_npcname("ins_2f_enter");
+ donpcevent(instance_npcname("ins_2f_enter_broad")+"::OnEnable");
+ disablenpc(instance_npcname("ins_2f_enter"));
end;
}
2@cata,1,1,0 script ins_2f_enter_broad FAKE_NPC,{
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("ins_2f_enter_broad");
+ disablenpc(instance_npcname("ins_2f_enter_broad"));
end;
OnEnable:
- enablenpc instance_npcname("ins_2f_enter_broad");
- initnpctimer;
+ enablenpc(instance_npcname("ins_2f_enter_broad"));
+ initnpctimer();
end;
OnTimer10000:
- mapannounce instance_mapname("2@cata"), "Baphomet : Humans... interfering again...",bc_map,"0xdb7093";
+ mapannounce(instance_mapname("2@cata"), _("Baphomet : Humans... interfering again..."), bc_map, "0xdb7093");
end;
OnTimer13000:
- mapannounce instance_mapname("2@cata"), "Apostle of Baphomet : Humans! Humans have invaded our sanctum!",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@cata"), _("Apostle of Baphomet : Humans! Humans have invaded our sanctum!"), bc_map, C_YELLOW);
end;
OnTimer16000:
- mapannounce instance_mapname("2@cata"), "Apostle of Baphomet : Kill the humans! Do not stop the revival of our Master!",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@cata"), _("Apostle of Baphomet : Kill the humans! Do not stop the revival of our Master!"), bc_map, C_YELLOW);
end;
OnTimer18000:
- mapannounce instance_mapname("2@cata"), "Apostle of Baphomet : Hurry up and release the seals of the altars! Our Master's return is upon us!",bc_map,"0xFFFF00";
- stopnpctimer;
- disablenpc instance_npcname("ins_2f_enter_broad");
+ mapannounce(instance_mapname("2@cata"), _("Apostle of Baphomet : Hurry up and release the seals of the altars! Our Master's return is upon us!"), bc_map, C_YELLOW);
+ stopnpctimer();
+ disablenpc(instance_npcname("ins_2f_enter_broad"));
end;
}
2@cata,50,67,0 script slave_left FAKE_NPC,5,5,{
OnTouch:
.@map$ = instance_mapname("2@cata");
- mapannounce .@map$, "Apostle of Baphomet : Kill the humans! Don't let them interrupt the revival of our Master!",bc_map,"0xFFFF00";
- monster .@map$,55,67,"Apostle of Baphomet",1869,1;
- monster .@map$,51,67,"Apostle of Baphomet",1291,1;
- monster .@map$,58,67,"Apostle of Baphomet",1292,1;
- monster .@map$,53,67,"Apostle of Baphomet",1291,1;
- monster .@map$,54,67,"Apostle of Baphomet",1869,1;
- monster .@map$,55,67,"Apostle of Baphomet",1291,1;
- monster .@map$,56,67,"Apostle of Baphomet",1117,1;
- monster .@map$,58,66,"Apostle of Baphomet",1869,1;
- monster .@map$,56,66,"Apostle of Baphomet",1117,1;
- monster .@map$,60,66,"Apostle of Baphomet",1132,1;
- monster .@map$,59,66,"Apostle of Baphomet",1117,1;
- monster .@map$,54,66,"Apostle of Baphomet",1132,1;
- monster .@map$,55,66,"Apostle of Baphomet",1292,1;
- monster .@map$,56,66,"Apostle of Baphomet",1132,1;
- monster .@map$,50,65,"Apostle of Baphomet",1867,1;
- monster .@map$,61,65,"Apostle of Baphomet",1292,1;
- disablenpc instance_npcname("slave_left");
+ mapannounce(.@map$, _("Apostle of Baphomet : Kill the humans! Don't let them interrupt the revival of our Master!"), bc_map, C_YELLOW);
+ monster(.@map$, 55, 67, _("Apostle of Baphomet"), FLAME_SKULL, 1);
+ monster(.@map$, 51, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1);
+ monster(.@map$, 58, 67, _("Apostle of Baphomet"), MINI_DEMON, 1);
+ monster(.@map$, 53, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1);
+ monster(.@map$, 54, 67, _("Apostle of Baphomet"), FLAME_SKULL, 1);
+ monster(.@map$, 55, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1);
+ monster(.@map$, 56, 67, _("Apostle of Baphomet"), EVIL_DRUID, 1);
+ monster(.@map$, 58, 66, _("Apostle of Baphomet"), FLAME_SKULL, 1);
+ monster(.@map$, 56, 66, _("Apostle of Baphomet"), EVIL_DRUID, 1);
+ monster(.@map$, 60, 66, _("Apostle of Baphomet"), KHALITZBURG, 1);
+ monster(.@map$, 59, 66, _("Apostle of Baphomet"), EVIL_DRUID, 1);
+ monster(.@map$, 54, 66, _("Apostle of Baphomet"), KHALITZBURG, 1);
+ monster(.@map$, 55, 66, _("Apostle of Baphomet"), MINI_DEMON, 1);
+ monster(.@map$, 56, 66, _("Apostle of Baphomet"), KHALITZBURG, 1);
+ monster(.@map$, 50, 65, _("Apostle of Baphomet"), BANSHEE, 1);
+ monster(.@map$, 61, 65, _("Apostle of Baphomet"), MINI_DEMON, 1);
+ disablenpc(instance_npcname("slave_left"));
end;
}
2@cata,109,67,0 script slave_right FAKE_NPC,5,5,{
OnTouch:
.@map$ = instance_mapname("2@cata");
- mapannounce .@map$, "Apostle of Baphomet : Kill the humans! Don't let them interrupt the revival of our Master!",bc_map,"0xFFFF00";
- monster .@map$,105,67,"Apostle of Baphomet",1869,1;
- monster .@map$,104,67,"Apostle of Baphomet",1291,1;
- monster .@map$,107,67,"Apostle of Baphomet",1869,1;
- monster .@map$,106,67,"Apostle of Baphomet",1291,1;
- monster .@map$,102,67,"Apostle of Baphomet",1869,1;
- monster .@map$,103,67,"Apostle of Baphomet",1291,1;
- monster .@map$,103,67,"Apostle of Baphomet",1117,1;
- monster .@map$,109,66,"Apostle of Baphomet",1117,1;
- monster .@map$,108,66,"Apostle of Baphomet",1132,1;
- monster .@map$,101,66,"Apostle of Baphomet",1117,1;
- monster .@map$,106,66,"Apostle of Baphomet",1292,1;
- monster .@map$,102,66,"Apostle of Baphomet",1132,1;
- monster .@map$,104,66,"Apostle of Baphomet",1292,1;
- monster .@map$,103,66,"Apostle of Baphomet",1132,1;
- monster .@map$,109,65,"Apostle of Baphomet",1867,1;
- monster .@map$,108,65,"Apostle of Baphomet",1292,1;
- disablenpc instance_npcname("slave_right");
+ mapannounce(.@map$, _("Apostle of Baphomet : Kill the humans! Don't let them interrupt the revival of our Master!"), bc_map, C_YELLOW);
+ monster(.@map$, 105, 67, _("Apostle of Baphomet"), FLAME_SKULL, 1);
+ monster(.@map$, 104, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1);
+ monster(.@map$, 107, 67, _("Apostle of Baphomet"), FLAME_SKULL, 1);
+ monster(.@map$, 106, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1);
+ monster(.@map$, 102, 67, _("Apostle of Baphomet"), FLAME_SKULL, 1);
+ monster(.@map$, 103, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1);
+ monster(.@map$, 103, 67, _("Apostle of Baphomet"), EVIL_DRUID, 1);
+ monster(.@map$, 109, 66, _("Apostle of Baphomet"), EVIL_DRUID, 1);
+ monster(.@map$, 108, 66, _("Apostle of Baphomet"), KHALITZBURG, 1);
+ monster(.@map$, 101, 66, _("Apostle of Baphomet"), EVIL_DRUID, 1);
+ monster(.@map$, 106, 66, _("Apostle of Baphomet"), MINI_DEMON, 1);
+ monster(.@map$, 102, 66, _("Apostle of Baphomet"), KHALITZBURG, 1);
+ monster(.@map$, 104, 66, _("Apostle of Baphomet"), MINI_DEMON, 1);
+ monster(.@map$, 103, 66, _("Apostle of Baphomet"), KHALITZBURG, 1);
+ monster(.@map$, 109, 65, _("Apostle of Baphomet"), BANSHEE, 1);
+ monster(.@map$, 108, 65, _("Apostle of Baphomet"), MINI_DEMON, 1);
+ disablenpc(instance_npcname("slave_right"));
end;
}
2@cata,79,39,0 script slave_down FAKE_NPC,5,5,{
OnTouch:
.@map$ = instance_mapname("2@cata");
- mapannounce .@map$, "Apostle of Baphomet : Kill the humans! Don't let them interrupt the revival of our Master!",bc_map,"0xFFFF00";
- monster .@map$,78,41,"Apostle of Baphomet",1869,1;
- monster .@map$,79,42,"Apostle of Baphomet",1291,1;
- monster .@map$,78,46,"Apostle of Baphomet",1869,1;
- monster .@map$,81,41,"Apostle of Baphomet",1291,1;
- monster .@map$,81,42,"Apostle of Baphomet",1869,1;
- monster .@map$,79,43,"Apostle of Baphomet",1291,1;
- monster .@map$,77,40,"Apostle of Baphomet",1117,1;
- monster .@map$,79,41,"Apostle of Baphomet",1132,1;
- monster .@map$,79,42,"Apostle of Baphomet",1117,1;
- monster .@map$,79,43,"Apostle of Baphomet",1132,1;
- monster .@map$,79,48,"Apostle of Baphomet",1117,1;
- monster .@map$,78,49,"Apostle of Baphomet",1132,1;
- monster .@map$,78,41,"Apostle of Baphomet",1292,1;
- monster .@map$,74,42,"Apostle of Baphomet",1292,1;
- monster .@map$,72,48,"Apostle of Baphomet",1867,1;
- monster .@map$,72,38,"Apostle of Baphomet",1292,1;
- disablenpc instance_npcname("slave_down");
+ mapannounce(.@map$, _("Apostle of Baphomet : Kill the humans! Don't let them interrupt the revival of our Master!"), bc_map, C_YELLOW);
+ monster(.@map$, 78, 41, _("Apostle of Baphomet"), FLAME_SKULL, 1);
+ monster(.@map$, 79, 42, _("Apostle of Baphomet"), WRAITH_DEAD, 1);
+ monster(.@map$, 78, 46, _("Apostle of Baphomet"), FLAME_SKULL, 1);
+ monster(.@map$, 81, 41, _("Apostle of Baphomet"), WRAITH_DEAD, 1);
+ monster(.@map$, 81, 42, _("Apostle of Baphomet"), FLAME_SKULL, 1);
+ monster(.@map$, 79, 43, _("Apostle of Baphomet"), WRAITH_DEAD, 1);
+ monster(.@map$, 77, 40, _("Apostle of Baphomet"), EVIL_DRUID, 1);
+ monster(.@map$, 79, 41, _("Apostle of Baphomet"), KHALITZBURG, 1);
+ monster(.@map$, 79, 42, _("Apostle of Baphomet"), EVIL_DRUID, 1);
+ monster(.@map$, 79, 43, _("Apostle of Baphomet"), KHALITZBURG, 1);
+ monster(.@map$, 79, 48, _("Apostle of Baphomet"), EVIL_DRUID, 1);
+ monster(.@map$, 78, 49, _("Apostle of Baphomet"), KHALITZBURG, 1);
+ monster(.@map$, 78, 41, _("Apostle of Baphomet"), MINI_DEMON, 1);
+ monster(.@map$, 74, 42, _("Apostle of Baphomet"), MINI_DEMON, 1);
+ monster(.@map$, 72, 48, _("Apostle of Baphomet"), BANSHEE, 1);
+ monster(.@map$, 72, 38, _("Apostle of Baphomet"), MINI_DEMON, 1);
+ disablenpc(instance_npcname("slave_down"));
end;
}
//== Magical Seals =========================================
- script Magical Seal#SS FAKE_NPC,{
- .@seal_check = questprogress(3041,PLAYTIME);
+ .@seal_check = questprogress(3041, PLAYTIME);
if (.@seal_check == 1) {
- specialeffect2 EF_SILENCEATTACK;
- percentheal -50,0;
- sc_start Eff_Stone,30000,0;
- mes "Your SP has not recovered yet. You lost your SP on the altar, but it seems the power of the seal has returned.";
- close;
+ specialeffect(EF_SILENCEATTACK, AREA, playerattached());
+ percentheal(-50, 0);
+ sc_start(Eff_Stone, 30000, 0);
+ mes("Your SP has not recovered yet. You lost your SP on the altar, but it seems the power of the seal has returned.");
+ close();
}
- if (.@seal_check == 2) erasequest 3041;
- specialeffect EF_LEXDIVINA;
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ if (.@seal_check == 2)
+ erasequest(3041);
+ specialeffect(EF_LEXDIVINA);
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
.@map$ = instance_mapname("2@cata");
- if (strnpcinfo(NPC_NAME_HIDDEN) == "0") areamobuseskill .@map$,79,81,10,1929,"NPC_INVINCIBLEOFF",1,0,0,e_hlp,0;
- else if (strnpcinfo(NPC_NAME_HIDDEN) == "2") areamobuseskill .@map$,123,109,10,1929,"NPC_INVINCIBLEOFF",1,0,0,e_hlp,0;
- else if (strnpcinfo(NPC_NAME_HIDDEN) == "4") areamobuseskill .@map$,123,22,10,1929,"NPC_INVINCIBLEOFF",1,0,0,e_hlp,0;
- else if (strnpcinfo(NPC_NAME_HIDDEN) == "8") areamobuseskill .@map$,35,21,10,1929,"NPC_INVINCIBLEOFF",1,0,0,e_hlp,0;
- else if (strnpcinfo(NPC_NAME_HIDDEN) == "10") areamobuseskill .@map$,35,109,10,1929,"NPC_INVINCIBLEOFF",1,0,0,e_hlp,0;
- percentheal -50,0;
- sc_start Eff_Stone,20000,0;
- setquest 3041;
- mapannounce .@map$, "The seal activated by putting magical power into the altar.",bc_map,"0x87ceeb";
- mes "I can feel the power of the altar came back by adding magical power.";
- next;
- mes "But you can't use your magic for 3 minutes because you used your SP on the altar.";
- close;
+ if (strnpcinfo(NPC_NAME_HIDDEN) == "0")
+ areamobuseskill(.@map$, 79, 81, 10, BAPHOMET_I, "NPC_INVINCIBLEOFF", 1, 0, 0, e_hlp, 0);
+ else if (strnpcinfo(NPC_NAME_HIDDEN) == "2")
+ areamobuseskill(.@map$, 123, 109, 10, BAPHOMET_I, "NPC_INVINCIBLEOFF", 1, 0, 0, e_hlp, 0);
+ else if (strnpcinfo(NPC_NAME_HIDDEN) == "4")
+ areamobuseskill(.@map$, 123, 22, 10, BAPHOMET_I, "NPC_INVINCIBLEOFF", 1, 0, 0, e_hlp, 0);
+ else if (strnpcinfo(NPC_NAME_HIDDEN) == "8")
+ areamobuseskill(.@map$, 35, 21, 10, BAPHOMET_I, "NPC_INVINCIBLEOFF", 1, 0, 0, e_hlp, 0);
+ else if (strnpcinfo(NPC_NAME_HIDDEN) == "10")
+ areamobuseskill(.@map$, 35, 109, 10, BAPHOMET_I, "NPC_INVINCIBLEOFF", 1, 0, 0, e_hlp, 0);
+ percentheal(-50, 0);
+ sc_start(Eff_Stone, 20000, 0);
+ setquest(3041);
+ mapannounce(.@map$, _("The seal activated by putting magical power into the altar."), bc_map, "0x87ceeb");
+ mes("I can feel the power of the altar came back by adding magical power.");
+ next();
+ mes("But you can't use your magic for 3 minutes because you used your SP on the altar.");
+ close();
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
}
+
2@cata,79,81,0 duplicate(Magical Seal#SS) Magical Seal#0 CLEAR_NPC
2@cata,123,109,0 duplicate(Magical Seal#SS) Magical Seal#2 CLEAR_NPC
2@cata,123,22,0 duplicate(Magical Seal#SS) Magical Seal#4 CLEAR_NPC
@@ -1122,137 +1101,137 @@ OnInstanceInit:
2@cata,79,65,0 script The Main Altar#ss CLEAR_NPC,{
.@party_id = getcharid(CHAR_ID_PARTY);
- if (('ins_baphomet == 5) && (getpartyleader(.@party_id,2) == getcharid(CHAR_ID_CHAR))) {
- mes "An evil power, too terrible to describe, lies under the great altar radiating a violet color.";
- next;
- mes "Complicated Magical Rune letters blink rapidly, attempting to suppress the dreadful power within.";
- next;
- mes "The bottom of the Main Altar trembles furiously.";
- next;
- specialeffect EF_METEORSTORM;
- specialeffect EF_METEORSTORM;
- mes "[" + strcharinfo(PC_NAME) + "]";
- mes "Watch out! Something... Something is coming.";
+ if ('ins_baphomet == 5 && getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) {
+ mes("An evil power, too terrible to describe, lies under the great altar radiating a violet color.");
+ next();
+ mes("Complicated Magical Rune letters blink rapidly, attempting to suppress the dreadful power within.");
+ next();
+ mes("The bottom of the Main Altar trembles furiously.");
+ next();
+ specialeffect(EF_METEORSTORM);
+ specialeffect(EF_METEORSTORM);
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Watch out! Something... Something is coming.");
'ins_baphomet = 6;
- donpcevent instance_npcname("ins_2f_hero_broad")+"::OnEnable";
- disablenpc instance_npcname("The Main Altar#ss");
- close;
- }
- else {
- mes "An evil power, too terrible to describe, lies under the great altar radiating a violet color.";
- next;
- mes "Complicated Magical Rune letters blink rapidly, attempting to suppress the dreadful power within.";
- close;
+ donpcevent(instance_npcname("ins_2f_hero_broad")+"::OnEnable");
+ disablenpc(instance_npcname("The Main Altar#ss"));
+ close();
+ } else {
+ mes("An evil power, too terrible to describe, lies under the great altar radiating a violet color.");
+ next();
+ mes("Complicated Magical Rune letters blink rapidly, attempting to suppress the dreadful power within.");
+ close();
}
end;
}
2@cata,80,63,4 script Ancient Hero's Soul#2F 4_M_CHAMPSOUL,{
- cutin "ins_cata_champ_s",2;
- if (questprogress(3041)) erasequest 3041;
- mes "[Ancient Hero's Soul]";
- mes "Good job, my descendants... You've finished the long-cherished task that me and my bretheren could not complete.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "I really appreciate your help.";
- mes "Our souls can finally rest in peace...";
- next;
- mes "[Ancient Hero's Soul]";
- mes "The struggle for peace on this world will never end. But... my role here is finally over because there are brave heroes like you.";
- next;
- switch(select("Let me leave the shrine.", "Stop talking.")) {
+ cutin("ins_cata_champ_s", 2);
+ if (questprogress(3041))
+ erasequest(3041);
+ mes("[Ancient Hero's Soul]");
+ mes("Good job, my descendants... You've finished the long-cherished task that me and my bretheren could not complete.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("I really appreciate your help.");
+ mes("Our souls can finally rest in peace...");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("The struggle for peace on this world will never end. But... my role here is finally over because there are brave heroes like you.");
+ next();
+ switch (select("Let me leave the shrine.", "Stop talking.")) {
case 1:
- mes "[Ancient Hero's Soul]";
- mes "Okay. I'll let you and your group leave here safely.";
- next;
- mes "[Ancient Hero's Soul]";
- mes "If you leave, please say hello to Patrick for me.";
- cutin "",255;
+ mes("[Ancient Hero's Soul]");
+ mes("Okay. I'll let you and your group leave here safely.");
+ next();
+ mes("[Ancient Hero's Soul]");
+ mes("If you leave, please say hello to Patrick for me.");
+ cutin("", 255);
'ins_baphomet = 0;
- warp "monk_test",310,150;
- close;
+ warp("monk_test", 310, 150);
+ close();
case 2:
- mes "[Ancient Hero's Soul]";
- mes "Do you still have something to do here? If you're done I'll let you leave safely...";
- cutin "",255;
- close;
+ mes("[Ancient Hero's Soul]");
+ mes("Do you still have something to do here? If you're done I'll let you leave safely...");
+ cutin("", 255);
+ close();
}
OnInstanceInit:
- disablenpc instance_npcname("Ancient Hero's Soul#2F");
+ disablenpc(instance_npcname("Ancient Hero's Soul#2F"));
end;
}
2@cata,1,2,0 script ins_2f_hero_broad FAKE_NPC,{
OnEnable:
- enablenpc instance_npcname("ins_2f_hero_broad");
- initnpctimer;
+ enablenpc(instance_npcname("ins_2f_hero_broad"));
+ initnpctimer();
end;
OnDisable:
- disablenpc instance_npcname("ins_2f_hero_broad");
+ disablenpc(instance_npcname("ins_2f_hero_broad"));
end;
OnTimer3000:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : My God! The seal of the Main Altar is weakening!",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : My God! The seal of the Main Altar is weakening!"), bc_map, C_YELLOW);
end;
OnTimer6000:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : My descendants... Listen carefully to what I'm going to say.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : My descendants... Listen carefully to what I'm going to say."), bc_map, C_YELLOW);
end;
OnTimer9000:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : The altars that control the Main Altar's power are located in the Northeast, Southeast, Southwest and Northwest corners of this room.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The altars that control the Main Altar's power are located in the Northeast, Southeast, Southwest and Northwest corners of this room."), bc_map, C_YELLOW);
end;
OnTimer12000:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : Find these altars and activate their seals before Baphomet revives.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : Find these altars and activate their seals before Baphomet revives."), bc_map, C_YELLOW);
end;
OnTimer15000:
- mapannounce instance_mapname("2@cata"), "Baphomet : It's too late, weaklings... Now, you'll feel the despair of death!",bc_map,"0xdb7093";
+ mapannounce(instance_mapname("2@cata"), _("Baphomet : It's too late, weaklings... Now, you'll feel the despair of death!"), bc_map, "0xdb7093");
end;
OnTimer17000:
- mapannounce instance_mapname("2@cata"), "Baphomet : No one can harm me here. You will be my first sacrifice.",bc_map,"0xdb7093";
- donpcevent instance_npcname("control_baphomet")+"::OnEnable";
- donpcevent instance_npcname("ins_2f_hero_broad2")+"::OnEnable";
- stopnpctimer;
- disablenpc instance_npcname("ins_2f_hero_broad");
+ mapannounce(instance_mapname("2@cata"), _("Baphomet : No one can harm me here. You will be my first sacrifice."), bc_map, "0xdb7093");
+ donpcevent(instance_npcname("control_baphomet")+"::OnEnable");
+ donpcevent(instance_npcname("ins_2f_hero_broad2")+"::OnEnable");
+ stopnpctimer();
+ disablenpc(instance_npcname("ins_2f_hero_broad"));
end;
}
2@cata,3,3,0 script control_baphomet FAKE_NPC,{
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("control_baphomet");
+ disablenpc(instance_npcname("control_baphomet"));
end;
OnEnable:
- enablenpc instance_npcname("control_baphomet");
- donpcevent instance_npcname("2f_callmon_pattern_c")+"::OnEnable";
- monster instance_mapname("2@cata"),79,64,"Baphomet#",1929,1,instance_npcname("control_baphomet")+"::OnMyMobDead";
+ enablenpc(instance_npcname("control_baphomet"));
+ donpcevent(instance_npcname("2f_callmon_pattern_c")+"::OnEnable");
+ monster(instance_mapname("2@cata"), 79, 64, "Baphomet#", BAPHOMET_I, 1, instance_npcname("control_baphomet")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("2@cata");
- if (mobcount(.@map$,instance_npcname("control_baphomet")+"::OnMyMobDead") < 1) {
+ if (mobcount(.@map$, instance_npcname("control_baphomet")+"::OnMyMobDead") < 1) {
'ins_baphomet = 7;
- erasequest 3041;
- mapannounce .@map$, "Baphomet : No! Nonono! How dare these weaklings defeat me!... No!!...",bc_map,"0xdb7093";
- enablenpc instance_npcname("Ancient Hero's Soul#2F");
- disablenpc instance_npcname("slave_down");
- disablenpc instance_npcname("slave_left");
- disablenpc instance_npcname("slave_right");
- donpcevent instance_npcname("ins_2f_hero_broad")+"::OnDisable";
- donpcevent instance_npcname("ins_2f_hero_broad2")+"::OnDisable";
- donpcevent instance_npcname("ins_2f_hero_pattern_c")+"::OnDisable";
- donpcevent instance_npcname("2f_callmon_pattern_c")+"::OnDisable";
- donpcevent instance_npcname("2f_callmon_pattern")+"::OnDisable";
- donpcevent instance_npcname("ins_2f_hero_pattern")+"::OnDisable";
- donpcevent instance_npcname("ins_2f_enter_broad")+"::OnDisable";
- donpcevent instance_npcname("control_baphomet")+"::OnDisable";
- disablenpc instance_npcname("control_baphomet");
+ erasequest(3041);
+ mapannounce(.@map$, _("Baphomet : No! Nonono! How dare these weaklings defeat me!... No!!..."), bc_map, "0xdb7093");
+ enablenpc(instance_npcname("Ancient Hero's Soul#2F"));
+ disablenpc(instance_npcname("slave_down"));
+ disablenpc(instance_npcname("slave_left"));
+ disablenpc(instance_npcname("slave_right"));
+ donpcevent(instance_npcname("ins_2f_hero_broad")+"::OnDisable");
+ donpcevent(instance_npcname("ins_2f_hero_broad2")+"::OnDisable");
+ donpcevent(instance_npcname("ins_2f_hero_pattern_c")+"::OnDisable");
+ donpcevent(instance_npcname("2f_callmon_pattern_c")+"::OnDisable");
+ donpcevent(instance_npcname("2f_callmon_pattern")+"::OnDisable");
+ donpcevent(instance_npcname("ins_2f_hero_pattern")+"::OnDisable");
+ donpcevent(instance_npcname("ins_2f_enter_broad")+"::OnDisable");
+ donpcevent(instance_npcname("control_baphomet")+"::OnDisable");
+ disablenpc(instance_npcname("control_baphomet"));
}
end;
}
@@ -1260,232 +1239,232 @@ OnMyMobDead:
2@cata,2,2,0 script ins_2f_hero_broad2 FAKE_NPC,{
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("ins_2f_hero_broad2");
+ disablenpc(instance_npcname("ins_2f_hero_broad2"));
end;
OnEnable:
- enablenpc instance_npcname("ins_2f_hero_broad2");
- initnpctimer;
+ enablenpc(instance_npcname("ins_2f_hero_broad2"));
+ initnpctimer();
end;
OnTimer8000:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : Don't be discouraged, Baphomet can still be defeated!",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : Don't be discouraged, Baphomet can still be defeated!"), bc_map, C_YELLOW);
end;
OnTimer11000:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : Go to the altars and activate their seals.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : Go to the altars and activate their seals."), bc_map, C_YELLOW);
end;
OnTimer13000:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : Once the seals recover their power, Baphomet will be vulnerable.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : Once the seals recover their power, Baphomet will be vulnerable."), bc_map, C_YELLOW);
end;
OnTimer16000:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : You should lure Baphomet to the unsealed Altars. Otherwise, your efforts will be futile.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : You should lure Baphomet to the unsealed Altars. Otherwise, your efforts will be futile."), bc_map, C_YELLOW);
end;
OnTimer19000:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : We have only 1 hour to stop Baphomet. If time runs out, the power of the seals will be useless.",bc_map,"0xFFFF00";
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : We have only 1 hour to stop Baphomet. If time runs out, the power of the seals will be useless."), bc_map, C_YELLOW);
end;
OnTimer22000:
- mapannounce instance_mapname("2@cata"), "Baphomet : It's useless. Make more seals. I'll crush them all. None of you will survive!",bc_map,"0xdb7093";
+ mapannounce(instance_mapname("2@cata"), _("Baphomet : It's useless. Make more seals. I'll crush them all. None of you will survive!"), bc_map, "0xdb7093");
end;
OnTimer26000:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : The magical power of the central seal is running out. Go to the central seal and put the magical power.",bc_map,"0xFFFF00";
- enablenpc instance_npcname("Magical Seal#0");
- disablenpc instance_npcname("Magical Seal#2");
- disablenpc instance_npcname("Magical Seal#4");
- disablenpc instance_npcname("Magical Seal#8");
- disablenpc instance_npcname("Magical Seal#10");
- donpcevent instance_npcname("ins_2f_hero_pattern_c")+"::OnEnable";
- stopnpctimer;
- disablenpc instance_npcname("ins_2f_hero_broad2");
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The magical power of the central seal is running out. Go to the central seal and put the magical power."), bc_map, C_YELLOW);
+ enablenpc(instance_npcname("Magical Seal#0"));
+ disablenpc(instance_npcname("Magical Seal#2"));
+ disablenpc(instance_npcname("Magical Seal#4"));
+ disablenpc(instance_npcname("Magical Seal#8"));
+ disablenpc(instance_npcname("Magical Seal#10"));
+ donpcevent(instance_npcname("ins_2f_hero_pattern_c")+"::OnEnable");
+ stopnpctimer();
+ disablenpc(instance_npcname("ins_2f_hero_broad2"));
end;
}
2@cata,4,1,0 script 2f_callmon_pattern_c FAKE_NPC,{
OnInstanceInit:
- disablenpc instance_npcname("2f_callmon_pattern_c");
+ disablenpc(instance_npcname("2f_callmon_pattern_c"));
end;
OnEnable:
- enablenpc instance_npcname("2f_callmon_pattern_c");
- initnpctimer;
- donpcevent instance_npcname("2f_callmon_pattern_c")+"::OnGo";
+ enablenpc(instance_npcname("2f_callmon_pattern_c"));
+ initnpctimer();
+ donpcevent(instance_npcname("2f_callmon_pattern_c")+"::OnGo");
end;
OnDisable:
- stopnpctimer;
- disablenpc instance_npcname("2f_callmon_pattern_c");
+ stopnpctimer();
+ disablenpc(instance_npcname("2f_callmon_pattern_c"));
end;
OnGo:
- donpcevent instance_npcname("2f_callmon_pattern")+"::OnEnable";
+ donpcevent(instance_npcname("2f_callmon_pattern")+"::OnEnable");
end;
OnTimer3600000:
- donpcevent instance_npcname("2f_callmon_pattern_c")+"::OnDisable";
+ donpcevent(instance_npcname("2f_callmon_pattern_c")+"::OnDisable");
end;
}
2@cata,4,2,0 script 2f_callmon_pattern FAKE_NPC,{
OnInstanceInit:
- disablenpc instance_npcname("2f_callmon_pattern");
+ disablenpc(instance_npcname("2f_callmon_pattern"));
end;
OnEnable:
- enablenpc instance_npcname("2f_callmon_pattern");
- stopnpctimer;
- initnpctimer;
+ enablenpc(instance_npcname("2f_callmon_pattern"));
+ stopnpctimer();
+ initnpctimer();
end;
OnDisable:
- disablenpc instance_npcname("2f_callmon_pattern");
- stopnpctimer;
+ disablenpc(instance_npcname("2f_callmon_pattern"));
+ stopnpctimer();
end;
OnTimer300000:
- enablenpc instance_npcname("slave_down");
- enablenpc instance_npcname("slave_left");
- enablenpc instance_npcname("slave_right");
- donpcevent instance_npcname("2f_callmon_pattern_c")+"::OnGo";
+ enablenpc(instance_npcname("slave_down"));
+ enablenpc(instance_npcname("slave_left"));
+ enablenpc(instance_npcname("slave_right"));
+ donpcevent(instance_npcname("2f_callmon_pattern_c")+"::OnGo");
end;
}
2@cata,3,1,0 script ins_2f_hero_pattern_c FAKE_NPC,{
OnInstanceInit:
- disablenpc instance_npcname("ins_2f_hero_pattern_c");
+ disablenpc(instance_npcname("ins_2f_hero_pattern_c"));
end;
OnEnable:
- enablenpc instance_npcname("ins_2f_hero_pattern_c");
- initnpctimer;
- donpcevent instance_npcname("ins_2f_hero_pattern_c")+"::OnGo";
+ enablenpc(instance_npcname("ins_2f_hero_pattern_c"));
+ initnpctimer();
+ donpcevent(instance_npcname("ins_2f_hero_pattern_c")+"::OnGo");
end;
OnGo:
- donpcevent instance_npcname("ins_2f_hero_pattern")+"::OnEnable";
+ donpcevent(instance_npcname("ins_2f_hero_pattern")+"::OnEnable");
end;
OnDisable:
- stopnpctimer;
- disablenpc instance_npcname("Magical Seal#0");
- disablenpc instance_npcname("Magical Seal#2");
- disablenpc instance_npcname("Magical Seal#4");
- disablenpc instance_npcname("Magical Seal#8");
- disablenpc instance_npcname("Magical Seal#10");
- donpcevent instance_npcname("ins_2f_hero_pattern")+"::OnDisable";
- disablenpc instance_npcname("ins_2f_hero_pattern_c");
+ stopnpctimer();
+ disablenpc(instance_npcname("Magical Seal#0"));
+ disablenpc(instance_npcname("Magical Seal#2"));
+ disablenpc(instance_npcname("Magical Seal#4"));
+ disablenpc(instance_npcname("Magical Seal#8"));
+ disablenpc(instance_npcname("Magical Seal#10"));
+ donpcevent(instance_npcname("ins_2f_hero_pattern")+"::OnDisable");
+ disablenpc(instance_npcname("ins_2f_hero_pattern_c"));
end;
OnTimer3600000:
- mapannounce instance_mapname("2@cata"), "Baphomet : krrrr... Now you can't stop me with the seals. All you can do is wait for death!",bc_map,"0xdb7093";
+ mapannounce(instance_mapname("2@cata"), _("Baphomet : krrrr... Now you can't stop me with the seals. All you can do is wait for death!"), bc_map, "0xdb7093");
end;
OnTimer3605000:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : We can't stop Baphomet with the magical power of the seals anymore. Now everything depends on God...",bc_map,"0xFFFF00";
- donpcevent instance_npcname("ins_2f_hero_pattern_c")+"::OnDisable";
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : We can't stop Baphomet with the magical power of the seals anymore. Now everything depends on God..."), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("ins_2f_hero_pattern_c")+"::OnDisable");
end;
}
2@cata,3,2,0 script ins_2f_hero_pattern FAKE_NPC,{
OnInstanceInit:
- disablenpc instance_npcname("ins_2f_hero_pattern");
+ disablenpc(instance_npcname("ins_2f_hero_pattern"));
end;
OnEnable:
- enablenpc instance_npcname("ins_2f_hero_pattern");
- initnpctimer;
+ enablenpc(instance_npcname("ins_2f_hero_pattern"));
+ initnpctimer();
end;
OnDisable:
- disablenpc instance_npcname("ins_2f_hero_pattern");
- stopnpctimer;
+ disablenpc(instance_npcname("ins_2f_hero_pattern"));
+ stopnpctimer();
end;
OnTimer70000:
- switch(rand(1,5)) {
+ switch (rand(1, 5)) {
case 1:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : The seal of the Main Altar is running out. Strengthen the Main Altar's seal!",bc_map,"0xFFFF00";
- enablenpc instance_npcname("Magical Seal#0");
- disablenpc instance_npcname("Magical Seal#2");
- disablenpc instance_npcname("Magical Seal#4");
- disablenpc instance_npcname("Magical Seal#8");
- disablenpc instance_npcname("Magical Seal#10");
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The seal of the Main Altar is running out. Strengthen the Main Altar's seal!"), bc_map, C_YELLOW);
+ enablenpc(instance_npcname("Magical Seal#0"));
+ disablenpc(instance_npcname("Magical Seal#2"));
+ disablenpc(instance_npcname("Magical Seal#4"));
+ disablenpc(instance_npcname("Magical Seal#8"));
+ disablenpc(instance_npcname("Magical Seal#10"));
break;
case 2:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : The magical power of the seal at 2 o'clock is running out. Go to 2 o'clock and put the magical power in the seal.",bc_map,"0xFFFF00";
- disablenpc instance_npcname("Magical Seal#0");
- enablenpc instance_npcname("Magical Seal#2");
- disablenpc instance_npcname("Magical Seal#4");
- disablenpc instance_npcname("Magical Seal#8");
- disablenpc instance_npcname("Magical Seal#10");
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The magical power of the seal at 2 o'clock is running out. Go to 2 o'clock and put the magical power in the seal."), bc_map, C_YELLOW);
+ disablenpc(instance_npcname("Magical Seal#0"));
+ enablenpc(instance_npcname("Magical Seal#2"));
+ disablenpc(instance_npcname("Magical Seal#4"));
+ disablenpc(instance_npcname("Magical Seal#8"));
+ disablenpc(instance_npcname("Magical Seal#10"));
break;
case 3:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : The magical power of the seal at 4 o'clock is running out. Go to 4 o'clock and put the magical power in the seal.",bc_map,"0xFFFF00";
- disablenpc instance_npcname("Magical Seal#0");
- disablenpc instance_npcname("Magical Seal#2");
- enablenpc instance_npcname("Magical Seal#4");
- disablenpc instance_npcname("Magical Seal#8");
- disablenpc instance_npcname("Magical Seal#10");
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The magical power of the seal at 4 o'clock is running out. Go to 4 o'clock and put the magical power in the seal."), bc_map, C_YELLOW);
+ disablenpc(instance_npcname("Magical Seal#0"));
+ disablenpc(instance_npcname("Magical Seal#2"));
+ enablenpc(instance_npcname("Magical Seal#4"));
+ disablenpc(instance_npcname("Magical Seal#8"));
+ disablenpc(instance_npcname("Magical Seal#10"));
break;
case 4:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : The magical power of the seal at 8 o'clock is running out. Go to 8 o'clock and put the magical power in the seal.",bc_map,"0xFFFF00";
- disablenpc instance_npcname("Magical Seal#0");
- disablenpc instance_npcname("Magical Seal#2");
- disablenpc instance_npcname("Magical Seal#4");
- enablenpc instance_npcname("Magical Seal#8");
- disablenpc instance_npcname("Magical Seal#10");
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The magical power of the seal at 8 o'clock is running out. Go to 8 o'clock and put the magical power in the seal."), bc_map, C_YELLOW);
+ disablenpc(instance_npcname("Magical Seal#0"));
+ disablenpc(instance_npcname("Magical Seal#2"));
+ disablenpc(instance_npcname("Magical Seal#4"));
+ enablenpc(instance_npcname("Magical Seal#8"));
+ disablenpc(instance_npcname("Magical Seal#10"));
break;
case 5:
- mapannounce instance_mapname("2@cata"), "Ancient Hero's Soul : The magical power of the seal at 10 o'clock is running out. Go to 10 o'clock and put the magical power in the seal.",bc_map,"0xFFFF00";
- disablenpc instance_npcname("Magical Seal#0");
- disablenpc instance_npcname("Magical Seal#2");
- disablenpc instance_npcname("Magical Seal#4");
- disablenpc instance_npcname("Magical Seal#8");
- enablenpc instance_npcname("Magical Seal#10");
+ mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The magical power of the seal at 10 o'clock is running out. Go to 10 o'clock and put the magical power in the seal."), bc_map, C_YELLOW);
+ disablenpc(instance_npcname("Magical Seal#0"));
+ disablenpc(instance_npcname("Magical Seal#2"));
+ disablenpc(instance_npcname("Magical Seal#4"));
+ disablenpc(instance_npcname("Magical Seal#8"));
+ enablenpc(instance_npcname("Magical Seal#10"));
}
- stopnpctimer;
- donpcevent instance_npcname("ins_2f_hero_pattern_c")+"::OnGo";
+ stopnpctimer();
+ donpcevent(instance_npcname("ins_2f_hero_pattern_c")+"::OnGo");
end;
}
1@cata,1,1,0 script ins_1f_spawn_mobs FAKE_NPC,{
OnInstanceInit:
.@map$ = instance_mapname("1@cata");
- monster .@map$,0,0,"Zombie Master",1298,10;
- monster .@map$,0,0,"Wraith Dead",1291,10;
- //monster .@map$,0,0,"Ancient Mimic",1699,10;
- monster .@map$,0,0,"Flame Skull",1869,10;
- monster .@map$,0,0,"Skeleton General",1290,10;
- monster .@map$,0,0,"Zombie Master",1298,10;
- monster .@map$,0,0,"Skeleton General",1290,10;
- monster .@map$,0,0,"Flame Skull",1869,10;
- monster .@map$,0,0,"Wraith Dead",1291,10;
- monster .@map$,0,0,"Wraith Dead",1291,10;
- monster .@map$,0,0,"Khalitzburg",1132,10;
- monster .@map$,0,0,"Khalitzburg",1132,10;
- monster .@map$,0,0,"Flame Skull",1869,10;
- monster .@map$,0,0,"Flame Skull",1869,10;
- monster .@map$,0,0,"Ancient Mimic",1699,10;
- monster .@map$,0,0,"Zombie Master",1298,10;
- monster .@map$,0,0,"Ancient Mimic",1699,10;
- monster .@map$,0,0,"Zombie Master",1298,10;
- monster .@map$,0,0,"Wraith Dead",1291,10;
- monster .@map$,0,0,"Skeleton General",1290,10;
- monster .@map$,0,0,"Skeleton General",1290,10;
- monster .@map$,0,0,"Wind Ghost",1263,10;
- monster .@map$,0,0,"Wind Ghost",1263,10;
- monster .@map$,0,0,"Wind Ghost",1263,10;
- monster .@map$,0,0,"Lude",1509,10;
- monster .@map$,0,0,"Lude",1509,10;
- monster .@map$,0,0,"Evil Druid",1117,10;
- monster .@map$,0,0,"Evil Druid",1117,10;
- monster .@map$,0,0,"Evil Druid",1117,10;
- monster .@map$,0,0,"Banshee",1867,10;
- monster .@map$,0,0,"Dark Illusion",1302,1;
- disablenpc instance_npcname("ins_1f_spawn_mobs");
+ monster(.@map$, 0, 0, _("Zombie Master"), ZOMBIE_MASTER, 10);
+ monster(.@map$, 0, 0, _("Wraith Dead"), WRAITH_DEAD, 10);
+ //monster(.@map$, 0, 0, _("Ancient Mimic"), ANCIENT_MIMIC, 10);
+ monster(.@map$, 0, 0, _("Flame Skull"), FLAME_SKULL, 10);
+ monster(.@map$, 0, 0, _("Skeleton General"), SKELETON_GENERAL, 10);
+ monster(.@map$, 0, 0, _("Zombie Master"), ZOMBIE_MASTER, 10);
+ monster(.@map$, 0, 0, _("Skeleton General"), SKELETON_GENERAL, 10);
+ monster(.@map$, 0, 0, _("Flame Skull"), FLAME_SKULL, 10);
+ monster(.@map$, 0, 0, _("Wraith Dead"), WRAITH_DEAD, 10);
+ monster(.@map$, 0, 0, _("Wraith Dead"), WRAITH_DEAD, 10);
+ monster(.@map$, 0, 0, _("Khalitzburg"), KHALITZBURG, 10);
+ monster(.@map$, 0, 0, _("Khalitzburg"), KHALITZBURG, 10);
+ monster(.@map$, 0, 0, _("Flame Skull"), FLAME_SKULL, 10);
+ monster(.@map$, 0, 0, _("Flame Skull"), FLAME_SKULL, 10);
+ monster(.@map$, 0, 0, _("Ancient Mimic"), ANCIENT_MIMIC, 10);
+ monster(.@map$, 0, 0, _("Zombie Master"), ZOMBIE_MASTER, 10);
+ monster(.@map$, 0, 0, _("Ancient Mimic"), ANCIENT_MIMIC, 10);
+ monster(.@map$, 0, 0, _("Zombie Master"), ZOMBIE_MASTER, 10);
+ monster(.@map$, 0, 0, _("Wraith Dead"), WRAITH_DEAD, 10);
+ monster(.@map$, 0, 0, _("Skeleton General"), SKELETON_GENERAL, 10);
+ monster(.@map$, 0, 0, _("Skeleton General"), SKELETON_GENERAL, 10);
+ monster(.@map$, 0, 0, _("Wind Ghost"), WIND_GHOST, 10);
+ monster(.@map$, 0, 0, _("Wind Ghost"), WIND_GHOST, 10);
+ monster(.@map$, 0, 0, _("Wind Ghost"), WIND_GHOST, 10);
+ monster(.@map$, 0, 0, _("Lude"), LUDE, 10);
+ monster(.@map$, 0, 0, _("Lude"), LUDE, 10);
+ monster(.@map$, 0, 0, _("Evil Druid"), EVIL_DRUID, 10);
+ monster(.@map$, 0, 0, _("Evil Druid"), EVIL_DRUID, 10);
+ monster(.@map$, 0, 0, _("Evil Druid"), EVIL_DRUID, 10);
+ monster(.@map$, 0, 0, _("Banshee"), BANSHEE, 10);
+ monster(.@map$, 0, 0, _("Dark Illusion"), DARK_ILLUSION, 1);
+ disablenpc(instance_npcname("ins_1f_spawn_mobs"));
end;
}
diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt
index 40721b064..08f2177d4 100644
--- a/npc/jobs/2-1/wizard.txt
+++ b/npc/jobs/2-1/wizard.txt
@@ -1805,7 +1805,6 @@ gef_tower,107,36,4 script White Dog#wiz 4_DOG01,{
mes "It's better to just try it yourself than to listen to my descriptions.";
close2;
cutin "job_wizard_maria01",255;
- warp "gef_dun00",116,102;
end;
case 2:
mes "[Maria]";
diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt
index 1857539a5..b806d12c3 100644
--- a/npc/jobs/2-2/crusader.txt
+++ b/npc/jobs/2-2/crusader.txt
@@ -78,20 +78,6 @@ prt_castle,45,169,5 script Senior Crusader 4_M_CRU_OLD,{
mes "As it happened one thousand years ago, evil forces will one day attack in droves in an attempt to take over the world once again.";
close;
}
- else if(CRUS_Q <= 3 && countitem(Patriotism_Marks) && countitem(Sacred_Marks)) {
- mes "Ah...";
- mes "I see that you have been called to become a Crusader. We are assured of your will, but now we must test your capabilities.";
- next;
- mes "[Michael Halig]";
- mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first.";
- next;
- delitem 1004, 1;
- delitem 1009, 1;
- CRUS_Q = 4;
- mes "[Michael Halig]";
- mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests...";
- close;
- }
else if(CRUS_Q == 0) {
mes "We are Crusaders, warriors preparing for the Holy War.";
mes "What brings you";
@@ -223,6 +209,28 @@ prt_castle,45,169,5 script Senior Crusader 4_M_CRU_OLD,{
else if(CRUS_Q >= 1 && CRUS_Q <= 3) {
mes "Have you proven your determination with the task I have given you, or do you possess the items proving that you have received your calling?";
next;
+ if (countitem(Patriotism_Marks) >= 1 && countitem(Sacred_Marks) >= 1) {
+ mes "[Michael Halig]";
+ mes "Ah...";
+ mes "I see that you have been called to become a Crusader. We are assured of your will, but now we must test your capabilities.";
+ next;
+ mes "[Michael Halig]";
+ mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first.";
+ next;
+ delitem Patriotism_Marks, 1;
+ delitem Sacred_Marks, 1;
+ CRUS_Q = 4;
+ if (questprogress(3006)) {
+ changequest 3006,3009;
+ } else if (questprogress(3007)) {
+ changequest 3007,3009;
+ } else {
+ changequest 3008,3009;
+ }
+ mes "[Michael Halig]";
+ mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests...";
+ close;
+ }
switch(CRUS_Q) {
case 1:
.@item1 = 957;
diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt
index cb5492046..49245e1ed 100644
--- a/npc/jobs/2-2/sage.txt
+++ b/npc/jobs/2-2/sage.txt
@@ -705,22 +705,36 @@ yuno_in03,105,177,5 script Written Test Professor#s 4_M_SAGE_A,{
mes "Come again when you finish the application.";
close;
}
- else if (SAGE_Q == 4) {
- mes "Welcome to the Schweicherbil Magic Academy.";
- mes "You applied for this test already, didn't you?";
- next;
- mes "[Claytos Verdo]";
- mes "Let's see, your name is " + strcharinfo(PC_NAME) + "...";
- mes "Okay, let's get started!";
- next;
- mes "[Claytos Verdo]";
- mes "The test that I am going to give you will test your knowledge on all of the academic subjects in the world.";
- mes "I will give you 20 questions, with each question being worth 5 points. When you earn a grade of 80 points, you will pass the test.";
- next;
- mes "[Claytos Verdo]";
- mes "Okay, there's no need to wait. Let's start right away";
- mes "Oh, and if you don't answer immediately, the test will be cancelled.";
-L_AskQuestions:
+ else if (SAGE_Q == 4 || SAGE_Q == 5) {
+ if (SAGE_Q == 4) {
+ mes "Welcome to the Schweicherbil Magic Academy.";
+ mes "You applied for this test already, didn't you?";
+ next;
+ mes "[Claytos Verdo]";
+ mes "Let's see, your name is " + strcharinfo(PC_NAME) + "...";
+ mes "Okay, let's get started!";
+ next;
+ mes "[Claytos Verdo]";
+ mes "The test that I am going to give you will test your knowledge on all of the academic subjects in the world.";
+ mes "I will give you 20 questions, with each question being worth 5 points. When you earn a grade of 80 points, you will pass the test.";
+ next;
+ mes "[Claytos Verdo]";
+ mes "Okay, there's no need to wait. Let's start right away";
+ mes "Oh, and if you don't answer immediately, the test will be cancelled.";
+ } else if (SAGE_Q == 5) {
+ mes "Welcome back.";
+ mes "So, did you study harder this time?";
+ next;
+ mes "[Claytos Verdo]";
+ mes "You will take the written test under the same conditions as the test you took before. I'll give you 20 questions.";
+ mes "Each correct answer will give you 5 points. When your score reaches 80 points, you pass the test.";
+ next;
+ sage_m2 = rand(1,3);
+ mes "[Claytos Verdo]";
+ mes "Okay, there's no need to wait.";
+ mes "Answer immediately, or I'll fail you again.";
+ SAGE_Q = 5;
+ }
next;
switch(rand(1,3)) {
case 1:
@@ -1025,22 +1039,6 @@ L_AskQuestions:
}
close;
}
- else if (SAGE_Q == 5) {
- mes "Welcome back.";
- mes "So, did you study harder this time?";
- next;
- mes "[Claytos Verdo]";
- mes "You will take the written test under the same conditions as the test you took before. I'll give you 20 questions.";
- mes "Each correct answer will give you 5 points. When your score reaches 80 points, you pass the test.";
- next;
- sage_m2 = rand(1,3);
- mes "[Claytos Verdo]";
- mes "Okay, there's no need to wait.";
- mes "Answer immediately, or I'll fail you again.";
- SAGE_Q = 5;
- goto L_AskQuestions;
- end;
- }
else if (SAGE_Q == 6) {
mes "What else do you want?! Do you want to take this test again?";
mes "You've already passed!";
diff --git a/npc/jobs/2-2e/SoulLinker.txt b/npc/jobs/2-2e/SoulLinker.txt
index c67e9b9f5..6fc4e3aaa 100644
--- a/npc/jobs/2-2e/SoulLinker.txt
+++ b/npc/jobs/2-2e/SoulLinker.txt
@@ -434,7 +434,7 @@ OnTouch:
mes "[Maia]";
mes "This Witherless Rose will";
mes "wither away instead of you...";
- specialeffect EF_MAPPILLAR2,AREA,"Maia#link2";
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("Maia#link2"));
next;
mes "[Maia]";
mes "This Witherless Rose will";
diff --git a/npc/kafras/functions_kafras.txt b/npc/kafras/functions_kafras.txt
index e1e547174..90334cc6e 100644
--- a/npc/kafras/functions_kafras.txt
+++ b/npc/kafras/functions_kafras.txt
@@ -216,14 +216,23 @@ function script F_KafStor {
// Niflheim Specific Message
if (getarg(2) == 1) {
mes "^666666S-s-ssoooorry,";
- mes "y-you're a-a-aaaa";
- mes "Nooviiice... N-neeeds";
- mes "B-basic sssskill l-level 6...^000000";
+ if (Class == Job_Summoner) {
+ mes "y-you n-neeed";
+ mes "N-new b-basic sssskill...^000000";
+ } else {
+ mes "y-you're a-a-aaaa";
+ mes "Nooviiice... N-neeeds";
+ mes "B-basic sssskill l-level 6...^000000";
+ }
return;
}
mes "I'm sorry, but you";
- mes "need the Novice's";
- mes "Basic Skill Level 6 to";
+ if (Class == Job_Summoner) {
+ mes "need the New Basic Skill to";
+ } else {
+ mes "need the Novice's";
+ mes "Basic Skill Level 6 to";
+ }
mes "use the Storage Service.";
return;
}
diff --git a/npc/mapflag/noteleport.txt b/npc/mapflag/noteleport.txt
index 700964da4..b80498f89 100644
--- a/npc/mapflag/noteleport.txt
+++ b/npc/mapflag/noteleport.txt
@@ -154,6 +154,7 @@ thor_camp mapflag noteleport
moc_para01 mapflag noteleport
// Job Quests ====================
+pay_arche mapflag noteleport
job_sword1 mapflag noteleport
job_thief1 mapflag noteleport
// 2-1 -----------------------
diff --git a/npc/mapflag/private_airship.txt b/npc/mapflag/private_airship.txt
new file mode 100644
index 000000000..4258f486d
--- /dev/null
+++ b/npc/mapflag/private_airship.txt
@@ -0,0 +1,725 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) Asheraf
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+
+// Private Airship Startable Maps
+abbey01 mapflag pairship_startable
+abbey02 mapflag pairship_startable
+abbey03 mapflag pairship_startable
+abyss_01 mapflag pairship_startable
+abyss_02 mapflag pairship_startable
+abyss_03 mapflag pairship_startable
+alb2trea mapflag pairship_startable
+alberta mapflag pairship_startable
+alde_dun01 mapflag pairship_startable
+alde_dun02 mapflag pairship_startable
+alde_dun03 mapflag pairship_startable
+alde_dun04 mapflag pairship_startable
+alde_gld mapflag pairship_startable
+aldebaran mapflag pairship_startable
+ama_dun01 mapflag pairship_startable
+ama_dun02 mapflag pairship_startable
+ama_dun03 mapflag pairship_startable
+ama_fild01 mapflag pairship_startable
+amatsu mapflag pairship_startable
+anthell01 mapflag pairship_startable
+anthell02 mapflag pairship_startable
+aru_gld mapflag pairship_startable
+ayo_dun01 mapflag pairship_startable
+ayo_dun02 mapflag pairship_startable
+ayo_fild01 mapflag pairship_startable
+ayothaya mapflag pairship_startable
+beach_dun mapflag pairship_startable
+beach_dun2 mapflag pairship_startable
+beach_dun3 mapflag pairship_startable
+bif_fild01 mapflag pairship_startable
+bif_fild02 mapflag pairship_startable
+bra_dun01 mapflag pairship_startable
+bra_dun02 mapflag pairship_startable
+bra_fild01 mapflag pairship_startable
+brasilis mapflag pairship_startable
+c_tower1 mapflag pairship_startable
+c_tower2 mapflag pairship_startable
+c_tower3 mapflag pairship_startable
+c_tower4 mapflag pairship_startable
+cmd_fild01 mapflag pairship_startable
+cmd_fild02 mapflag pairship_startable
+cmd_fild03 mapflag pairship_startable
+cmd_fild04 mapflag pairship_startable
+cmd_fild06 mapflag pairship_startable
+cmd_fild07 mapflag pairship_startable
+cmd_fild08 mapflag pairship_startable
+cmd_fild09 mapflag pairship_startable
+comodo mapflag pairship_startable
+dali mapflag pairship_startable
+dali02 mapflag pairship_startable
+dew_dun01 mapflag pairship_startable
+dew_dun02 mapflag pairship_startable
+dew_fild01 mapflag pairship_startable
+dewata mapflag pairship_startable
+dic_dun01 mapflag pairship_startable
+dic_dun02 mapflag pairship_startable
+dic_dun03 mapflag pairship_startable
+dic_fild01 mapflag pairship_startable
+dic_fild02 mapflag pairship_startable
+dicastes01 mapflag pairship_startable
+dicastes02 mapflag pairship_startable
+ecl_fild01 mapflag pairship_startable
+ecl_tdun01 mapflag pairship_startable
+ecl_tdun02 mapflag pairship_startable
+ecl_tdun03 mapflag pairship_startable
+eclage mapflag pairship_startable
+ein_dun01 mapflag pairship_startable
+ein_dun02 mapflag pairship_startable
+ein_fild01 mapflag pairship_startable
+ein_fild03 mapflag pairship_startable
+ein_fild04 mapflag pairship_startable
+ein_fild05 mapflag pairship_startable
+ein_fild06 mapflag pairship_startable
+ein_fild07 mapflag pairship_startable
+ein_fild08 mapflag pairship_startable
+ein_fild09 mapflag pairship_startable
+einbech mapflag pairship_startable
+einbroch mapflag pairship_startable
+gef_dun00 mapflag pairship_startable
+gef_dun01 mapflag pairship_startable
+gef_dun02 mapflag pairship_startable
+gef_fild00 mapflag pairship_startable
+gef_fild01 mapflag pairship_startable
+gef_fild02 mapflag pairship_startable
+gef_fild03 mapflag pairship_startable
+gef_fild04 mapflag pairship_startable
+gef_fild05 mapflag pairship_startable
+gef_fild06 mapflag pairship_startable
+gef_fild07 mapflag pairship_startable
+gef_fild08 mapflag pairship_startable
+gef_fild09 mapflag pairship_startable
+gef_fild10 mapflag pairship_startable
+gef_fild11 mapflag pairship_startable
+gef_fild12 mapflag pairship_startable
+gef_fild13 mapflag pairship_startable
+gef_fild14 mapflag pairship_startable
+gefenia01 mapflag pairship_startable
+gefenia02 mapflag pairship_startable
+gefenia03 mapflag pairship_startable
+gefenia04 mapflag pairship_startable
+geffen mapflag pairship_startable
+gl_cas01 mapflag pairship_startable
+gl_cas02 mapflag pairship_startable
+gl_church mapflag pairship_startable
+gl_chyard mapflag pairship_startable
+gl_dun01 mapflag pairship_startable
+gl_dun02 mapflag pairship_startable
+gl_in01 mapflag pairship_startable
+gl_knt01 mapflag pairship_startable
+gl_knt02 mapflag pairship_startable
+gl_prison mapflag pairship_startable
+gl_prison1 mapflag pairship_startable
+gl_sew01 mapflag pairship_startable
+gl_sew02 mapflag pairship_startable
+gl_sew03 mapflag pairship_startable
+gl_sew04 mapflag pairship_startable
+gl_step mapflag pairship_startable
+glast_01 mapflag pairship_startable
+gon_dun01 mapflag pairship_startable
+gon_dun02 mapflag pairship_startable
+gon_dun03 mapflag pairship_startable
+gon_fild01 mapflag pairship_startable
+gonryun mapflag pairship_startable
+hu_fild01 mapflag pairship_startable
+hu_fild02 mapflag pairship_startable
+hu_fild04 mapflag pairship_startable
+hu_fild05 mapflag pairship_startable
+hu_fild06 mapflag pairship_startable
+hugel mapflag pairship_startable
+ice_dun01 mapflag pairship_startable
+ice_dun02 mapflag pairship_startable
+ice_dun03 mapflag pairship_startable
+in_sphinx1 mapflag pairship_startable
+in_sphinx2 mapflag pairship_startable
+in_sphinx3 mapflag pairship_startable
+in_sphinx4 mapflag pairship_startable
+in_sphinx5 mapflag pairship_startable
+iz_dun00 mapflag pairship_startable
+iz_dun01 mapflag pairship_startable
+iz_dun02 mapflag pairship_startable
+iz_dun03 mapflag pairship_startable
+iz_dun04 mapflag pairship_startable
+iz_dun05 mapflag pairship_startable
+izlu2dun mapflag pairship_startable
+izlude mapflag pairship_startable
+jupe_core mapflag pairship_startable
+juperos_01 mapflag pairship_startable
+juperos_02 mapflag pairship_startable
+kh_dun01 mapflag pairship_startable
+kh_dun02 mapflag pairship_startable
+lasa_dun01 mapflag pairship_startable
+lasa_dun02 mapflag pairship_startable
+lasa_dun03 mapflag pairship_startable
+lasa_fild01 mapflag pairship_startable
+lasa_fild02 mapflag pairship_startable
+lasagna mapflag pairship_startable
+lhz_dun01 mapflag pairship_startable
+lhz_dun02 mapflag pairship_startable
+lhz_dun03 mapflag pairship_startable
+lhz_fild01 mapflag pairship_startable
+lhz_fild02 mapflag pairship_startable
+lhz_fild03 mapflag pairship_startable
+lighthalzen mapflag pairship_startable
+lou_dun01 mapflag pairship_startable
+lou_dun02 mapflag pairship_startable
+lou_dun03 mapflag pairship_startable
+lou_fild01 mapflag pairship_startable
+louyang mapflag pairship_startable
+ma_dun01 mapflag pairship_startable
+ma_fild01 mapflag pairship_startable
+ma_fild02 mapflag pairship_startable
+ma_scene01 mapflag pairship_startable
+mag_dun01 mapflag pairship_startable
+mag_dun02 mapflag pairship_startable
+mal_dun01 mapflag pairship_startable
+malangdo mapflag pairship_startable
+malaya mapflag pairship_startable
+man_fild01 mapflag pairship_startable
+man_fild02 mapflag pairship_startable
+man_fild03 mapflag pairship_startable
+manuk mapflag pairship_startable
+mid_camp mapflag pairship_startable
+mjo_dun01 mapflag pairship_startable
+mjo_dun02 mapflag pairship_startable
+mjo_dun03 mapflag pairship_startable
+mjolnir_01 mapflag pairship_startable
+mjolnir_02 mapflag pairship_startable
+mjolnir_03 mapflag pairship_startable
+mjolnir_04 mapflag pairship_startable
+mjolnir_05 mapflag pairship_startable
+mjolnir_06 mapflag pairship_startable
+mjolnir_07 mapflag pairship_startable
+mjolnir_08 mapflag pairship_startable
+mjolnir_09 mapflag pairship_startable
+mjolnir_10 mapflag pairship_startable
+mjolnir_11 mapflag pairship_startable
+mjolnir_12 mapflag pairship_startable
+moc_fild01 mapflag pairship_startable
+moc_fild02 mapflag pairship_startable
+moc_fild03 mapflag pairship_startable
+moc_fild04 mapflag pairship_startable
+moc_fild05 mapflag pairship_startable
+moc_fild06 mapflag pairship_startable
+moc_fild07 mapflag pairship_startable
+moc_fild08 mapflag pairship_startable
+moc_fild09 mapflag pairship_startable
+moc_fild10 mapflag pairship_startable
+moc_fild11 mapflag pairship_startable
+moc_fild12 mapflag pairship_startable
+moc_fild13 mapflag pairship_startable
+moc_fild14 mapflag pairship_startable
+moc_fild15 mapflag pairship_startable
+moc_fild16 mapflag pairship_startable
+moc_fild17 mapflag pairship_startable
+moc_fild18 mapflag pairship_startable
+moc_fild19 mapflag pairship_startable
+moc_pryd01 mapflag pairship_startable
+moc_pryd02 mapflag pairship_startable
+moc_pryd03 mapflag pairship_startable
+moc_pryd04 mapflag pairship_startable
+moc_pryd05 mapflag pairship_startable
+moc_pryd06 mapflag pairship_startable
+moc_ruins mapflag pairship_startable
+mora mapflag pairship_startable
+moro_cav mapflag pairship_startable
+moro_vol mapflag pairship_startable
+morocc mapflag pairship_startable
+moscovia mapflag pairship_startable
+mosk_dun01 mapflag pairship_startable
+mosk_dun02 mapflag pairship_startable
+mosk_dun03 mapflag pairship_startable
+mosk_fild02 mapflag pairship_startable
+nameless_n mapflag pairship_startable
+nif_fild01 mapflag pairship_startable
+nif_fild02 mapflag pairship_startable
+niflheim mapflag pairship_startable
+odin_tem01 mapflag pairship_startable
+odin_tem02 mapflag pairship_startable
+odin_tem03 mapflag pairship_startable
+orcsdun01 mapflag pairship_startable
+orcsdun02 mapflag pairship_startable
+pay_arche mapflag pairship_startable
+pay_dun00 mapflag pairship_startable
+pay_dun01 mapflag pairship_startable
+pay_dun02 mapflag pairship_startable
+pay_dun03 mapflag pairship_startable
+pay_dun04 mapflag pairship_startable
+pay_fild01 mapflag pairship_startable
+pay_fild02 mapflag pairship_startable
+pay_fild03 mapflag pairship_startable
+pay_fild04 mapflag pairship_startable
+pay_fild05 mapflag pairship_startable
+pay_fild06 mapflag pairship_startable
+pay_fild07 mapflag pairship_startable
+pay_fild08 mapflag pairship_startable
+pay_fild09 mapflag pairship_startable
+pay_fild10 mapflag pairship_startable
+pay_fild11 mapflag pairship_startable
+payon mapflag pairship_startable
+prontera mapflag pairship_startable
+prt_fild00 mapflag pairship_startable
+prt_fild01 mapflag pairship_startable
+prt_fild02 mapflag pairship_startable
+prt_fild03 mapflag pairship_startable
+prt_fild04 mapflag pairship_startable
+prt_fild05 mapflag pairship_startable
+prt_fild06 mapflag pairship_startable
+prt_fild07 mapflag pairship_startable
+prt_fild08 mapflag pairship_startable
+prt_fild09 mapflag pairship_startable
+prt_fild10 mapflag pairship_startable
+prt_fild11 mapflag pairship_startable
+prt_maze01 mapflag pairship_startable
+prt_maze02 mapflag pairship_startable
+prt_maze03 mapflag pairship_startable
+prt_monk mapflag pairship_startable
+prt_sewb1 mapflag pairship_startable
+prt_sewb2 mapflag pairship_startable
+prt_sewb3 mapflag pairship_startable
+prt_sewb4 mapflag pairship_startable
+ra_fild01 mapflag pairship_startable
+ra_fild03 mapflag pairship_startable
+ra_fild04 mapflag pairship_startable
+ra_fild05 mapflag pairship_startable
+ra_fild06 mapflag pairship_startable
+ra_fild08 mapflag pairship_startable
+ra_fild12 mapflag pairship_startable
+ra_san01 mapflag pairship_startable
+ra_san02 mapflag pairship_startable
+ra_san03 mapflag pairship_startable
+ra_san04 mapflag pairship_startable
+ra_san05 mapflag pairship_startable
+ra_temple mapflag pairship_startable
+rachel mapflag pairship_startable
+spl_fild01 mapflag pairship_startable
+spl_fild02 mapflag pairship_startable
+spl_fild03 mapflag pairship_startable
+splendide mapflag pairship_startable
+tha_t01 mapflag pairship_startable
+tha_t02 mapflag pairship_startable
+tha_t03 mapflag pairship_startable
+tha_t04 mapflag pairship_startable
+tha_t05 mapflag pairship_startable
+tha_t06 mapflag pairship_startable
+tha_t07 mapflag pairship_startable
+tha_t08 mapflag pairship_startable
+tha_t09 mapflag pairship_startable
+tha_t10 mapflag pairship_startable
+tha_t11 mapflag pairship_startable
+tha_t12 mapflag pairship_startable
+thor_v01 mapflag pairship_startable
+thor_v02 mapflag pairship_startable
+thor_v03 mapflag pairship_startable
+treasure01 mapflag pairship_startable
+treasure02 mapflag pairship_startable
+tur_dun01 mapflag pairship_startable
+tur_dun02 mapflag pairship_startable
+tur_dun03 mapflag pairship_startable
+tur_dun04 mapflag pairship_startable
+tur_dun05 mapflag pairship_startable
+um_fild01 mapflag pairship_startable
+um_fild02 mapflag pairship_startable
+um_fild03 mapflag pairship_startable
+um_fild04 mapflag pairship_startable
+umbala mapflag pairship_startable
+ve_fild01 mapflag pairship_startable
+ve_fild02 mapflag pairship_startable
+ve_fild03 mapflag pairship_startable
+ve_fild04 mapflag pairship_startable
+ve_fild06 mapflag pairship_startable
+ve_fild07 mapflag pairship_startable
+veins mapflag pairship_startable
+ver_eju mapflag pairship_startable
+ver_tunn mapflag pairship_startable
+verus03 mapflag pairship_startable
+verus04 mapflag pairship_startable
+yuno mapflag pairship_startable
+yuno_fild01 mapflag pairship_startable
+yuno_fild02 mapflag pairship_startable
+yuno_fild03 mapflag pairship_startable
+yuno_fild04 mapflag pairship_startable
+yuno_fild06 mapflag pairship_startable
+yuno_fild07 mapflag pairship_startable
+yuno_fild08 mapflag pairship_startable
+yuno_fild09 mapflag pairship_startable
+yuno_fild11 mapflag pairship_startable
+yuno_fild12 mapflag pairship_startable
+
+// Private Airship Endable Maps
+abbey01 mapflag pairship_endable
+abbey02 mapflag pairship_endable
+abbey03 mapflag pairship_endable
+abyss_01 mapflag pairship_endable
+abyss_02 mapflag pairship_endable
+abyss_03 mapflag pairship_endable
+alb2trea mapflag pairship_endable
+alberta mapflag pairship_endable
+alde_dun01 mapflag pairship_endable
+alde_dun02 mapflag pairship_endable
+alde_dun03 mapflag pairship_endable
+alde_dun04 mapflag pairship_endable
+alde_gld mapflag pairship_endable
+aldebaran mapflag pairship_endable
+ama_dun01 mapflag pairship_endable
+ama_dun02 mapflag pairship_endable
+ama_dun03 mapflag pairship_endable
+ama_fild01 mapflag pairship_endable
+amatsu mapflag pairship_endable
+anthell01 mapflag pairship_endable
+anthell02 mapflag pairship_endable
+aru_gld mapflag pairship_endable
+ayo_dun01 mapflag pairship_endable
+ayo_dun02 mapflag pairship_endable
+ayo_fild01 mapflag pairship_endable
+ayothaya mapflag pairship_endable
+beach_dun mapflag pairship_endable
+beach_dun2 mapflag pairship_endable
+beach_dun3 mapflag pairship_endable
+bif_fild01 mapflag pairship_endable
+bif_fild02 mapflag pairship_endable
+bra_dun01 mapflag pairship_endable
+bra_dun02 mapflag pairship_endable
+bra_fild01 mapflag pairship_endable
+brasilis mapflag pairship_endable
+c_tower1 mapflag pairship_endable
+c_tower2 mapflag pairship_endable
+c_tower3 mapflag pairship_endable
+c_tower4 mapflag pairship_endable
+cmd_fild01 mapflag pairship_endable
+cmd_fild02 mapflag pairship_endable
+cmd_fild03 mapflag pairship_endable
+cmd_fild04 mapflag pairship_endable
+cmd_fild06 mapflag pairship_endable
+cmd_fild07 mapflag pairship_endable
+cmd_fild08 mapflag pairship_endable
+cmd_fild09 mapflag pairship_endable
+comodo mapflag pairship_endable
+dali mapflag pairship_endable
+dali02 mapflag pairship_endable
+dew_dun01 mapflag pairship_endable
+dew_dun02 mapflag pairship_endable
+dew_fild01 mapflag pairship_endable
+dewata mapflag pairship_endable
+dic_dun01 mapflag pairship_endable
+dic_dun02 mapflag pairship_endable
+dic_dun03 mapflag pairship_endable
+dic_fild01 mapflag pairship_endable
+dic_fild02 mapflag pairship_endable
+dicastes01 mapflag pairship_endable
+dicastes02 mapflag pairship_endable
+ecl_fild01 mapflag pairship_endable
+ecl_tdun01 mapflag pairship_endable
+ecl_tdun02 mapflag pairship_endable
+ecl_tdun03 mapflag pairship_endable
+eclage mapflag pairship_endable
+ein_dun01 mapflag pairship_endable
+ein_dun02 mapflag pairship_endable
+ein_fild01 mapflag pairship_endable
+ein_fild03 mapflag pairship_endable
+ein_fild04 mapflag pairship_endable
+ein_fild05 mapflag pairship_endable
+ein_fild06 mapflag pairship_endable
+ein_fild07 mapflag pairship_endable
+ein_fild08 mapflag pairship_endable
+ein_fild09 mapflag pairship_endable
+einbech mapflag pairship_endable
+einbroch mapflag pairship_endable
+gef_dun00 mapflag pairship_endable
+gef_dun01 mapflag pairship_endable
+gef_dun02 mapflag pairship_endable
+gef_fild00 mapflag pairship_endable
+gef_fild01 mapflag pairship_endable
+gef_fild02 mapflag pairship_endable
+gef_fild03 mapflag pairship_endable
+gef_fild04 mapflag pairship_endable
+gef_fild05 mapflag pairship_endable
+gef_fild06 mapflag pairship_endable
+gef_fild07 mapflag pairship_endable
+gef_fild08 mapflag pairship_endable
+gef_fild09 mapflag pairship_endable
+gef_fild10 mapflag pairship_endable
+gef_fild11 mapflag pairship_endable
+gef_fild12 mapflag pairship_endable
+gef_fild13 mapflag pairship_endable
+gef_fild14 mapflag pairship_endable
+gefenia01 mapflag pairship_endable
+gefenia02 mapflag pairship_endable
+gefenia03 mapflag pairship_endable
+gefenia04 mapflag pairship_endable
+geffen mapflag pairship_endable
+gl_cas01 mapflag pairship_endable
+gl_cas02 mapflag pairship_endable
+gl_church mapflag pairship_endable
+gl_chyard mapflag pairship_endable
+gl_dun01 mapflag pairship_endable
+gl_dun02 mapflag pairship_endable
+gl_in01 mapflag pairship_endable
+gl_knt01 mapflag pairship_endable
+gl_knt02 mapflag pairship_endable
+gl_prison mapflag pairship_endable
+gl_prison1 mapflag pairship_endable
+gl_sew01 mapflag pairship_endable
+gl_sew02 mapflag pairship_endable
+gl_sew03 mapflag pairship_endable
+gl_sew04 mapflag pairship_endable
+gl_step mapflag pairship_endable
+glast_01 mapflag pairship_endable
+gon_dun01 mapflag pairship_endable
+gon_dun02 mapflag pairship_endable
+gon_dun03 mapflag pairship_endable
+gon_fild01 mapflag pairship_endable
+gonryun mapflag pairship_endable
+hu_fild01 mapflag pairship_endable
+hu_fild02 mapflag pairship_endable
+hu_fild04 mapflag pairship_endable
+hu_fild05 mapflag pairship_endable
+hu_fild06 mapflag pairship_endable
+hugel mapflag pairship_endable
+ice_dun01 mapflag pairship_endable
+ice_dun02 mapflag pairship_endable
+ice_dun03 mapflag pairship_endable
+in_sphinx1 mapflag pairship_endable
+in_sphinx2 mapflag pairship_endable
+in_sphinx3 mapflag pairship_endable
+in_sphinx4 mapflag pairship_endable
+in_sphinx5 mapflag pairship_endable
+iz_dun00 mapflag pairship_endable
+iz_dun01 mapflag pairship_endable
+iz_dun02 mapflag pairship_endable
+iz_dun03 mapflag pairship_endable
+iz_dun04 mapflag pairship_endable
+iz_dun05 mapflag pairship_endable
+izlu2dun mapflag pairship_endable
+izlude mapflag pairship_endable
+jupe_core mapflag pairship_endable
+juperos_01 mapflag pairship_endable
+juperos_02 mapflag pairship_endable
+kh_dun01 mapflag pairship_endable
+kh_dun02 mapflag pairship_endable
+lasa_dun01 mapflag pairship_endable
+lasa_dun02 mapflag pairship_endable
+lasa_dun03 mapflag pairship_endable
+lasa_fild01 mapflag pairship_endable
+lasa_fild02 mapflag pairship_endable
+lasagna mapflag pairship_endable
+lhz_dun01 mapflag pairship_endable
+lhz_dun02 mapflag pairship_endable
+lhz_dun03 mapflag pairship_endable
+lhz_fild01 mapflag pairship_endable
+lhz_fild02 mapflag pairship_endable
+lhz_fild03 mapflag pairship_endable
+lighthalzen mapflag pairship_endable
+lou_dun01 mapflag pairship_endable
+lou_dun02 mapflag pairship_endable
+lou_dun03 mapflag pairship_endable
+lou_fild01 mapflag pairship_endable
+louyang mapflag pairship_endable
+ma_dun01 mapflag pairship_endable
+ma_fild01 mapflag pairship_endable
+ma_fild02 mapflag pairship_endable
+ma_scene01 mapflag pairship_endable
+mag_dun01 mapflag pairship_endable
+mag_dun02 mapflag pairship_endable
+mal_dun01 mapflag pairship_endable
+malangdo mapflag pairship_endable
+malaya mapflag pairship_endable
+man_fild01 mapflag pairship_endable
+man_fild02 mapflag pairship_endable
+man_fild03 mapflag pairship_endable
+manuk mapflag pairship_endable
+mid_camp mapflag pairship_endable
+mjo_dun01 mapflag pairship_endable
+mjo_dun02 mapflag pairship_endable
+mjo_dun03 mapflag pairship_endable
+mjolnir_01 mapflag pairship_endable
+mjolnir_02 mapflag pairship_endable
+mjolnir_03 mapflag pairship_endable
+mjolnir_04 mapflag pairship_endable
+mjolnir_05 mapflag pairship_endable
+mjolnir_06 mapflag pairship_endable
+mjolnir_07 mapflag pairship_endable
+mjolnir_08 mapflag pairship_endable
+mjolnir_09 mapflag pairship_endable
+mjolnir_10 mapflag pairship_endable
+mjolnir_11 mapflag pairship_endable
+mjolnir_12 mapflag pairship_endable
+moc_fild01 mapflag pairship_endable
+moc_fild02 mapflag pairship_endable
+moc_fild03 mapflag pairship_endable
+moc_fild04 mapflag pairship_endable
+moc_fild05 mapflag pairship_endable
+moc_fild06 mapflag pairship_endable
+moc_fild07 mapflag pairship_endable
+moc_fild08 mapflag pairship_endable
+moc_fild09 mapflag pairship_endable
+moc_fild10 mapflag pairship_endable
+moc_fild11 mapflag pairship_endable
+moc_fild12 mapflag pairship_endable
+moc_fild13 mapflag pairship_endable
+moc_fild14 mapflag pairship_endable
+moc_fild15 mapflag pairship_endable
+moc_fild16 mapflag pairship_endable
+moc_fild17 mapflag pairship_endable
+moc_fild18 mapflag pairship_endable
+moc_fild19 mapflag pairship_endable
+moc_pryd01 mapflag pairship_endable
+moc_pryd02 mapflag pairship_endable
+moc_pryd03 mapflag pairship_endable
+moc_pryd04 mapflag pairship_endable
+moc_pryd05 mapflag pairship_endable
+moc_pryd06 mapflag pairship_endable
+moc_ruins mapflag pairship_endable
+mora mapflag pairship_endable
+moro_cav mapflag pairship_endable
+moro_vol mapflag pairship_endable
+morocc mapflag pairship_endable
+moscovia mapflag pairship_endable
+mosk_dun01 mapflag pairship_endable
+mosk_dun02 mapflag pairship_endable
+mosk_dun03 mapflag pairship_endable
+mosk_fild02 mapflag pairship_endable
+nameless_n mapflag pairship_endable
+nif_fild01 mapflag pairship_endable
+nif_fild02 mapflag pairship_endable
+niflheim mapflag pairship_endable
+odin_tem01 mapflag pairship_endable
+odin_tem02 mapflag pairship_endable
+odin_tem03 mapflag pairship_endable
+orcsdun01 mapflag pairship_endable
+orcsdun02 mapflag pairship_endable
+pay_arche mapflag pairship_endable
+pay_dun00 mapflag pairship_endable
+pay_dun01 mapflag pairship_endable
+pay_dun02 mapflag pairship_endable
+pay_dun03 mapflag pairship_endable
+pay_dun04 mapflag pairship_endable
+pay_fild01 mapflag pairship_endable
+pay_fild02 mapflag pairship_endable
+pay_fild03 mapflag pairship_endable
+pay_fild04 mapflag pairship_endable
+pay_fild05 mapflag pairship_endable
+pay_fild06 mapflag pairship_endable
+pay_fild07 mapflag pairship_endable
+pay_fild08 mapflag pairship_endable
+pay_fild09 mapflag pairship_endable
+pay_fild10 mapflag pairship_endable
+pay_fild11 mapflag pairship_endable
+payon mapflag pairship_endable
+prontera mapflag pairship_endable
+prt_fild00 mapflag pairship_endable
+prt_fild01 mapflag pairship_endable
+prt_fild02 mapflag pairship_endable
+prt_fild03 mapflag pairship_endable
+prt_fild04 mapflag pairship_endable
+prt_fild05 mapflag pairship_endable
+prt_fild06 mapflag pairship_endable
+prt_fild07 mapflag pairship_endable
+prt_fild08 mapflag pairship_endable
+prt_fild09 mapflag pairship_endable
+prt_fild10 mapflag pairship_endable
+prt_fild11 mapflag pairship_endable
+prt_maze01 mapflag pairship_endable
+prt_maze02 mapflag pairship_endable
+prt_maze03 mapflag pairship_endable
+prt_monk mapflag pairship_endable
+prt_sewb1 mapflag pairship_endable
+prt_sewb2 mapflag pairship_endable
+prt_sewb3 mapflag pairship_endable
+prt_sewb4 mapflag pairship_endable
+ra_fild01 mapflag pairship_endable
+ra_fild03 mapflag pairship_endable
+ra_fild04 mapflag pairship_endable
+ra_fild05 mapflag pairship_endable
+ra_fild06 mapflag pairship_endable
+ra_fild08 mapflag pairship_endable
+ra_fild12 mapflag pairship_endable
+ra_san01 mapflag pairship_endable
+ra_san02 mapflag pairship_endable
+ra_san03 mapflag pairship_endable
+ra_san04 mapflag pairship_endable
+ra_san05 mapflag pairship_endable
+ra_temple mapflag pairship_endable
+rachel mapflag pairship_endable
+spl_fild01 mapflag pairship_endable
+spl_fild02 mapflag pairship_endable
+spl_fild03 mapflag pairship_endable
+splendide mapflag pairship_endable
+tha_t01 mapflag pairship_endable
+tha_t02 mapflag pairship_endable
+tha_t03 mapflag pairship_endable
+tha_t04 mapflag pairship_endable
+tha_t05 mapflag pairship_endable
+tha_t06 mapflag pairship_endable
+tha_t07 mapflag pairship_endable
+tha_t08 mapflag pairship_endable
+tha_t09 mapflag pairship_endable
+tha_t10 mapflag pairship_endable
+tha_t11 mapflag pairship_endable
+tha_t12 mapflag pairship_endable
+thor_v01 mapflag pairship_endable
+thor_v02 mapflag pairship_endable
+thor_v03 mapflag pairship_endable
+treasure01 mapflag pairship_endable
+treasure02 mapflag pairship_endable
+tur_dun01 mapflag pairship_endable
+tur_dun02 mapflag pairship_endable
+tur_dun03 mapflag pairship_endable
+tur_dun04 mapflag pairship_endable
+tur_dun05 mapflag pairship_endable
+um_fild01 mapflag pairship_endable
+um_fild02 mapflag pairship_endable
+um_fild03 mapflag pairship_endable
+um_fild04 mapflag pairship_endable
+umbala mapflag pairship_endable
+ve_fild01 mapflag pairship_endable
+ve_fild02 mapflag pairship_endable
+ve_fild03 mapflag pairship_endable
+ve_fild04 mapflag pairship_endable
+ve_fild06 mapflag pairship_endable
+ve_fild07 mapflag pairship_endable
+veins mapflag pairship_endable
+ver_eju mapflag pairship_endable
+ver_tunn mapflag pairship_endable
+verus03 mapflag pairship_endable
+verus04 mapflag pairship_endable
+yuno mapflag pairship_endable
+yuno_fild01 mapflag pairship_endable
+yuno_fild02 mapflag pairship_endable
+yuno_fild03 mapflag pairship_endable
+yuno_fild04 mapflag pairship_endable
+yuno_fild06 mapflag pairship_endable
+yuno_fild07 mapflag pairship_endable
+yuno_fild08 mapflag pairship_endable
+yuno_fild09 mapflag pairship_endable
+yuno_fild11 mapflag pairship_endable
+yuno_fild12 mapflag pairship_endable
diff --git a/npc/merchants/advanced_refiner.txt b/npc/merchants/advanced_refiner.txt
index e75912f4c..9632f95f7 100644
--- a/npc/merchants/advanced_refiner.txt
+++ b/npc/merchants/advanced_refiner.txt
@@ -93,7 +93,7 @@ payon,157,146,6 script Suhnbi#cash 4_M_03,{
mes "[Suhnbi]";
mes "Clang! Clang! Clang!";
- if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {
+ if (getequippercentrefinery(.@part, REFINE_CHANCE_TYPE_ENRICHED) > rand(100)) {
successrefitem .@part;
next;
emotion e_no1;
@@ -123,7 +123,7 @@ S_RefineValidate:
mes "Would you like to continue?";
next;
if(select("Yes", "No") == 1) {
- if (getequippercentrefinery(getarg(3)) < 100) {
+ if (getequippercentrefinery(getarg(3), REFINE_CHANCE_TYPE_ENRICHED) < 100) {
if (getarg(0)) {
mes "[Suhnbi]";
mes "Wow!!";
diff --git a/npc/merchants/clothes_dyer.txt b/npc/merchants/clothes_dyer.txt
index 431a51cab..4204f600f 100644
--- a/npc/merchants/clothes_dyer.txt
+++ b/npc/merchants/clothes_dyer.txt
@@ -141,7 +141,7 @@ function Dyes;
mes " - White: White Dyestuffs";
break;
case 4:
- goto L_End;
+ callsub L_End;
}
}
@@ -158,7 +158,7 @@ function Dyes {
.@menu$ += "- "+.@DyeName$[getarg(.@i)]+":";
.@menu$ += "- ^777777Cancel^000000";
.@s = select(.@menu$)-1;
- if (.@s == (getargcount()/2)+1) goto L_End;
+ if (.@s == (getargcount()/2)+1) callsub L_End;
mes .n$;
if (.@s == 0) {
mes "I can change your dye to";
@@ -172,7 +172,7 @@ function Dyes {
mes "Your clothes have been dyed "+.@DyeName$[0]+".";
close;
case 2:
- goto L_End;
+ callsub L_End;
}
}
if (!countitem(.@DyeItems[getarg((.@s-1)*2)])) {
diff --git a/npc/merchants/enchan_arm.txt b/npc/merchants/enchan_arm.txt
index 5b4cac2dc..434fabdb5 100644
--- a/npc/merchants/enchan_arm.txt
+++ b/npc/merchants/enchan_arm.txt
@@ -105,7 +105,7 @@ S_EnchantArmor:
mes "[Apprentice Craftsman]";
mes "Quite of an adventurer huh? Well, shall we?";
close2;
- specialeffect2 EF_MAPPILLAR;
+ specialeffect(EF_MAPPILLAR, AREA, playerattached());
if (Zeny < 400000) {
mes "[Apprentice Craftsman]";
mes "Sorry, but you don't have enough zeny.";
@@ -152,7 +152,7 @@ S_EnchantArmor:
case 35:
case 36: .@addpart = 4750;break;
default:
- specialeffect2 EF_PHARMACY_FAIL;
+ specialeffect(EF_PHARMACY_FAIL, AREA, playerattached());
mes "[Apprentice Craftsman]";
mes "Well that's too bad.";
mes "The requested equipment has failed to enchant.";
diff --git a/npc/merchants/inn.txt b/npc/merchants/inn.txt
index 07ccf5358..89265093f 100644
--- a/npc/merchants/inn.txt
+++ b/npc/merchants/inn.txt
@@ -75,7 +75,7 @@ payon_in01,132,62,5 script Inn Employee#Ahee 1_M_INNKEEPER,{
warp "payon_in01",132,11; end;
}
-//== Morocc ================================================
+//== Morroc ================================================
//- North East -
/*
morocc_in,147,141,3 script Inn Employee#Hasna 1_M_INNKEEPER,{
@@ -112,7 +112,7 @@ lhz_in02,230,284,4 script Hotel Employee#01 4_M_04,{
mes "Welcome to";
mes "the Royal Dragon,";
mes "where you can find the";
- mes "finest accomodations";
+ mes "finest accommodations";
mes "and the best service.";
next;
switch(select("Save Point", "Rest - 5,000 zeny", "Cancel")) {
diff --git a/npc/merchants/quivers.txt b/npc/merchants/quivers.txt
index bf9de37a6..984d182fe 100644
--- a/npc/merchants/quivers.txt
+++ b/npc/merchants/quivers.txt
@@ -43,12 +43,12 @@ payon_in01,5,134,5 script Inventor Jaax 4_M_ORIENT02,{
close;
}
mes "[Inventor Jaax]";
- mes "My name is Jaxx.";
+ mes "My name is Jaax.";
mes "Without ego, I can";
mes "say that I am perhaps the";
mes "^663300greatest inventor of our time^000000.";
next;
- mes "[Inventor Jaxx]";
+ mes "[Inventor Jaax]";
mes "This time, I've";
mes "created something";
mes "truly extraordinary. I call them... ^663300Magic Quivers^000000 !! This will be remembered in history as an";
diff --git a/npc/merchants/socket_enchant.txt b/npc/merchants/socket_enchant.txt
index db8b69feb..599d41564 100644
--- a/npc/merchants/socket_enchant.txt
+++ b/npc/merchants/socket_enchant.txt
@@ -142,7 +142,7 @@
mes "Armor, you said?";
mes "Sure, no problem.";
mes "Armor is divided into 4 different classes, depending on the work difficulty.";
- mes "C Class is the easiest one, and S Class he hardest one.";
+ mes "C Class is the easiest one, and S Class is the hardest one.";
mes "Which class would you like to try?";
next;
switch(select("C Class", "B Class", "A Class", "S Class"))
@@ -236,7 +236,7 @@
mes "[Seiyablem]";
mes "In some towns, Slot addition attempts are more successful for equipment with fewer upgrades.";
mes "In other towns, the opposite is true.";
- mes "isn't that really peculiar?";
+ mes "Isn't that really peculiar?";
next;
mes "[Seiyablem]";
mes "Oh, there's also something really important that you should know.";
@@ -268,17 +268,16 @@ function script Func_Socket {
mes "Ah, and don't forget to bring that " + getitemname(getarg(0)) + "!";
next;
mes "[Seiyablem]";
- if (getiteminfo(getarg(0),5)&2) // EQP_HAND_R = 2, it's a weapon
- {
+ if (getiteminfo(getarg(0), ITEMINFO_LOC) & EQP_HAND_R) {
+ // EQP_HAND_R = 2, it's a weapon
mes "I can try to add a slot now if you have the required items and zeny.";
mes "However, you should know that there's a chance that I might fail.";
mes "Therefore, I need to give you a fair warning...";
next;
mes "[Seiyablem]";
mes "If this attempt to add a Slot to your Weapon fails, then the ^FF0000Weapon^000000, ^FF0000and any Cards compounded to it will be destroyed^000000.";
- }
- else // armor
- {
+ } else {
+ // armor
mes "If you have all the required materials, my zeny service fee and the Armor, then we can go ahead with the Slot Addition attempt.";
mes "But before that, I must warn you of the risk.";
next;
diff --git a/npc/merchants/socket_enchant2.txt b/npc/merchants/socket_enchant2.txt
index 98d33b01c..29573970d 100644
--- a/npc/merchants/socket_enchant2.txt
+++ b/npc/merchants/socket_enchant2.txt
@@ -425,8 +425,8 @@ function script Func_Socket2 {
mes "[Leablem]";
mes "Did you already bring all of them?";
mes "For your information, if you fail to create a slot,";
- mes "you will lose all the item requirement as well as the target " + (getiteminfo(getarg(0),5)&2 ? "weapon" : "armor") + "."; // EQP_HAND_R = 2, it's a weapon, otherwise armor
- mes "Also remember, if the " + (getiteminfo(getarg(0),5)&2 ? "weapon" : "armor") + " has been upgraded, and has been inserted with a card,";
+ mes "you will lose all the item requirement as well as the target " + ((getiteminfo(getarg(0), ITEMINFO_LOC) & EQP_HAND_R) ? "weapon" : "armor") + "."; // EQP_HAND_R = 2, it's a weapon, otherwise armor
+ mes "Also remember, if the " + ((getiteminfo(getarg(0), ITEMINFO_LOC) & EQP_HAND_R) ? "weapon" : "armor") + " has been upgraded, and has been inserted with a card,";
mes "you will lose them even if you succeed in creating a slot.";
next;
switch(select("Ask for slot creation.", "Try next time."))
diff --git a/npc/other/CashShop_Functions.txt b/npc/other/CashShop_Functions.txt
index 629e91b8a..5b957f9f2 100644
--- a/npc/other/CashShop_Functions.txt
+++ b/npc/other/CashShop_Functions.txt
@@ -56,10 +56,14 @@ function script F_CashStore {
// - Summons Party members on party leader map to that location.
// - No arguments.
function script F_CashPartyCall {
- warp "Random",0,0;
- if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
- getmapxy(.@mapl$, .@xl, .@yl, UNITTYPE_PC);
- warpparty .@mapl$, .@xl, .@yl, getcharid(CHAR_ID_PARTY), .@mapl$;
+ warp "Random", 0, 0;
+ if (getpartyleader(getcharid(CHAR_ID_PARTY), 2) == getcharid(CHAR_ID_CHAR)) {
+ getmapxy(.@map$, .@x, .@y, UNITTYPE_PC);
+ do {
+ .@x2 = .@x + rand(-2, 2);
+ .@y2 = .@y + rand(-2, 2);
+ } while (checkcell(.@map$, .@x2, .@y2, cell_chknopass));
+ warpparty(.@map$, .@x2, .@y2, getcharid(CHAR_ID_PARTY), .@map$, false);
}
return;
}
@@ -306,3 +310,30 @@ function script F_Snowball {
}
end;
}
+
+// Status reduction potion
+//============================================================
+// - Permanently reduces base stat <type> by <val>.
+// - Returns status points equals to points needed to raise
+// that stat to original value.
+// - Doesn't work if base status <type> would become lower than 1 after reduction.
+// * callfunc("F_CashReduceStat", <type>{, <val>, <itemid>});
+function script F_CashReduceStat {
+ .@type = getarg(0);
+ .@amount = getarg(1, -1);
+ .@itemid = getarg(2, 0);
+
+ if ((readparam(.@type) + .@amount) < 1) return;
+
+ if (.@itemid) {
+ if (countitem(.@itemid))
+ delitem .@itemid, 1;
+ else
+ return;
+ }
+
+ StatusPoint += needed_status_point(.@type, .@amount);
+ statusup2 .@type, .@amount;
+
+ return;
+} \ No newline at end of file
diff --git a/npc/other/Global_Functions.txt b/npc/other/Global_Functions.txt
index 544e3a672..904ed7165 100644
--- a/npc/other/Global_Functions.txt
+++ b/npc/other/Global_Functions.txt
@@ -203,11 +203,11 @@ function script F_SaveQuestSkills {
ADV_QSK = 0; ADV_QSK2 = 0;
//1st classes quest skills
for (.@i = 0; .@i < 14; ++.@i) {
- if(getskilllv(144+.@i)) ADV_QSK |= pow(2,.@i);
+ if(getskilllv(144+.@i)) ADV_QSK |= (2 ** .@i);
}
//2nd classes quest skills
for (.@i = 0; .@i < 19; ++.@i) {
- if(getskilllv(1001+.@i)) ADV_QSK2 |= pow(2,.@i);
+ if(getskilllv(1001+.@i)) ADV_QSK2 |= (2 ** .@i);
}
return;
}
@@ -217,7 +217,7 @@ function script F_SaveQuestSkills {
function script F_Load1Skills {
//1st classes quest skills
for(.@i = 0; .@i < 14; ++.@i) {
- if(ADV_QSK|pow(2,.@i) == ADV_QSK) skill 144+.@i,1,0;
+ if(ADV_QSK|(2 ** .@i) == ADV_QSK) skill 144+.@i,1,0;
}
ADV_QSK = 0; //Clear var
return;
@@ -228,60 +228,144 @@ function script F_Load1Skills {
function script F_Load2Skills {
//2nd classes quest skills
for (.@i = 0; .@i < 19; ++.@i) {
- if(ADV_QSK2|pow(2,.@i) == ADV_QSK2) skill 1001+.@i,1,0;
+ if(ADV_QSK2|(2 ** .@i) == ADV_QSK2) skill 1001+.@i,1,0;
}
ADV_QSK2 = 0; //Clear var
return;
}
//== Function F_GetWeaponType ==============================
-// Determines weapon type by view
+// Determines weapon type by subtype
function script F_GetWeaponType {
- switch(getiteminfo(getarg(0),11)) {
- case 1: return "Dagger"; break;
- case 2: return "One-handed Sword"; break;
- case 3: return "Two-handed Sword"; break;
- case 4: return "One-handed Spear"; break;
- case 5: return "Two-handed Spear"; break;
- case 6: return "One-handed Axe"; break;
- case 7: return "Two-handed Axe"; break;
- case 8: return "Mace"; break;
- //case 9: return "Unused"; break;
- case 10: return "Staff"; break;
- case 11: return "Bow"; break;
- case 12: return "Knuckle"; break;
- case 13: return "Instrument"; break;
- case 14: return "Whip"; break;
- case 15: return "Book"; break;
- case 16: return "Katar"; break;
- case 17: return "Revolver"; break;
- case 18: return "Rifle"; break;
- case 19: return "Gatling gun"; break;
- case 20: return "Shotgun"; break;
- case 21: return "Grenade Launcher"; break;
- case 22: return "Shuriken"; break;
+ if (getiteminfo(getarg(0), ITEMINFO_TYPE) != IT_WEAPON)
+ return "Not a weapon";
+
+ switch (getiteminfo(getarg(0), ITEMINFO_SUBTYPE)) {
+ case W_DAGGER: return "Dagger"; break;
+ case W_1HSWORD: return "One-handed Sword"; break;
+ case W_2HSWORD: return "Two-handed Sword"; break;
+ case W_1HSPEAR: return "One-handed Spear"; break;
+ case W_2HSPEAR: return "Two-handed Spear"; break;
+ case W_1HAXE: return "One-handed Axe"; break;
+ case W_2HAXE: return "Two-handed Axe"; break;
+ case W_MACE: return "Mace"; break;
+ //case W_2HMACE: return "Two-handed Mace"; break; // Unused
+ case W_STAFF: return "Staff"; break;
+ case W_BOW: return "Bow"; break;
+ case W_KNUCKLE: return "Knuckle"; break;
+ case W_MUSICAL: return "Instrument"; break;
+ case W_WHIP: return "Whip"; break;
+ case W_BOOK: return "Book"; break;
+ case W_KATAR: return "Katar"; break;
+ case W_REVOLVER: return "Revolver"; break;
+ case W_RIFLE: return "Rifle"; break;
+ case W_GATLING: return "Gatling gun"; break;
+ case W_SHOTGUN: return "Shotgun"; break;
+ case W_GRENADE: return "Grenade Launcher"; break;
+ case W_HUUMA: return "Shuriken"; break;
+ case W_2HSTAFF: return "Two-handed Staff"; break;
default: return "Unable to Determine Equip Type"; break;
}
end;
}
+//== Function F_GetAmmoType ================================
+// Determines ammunition type by subtype
+function script F_GetAmmoType {
+ if (getiteminfo(getarg(0), ITEMINFO_TYPE) != IT_AMMO)
+ return "Not an ammunition";
+
+ switch (getiteminfo(getarg(0), ITEMINFO_SUBTYPE)) {
+ case A_ARROW: return "Arrow"; break;
+ case A_DAGGER: return "Throwing Dagger"; break;
+ case A_BULLET: return "Bullet"; break;
+ case A_SHELL: return "Shell"; break;
+ case A_GRENADE: return "Grenade"; break;
+ case A_SHURIKEN: return "Huuma Shuriken"; break;
+ case A_KUNAI: return "Kunai"; break;
+ case A_CANNONBALL: return "Cannon Ball"; break;
+ case A_THROWWEAPON: return "Throwing Weapon"; break;
+ default: return "Unable to Determine Ammunition Type"; break;
+ }
+ end;
+}
+
//== Function F_GetArmorType ===============================
// Determines equipment type by equip location
function script F_GetArmorType {
- switch(getiteminfo(getarg(0),5)) {
- case 001: return "Lower Headgear"; break;
- case 2: return "Weapon"; break;
- case 4: return "Garment"; break;
- case 8: return "Accessory"; break;
- case 16: return "Armor"; break;
- case 32: return "Shield"; break;
- case 64: return "Shoes"; break;
- case 128: return "Accessory"; break;
- case 256: return "Upper Headgear"; break;
- case 512: return "Middle Headgear"; break;
- default: return "Unable to Determine Equip Location"; break;
+ switch (getiteminfo(getarg(0), ITEMINFO_TYPE)) {
+ case IT_WEAPON:
+ return callfunc("F_GetWeaponType", getarg(0));
+ case IT_AMMO:
+ return callfunc("F_GetAmmoType", getarg(0));
+ case IT_ARMOR:
+ break;
+ default:
+ return "Unknown Equip Type";
}
- end;
+
+ .@loc = getiteminfo(getarg(0), ITEMINFO_LOC);
+
+ if ((.@loc & EQP_HELM) != 0) {
+ .@name$ = "";
+ if ((.@loc & EQP_HEAD_TOP) != 0) {
+ .@name$ += "Top";
+ }
+ if ((.@loc & EQP_HEAD_MID) != 0) {
+ if ((.@loc & EQP_HEAD_TOP) != 0)
+ .@name$ += " + ";
+ .@name$ += "Middle";
+ }
+ if ((.@loc & EQP_HEAD_LOW) != 0) {
+ if ((.@loc & (EQP_HEAD_TOP | EQP_HEAD_MID)) != 0)
+ .@name$ += " + ";
+ .@name$ += "Lower";
+ }
+ .@name$ += " Headgear";
+ return .@name$;
+ }
+ if ((.@loc & EQP_GARMENT) != 0)
+ return "Garment";
+ if ((.@loc & EQP_ACC) != 0)
+ return "Accessory";
+ if ((.@loc & EQP_ARMOR) != 0)
+ return "Armor";
+ if ((.@loc & EQP_SHIELD) != 0)
+ return "Shield";
+ if ((.@loc & EQP_SHOES) != 0)
+ return "Shoes";
+ if ((.@loc & EQP_COSTUE_GARMENT) != 0)
+ return "Costume Garment";
+ if ((.@loc & EQP_COSTUME) != 0) {
+ .@name = "Costume ";
+ if ((.@loc & EQP_COSTUME_HEAD_TOP) != 0) {
+ .@name$ += "Top";
+ }
+ if ((.@loc & EQP_COSTUME_HEAD_MID) != 0) {
+ if ((.@loc & EQP_COSTUME_HEAD_TOP) != 0)
+ .@name$ += " + ";
+ .@name$ += "Middle";
+ }
+ if ((.@loc & EQP_COSTUME_HEAD_LOW) != 0) {
+ if ((.@loc & (EQP_COSTUME_HEAD_TOP | EQP_COSTUME_HEAD_MID)) != 0)
+ .@name$ += " + ";
+ .@name$ += "Lower";
+ }
+ .@name$ += " Headgear";
+ return .@name$;
+ }
+ if ((.@loc & EQP_SHADOW_ARMOR) != 0)
+ return "Shadow Armor";
+ if ((.@loc & EQP_SHADOW_WEAPON) != 0)
+ return "Shadow Weapon";
+ if ((.@loc & EQP_SHADOW_SHIELD) != 0)
+ return "Shadow Shield";
+ if ((.@loc & EQP_SHADOW_SHOES) != 0)
+ return "Shadow Shoes";
+ if ((.@loc & EQP_SHADOW_ACC) != 0)
+ return "Shadow Accessory";
+
+ return "Unknown Equip Type";
}
//== Function Time2Str =====================================
@@ -354,3 +438,40 @@ function script F_ShuffleNumbers {
function script F_MesColor {
return sprintf("^%06X", min(getarg(0), 0xFFFFFF));
}
+
+//== Function F_GetTradeRestriction ========================
+// Function to get item trade restriction
+// Examples:
+// mes "Red Potion Restriction: "+ callfunc("F_GetTradeRestriction", Red_Potion);
+function script F_GetTradeRestriction {
+ .@trade = getiteminfo(getarg(0), ITEMINFO_TRADE);
+
+ if (.@trade == 0) {
+ return "None";
+ }
+ .@trade$ = "";
+ if (.@trade & ITR_NODROP) {
+ .@trade$ += "NoDrop|";
+ }
+ if (.@trade & ITR_NOTRADE) {
+ .@trade$ += "NoTrade|";
+ }
+ if (.@trade & ITR_PARTNEROVERRIDE) {
+ .@trade$ += "PartnerOverride|";
+ }
+ if (.@trade & ITR_NOSELLTONPC) {
+ .@trade$ += "NoSellToNpc|";
+ }
+ if (.@trade & ITR_NOSTORAGE) {
+ .@trade$ += "NoStorage|";
+ }
+ if (.@trade & ITR_NOGSTORAGE) {
+ .@trade$ += "NoGuildStorage|";
+ }
+ if (.@trade & ITR_NOMAIL) {
+ .@trade$ += "NoMail|";
+ }
+ if (.@trade & ITR_NOAUCTION) {
+ .@trade$ += "NoAuction|";
+ }
+}
diff --git a/npc/other/acolyte_warp.txt b/npc/other/acolyte_warp.txt
index 1b5404a78..256c2d802 100644
--- a/npc/other/acolyte_warp.txt
+++ b/npc/other/acolyte_warp.txt
@@ -75,9 +75,9 @@ prontera,98,121,4 script Acolyte#Prtclear 4_F_01,{
mes "to "+.@towns$[.@i]+" is "+.@cost[.@i]+" zeny.";
close;
}
- specialeffect2 EF_READYPORTAL;
- specialeffect2 EF_TELEPORTATION;
- specialeffect2 EF_PORTAL;
+ specialeffect(EF_READYPORTAL, AREA, playerattached());
+ specialeffect(EF_TELEPORTATION, AREA, playerattached());
+ specialeffect(EF_PORTAL, AREA, playerattached());
next;
Zeny -= .@cost[.@i];
switch(.@i) {
@@ -138,9 +138,9 @@ yuno,142,184,6 script Acolyte#Junoclear 4_F_01,{
mes "to "+.@towns$[.@i]+" is "+.@cost[.@i]+" zeny.";
close;
}
- specialeffect2 EF_READYPORTAL;
- specialeffect2 EF_TELEPORTATION;
- specialeffect2 EF_PORTAL;
+ specialeffect(EF_READYPORTAL, AREA, playerattached());
+ specialeffect(EF_TELEPORTATION, AREA, playerattached());
+ specialeffect(EF_PORTAL, AREA, playerattached());
next;
Zeny -= .@cost[.@i];
switch(.@i) {
diff --git a/npc/other/arena/arena_aco.txt b/npc/other/arena/arena_aco.txt
index 0c46eea21..99971eecd 100644
--- a/npc/other/arena/arena_aco.txt
+++ b/npc/other/arena/arena_aco.txt
@@ -1089,7 +1089,7 @@ prt_are_in,181,83,3 script Staff#aco-1 1_F_02,{
mes "I hope you enjoyed";
mes "your battle in the area~";
close2;
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
warp "arena_room",100,75;
end;
}
@@ -1289,7 +1289,7 @@ prt_are_in,25,31,3 script Staff#aco-2 1_F_02,{
close2;
arena_point += 50;
}
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
warp "arena_room",100,75;
donpcevent "#arn_timer_aco::OnStop";
donpcevent "allkill#aco::OnEnable";
@@ -1353,7 +1353,7 @@ prt_are_in,25,31,3 script Staff#aco-2 1_F_02,{
close2;
arena_point += 20;
}
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
warp "arena_room",100,75;
donpcevent "#arn_timer_aco::OnStop";
donpcevent "allkill#aco::OnEnable";
@@ -1451,7 +1451,7 @@ prt_are_in,25,31,3 script Staff#aco-2 1_F_02,{
close2;
arena_point += 20;
}
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
warp "arena_room",100,75;
donpcevent "#arn_timer_aco::OnStop";
donpcevent "allkill#aco::OnEnable";
diff --git a/npc/other/arena/arena_lvl50.txt b/npc/other/arena/arena_lvl50.txt
index fbd2ba193..32bd12178 100644
--- a/npc/other/arena/arena_lvl50.txt
+++ b/npc/other/arena/arena_lvl50.txt
@@ -818,7 +818,7 @@ prt_are_in,129,188,3 script Staff#50-1 1_F_02,{
mes "[Staff]";
mes "Let me guide you outside. I hope you had a good time.";
close2;
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
warp "arena_room",100,75;
end;
}
@@ -884,7 +884,7 @@ prt_are_in,25,188,3 script Staff#50-2 1_F_02,{
mes "See you later~";
close2;
}
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
donpcevent "cast#50::OnNomal1";
warp "arena_room",100,75;
donpcevent "#arn_timer_50::OnStop";
@@ -931,7 +931,7 @@ prt_are_in,25,188,3 script Staff#50-2 1_F_02,{
mes "See you later~";
close2;
}
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
donpcevent "cast#50::OnNomal2";
warp "arena_room",100,75;
donpcevent "#arn_timer_50::OnStop";
diff --git a/npc/other/arena/arena_lvl60.txt b/npc/other/arena/arena_lvl60.txt
index b81831345..30734f043 100644
--- a/npc/other/arena/arena_lvl60.txt
+++ b/npc/other/arena/arena_lvl60.txt
@@ -828,7 +828,7 @@ prt_are_in,129,135,3 script Staff#60-1 1_F_02,{
mes "[Staff]";
mes "Let me guide you outside. I hope you had a good time.";
close2;
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
warp "arena_room",100,75;
end;
}
@@ -894,7 +894,7 @@ prt_are_in,25,135,3 script Staff#60-2 1_F_02,{
mes "See you later~";
close2;
}
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
donpcevent "cast#60::OnNomal1";
warp "arena_room",100,75;
donpcevent "#arn_timer_60::OnStop";
@@ -941,7 +941,7 @@ prt_are_in,25,135,3 script Staff#60-2 1_F_02,{
mes "See you later~";
close2;
}
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
donpcevent "cast#60::OnNomal2";
warp "arena_room",100,75;
donpcevent "#arn_timer_60::OnStop";
diff --git a/npc/other/arena/arena_lvl70.txt b/npc/other/arena/arena_lvl70.txt
index c862585aa..9a0c26aa3 100644
--- a/npc/other/arena/arena_lvl70.txt
+++ b/npc/other/arena/arena_lvl70.txt
@@ -793,7 +793,7 @@ prt_are_in,129,83,3 script Staff#70-1 1_F_02,{
mes "[Staff]";
mes "Let me guide you outside. I hope you had a good time.";
close2;
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
warp "arena_room",100,75;
end;
}
@@ -859,7 +859,7 @@ prt_are_in,25,84,3 script Staff#70-2 1_F_02,{
mes "See you later~";
close2;
}
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
donpcevent "cast#70::OnNomal1";
warp "arena_room",100,75;
donpcevent "#arn_timer_70::OnStop";
@@ -906,7 +906,7 @@ prt_are_in,25,84,3 script Staff#70-2 1_F_02,{
mes "See you later~";
close2;
}
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
donpcevent "cast#70::OnNomal2";
warp "arena_room",100,75;
donpcevent "#arn_timer_70::OnStop";
diff --git a/npc/other/arena/arena_lvl80.txt b/npc/other/arena/arena_lvl80.txt
index 044b1eb31..3bb1cf43a 100644
--- a/npc/other/arena/arena_lvl80.txt
+++ b/npc/other/arena/arena_lvl80.txt
@@ -774,7 +774,7 @@ prt_are_in,181,188,3 script Staff#80-1 1_F_02,{
mes "[Staff]";
mes "Let me guide you outside. I hope you had a good time.";
close2;
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
warp "arena_room",100,75;
end;
}
@@ -840,7 +840,7 @@ prt_are_in,77,187,3 script Staff#80-2 1_F_02,{
mes "See you later~";
close2;
}
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
donpcevent "cast#80::OnNomal1";
warp "arena_room",100,75;
donpcevent "#arn_timer_80::OnStop";
@@ -887,7 +887,7 @@ prt_are_in,77,187,3 script Staff#80-2 1_F_02,{
mes "See you later~";
close2;
}
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
donpcevent "cast#80::OnNomal2";
warp "arena_room",100,75;
donpcevent "#arn_timer_80::OnStop";
diff --git a/npc/other/arena/arena_party.txt b/npc/other/arena/arena_party.txt
index d7865d441..c3133af30 100644
--- a/npc/other/arena/arena_party.txt
+++ b/npc/other/arena/arena_party.txt
@@ -986,7 +986,7 @@ prt_are_in,181,135,3 script Staff#party-1 1_F_02,{
mes "[Staff]";
mes "Let me guide you outside. I hope you had a good time.";
close2;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
warp "arena_room",100,75;
end;
}
@@ -1058,7 +1058,7 @@ prt_are_in,77,135,3 script Staff#party-2 1_F_02,{
donpcevent "alloff#pt::OnEnable";
donpcevent "Ponox::OnStart";
}
- specialeffect2 EH_HIT5;
+ specialeffect(EH_HIT5, AREA, playerattached());
donpcevent "cast#pt::OnNomal1";
warp "arena_room",100,75;
end;
@@ -1136,7 +1136,7 @@ prt_are_in,77,135,3 script Staff#party-2 1_F_02,{
donpcevent "alloff#pt::OnEnable";
donpcevent "Ponox::OnStart";
}
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
warp "arena_room",100,75;
end;
}
diff --git a/npc/other/comodo_gambling.txt b/npc/other/comodo_gambling.txt
index 89a2b0e8a..bd2b0d692 100644
--- a/npc/other/comodo_gambling.txt
+++ b/npc/other/comodo_gambling.txt
@@ -541,13 +541,13 @@ mjolnir_02,85,362,3 script Blacksmith Miner 4_F_JOB_BLACKSMITH,{
mes "please enter '0' to cancel.";
next;
input .@amount;
- if (.@amount == 0){
+ if (.@amount == 0) {
mes "[Dwayne]";
mes "Alright, you've";
mes "canceled the trade.";
mes "Take care!";
close;
- }else if (.@amount < 1 || .@amount > 500){
+ } else if (.@amount < 1 || .@amount > 500){
mes "[Dwayne]";
mes "The maximum";
mes "amount is 500.";
@@ -555,8 +555,7 @@ mjolnir_02,85,362,3 script Blacksmith Miner 4_F_JOB_BLACKSMITH,{
close;
}
.@cost = .@amount * 55000;
- .@weight = .@amount * 100;
- if (Zeny < .@cost){
+ if (Zeny < .@cost) {
mes "[Dwayne]";
mes "Errr...";
mes "I'm sorry, but you";
@@ -565,7 +564,7 @@ mjolnir_02,85,362,3 script Blacksmith Miner 4_F_JOB_BLACKSMITH,{
mes "I sell them at that price.";
close;
}
- if (Weight < .@weight){
+ if (!checkweight(Crystal_Jewel__, .@amount)) {
mes "[Dwayne]";
mes "Errr...";
mes "You're carrying too many items.";
@@ -573,7 +572,7 @@ mjolnir_02,85,362,3 script Blacksmith Miner 4_F_JOB_BLACKSMITH,{
close;
}
Zeny -= .@cost;
- getitem 732,.@amount;
+ getitem(Crystal_Jewel__, .@amount);
mes "[Dwayne]";
mes "Thank you for";
mes "buying my diamonds!";
diff --git a/npc/other/divorce.txt b/npc/other/divorce.txt
index e3d6f5ee7..f490df2f9 100644
--- a/npc/other/divorce.txt
+++ b/npc/other/divorce.txt
@@ -208,7 +208,7 @@ nif_in,190,112,5 script Deviruchi#divorce 4_DEVIRUCHI,{
mes "^FF0000for the rest of your life.^000000";
next;
specialeffect EF_MAGICROD;
- specialeffect2 EF_DEVIL;
+ specialeffect(EF_DEVIL, AREA, playerattached());
wedding_sign = 0;
Zeny -= 2500000;
Sp = 0;
diff --git a/npc/other/gympass.txt b/npc/other/gympass.txt
index d30fafeb8..50f7b18f7 100644
--- a/npc/other/gympass.txt
+++ b/npc/other/gympass.txt
@@ -80,13 +80,13 @@ payon,173,141,4 script Ripped Cabus#GymPass 4_M_HUMAN_02,{
mes "and try to feel the burn.";
mes "Ready? Let's do this.";
next;
- specialeffect2 EF_EARTHSPIKE;
+ specialeffect(EF_EARTHSPIKE, AREA, playerattached());
next;
- specialeffect2 EF_DEVIL;
+ specialeffect(EF_DEVIL, AREA, playerattached());
next;
- specialeffect2 EF_COIN;
+ specialeffect(EF_COIN, AREA, playerattached());
next;
- specialeffect2 EF_SIGHTRASHER;
+ specialeffect(EF_SIGHTRASHER, AREA, playerattached());
next;
mes "[Ripped]";
mes "There, you should be able";
@@ -139,13 +139,13 @@ payon,173,141,4 script Ripped Cabus#GymPass 4_M_HUMAN_02,{
mes "as muscle memory. It's won't take";
mes "as long to build 'em back up...";
next;
- specialeffect2 EF_EARTHSPIKE;
+ specialeffect(EF_EARTHSPIKE, AREA, playerattached());
next;
- specialeffect2 EF_DEVIL;
+ specialeffect(EF_DEVIL, AREA, playerattached());
next;
- specialeffect2 EF_COIN;
+ specialeffect(EF_COIN, AREA, playerattached());
next;
- specialeffect2 EF_SIGHTRASHER;
+ specialeffect(EF_SIGHTRASHER, AREA, playerattached());
next;
mes "[Ripped]";
mes "How about that?";
diff --git a/npc/other/hugel_bingo.txt b/npc/other/hugel_bingo.txt
index 965405807..9c7b87ee4 100644
--- a/npc/other/hugel_bingo.txt
+++ b/npc/other/hugel_bingo.txt
@@ -96,26 +96,25 @@ OnTouch:
@bingo_e4$ = 0;
@bingo_e5$ = 0;
@bingo_case = 1;
-L_Fill:
- @bingo_fill = callfunc("Func_Bingo",@bingo_case);
- if (!@bingo_fill) {
- mes "The numbers you have entered";
- mes "exceed the limit, or you have";
- mes "already entered these numbers.";
- mes "Please enter your numbers again.";
- next;
- } else if (@bingo_fill) {
- if(@bingoplate[25] < 10) @bingo_e5$ = "0"+@bingoplate[25]+""; else @bingo_e5$ = @bingoplate[25];
- donpcevent "start#bingo::OnEnter";
- mes "["+@bingo_a1$+"] ["+@bingo_a2$+"] ["+@bingo_a3$+"] ["+@bingo_a4$+"] ["+@bingo_a5$+"]";
- mes "["+@bingo_b1$+"] ["+@bingo_b2$+"] ["+@bingo_b3$+"] ["+@bingo_b4$+"] ["+@bingo_b5$+"]";
- mes "["+@bingo_c1$+"] ["+@bingo_c2$+"] ["+@bingo_c3$+"] ["+@bingo_c4$+"] ["+@bingo_c5$+"]";
- mes "["+@bingo_d1$+"] ["+@bingo_d2$+"] ["+@bingo_d3$+"] ["+@bingo_d4$+"] ["+@bingo_d5$+"]";
- mes "["+@bingo_e1$+"] ["+@bingo_e2$+"] ["+@bingo_e3$+"] ["+@bingo_e4$+"] ["+@bingo_e5$+"]";
- close;
-
+ while (true) {
+ @bingo_fill = callfunc("Func_Bingo",@bingo_case);
+ if (!@bingo_fill) {
+ mes "The numbers you have entered";
+ mes "exceed the limit, or you have";
+ mes "already entered these numbers.";
+ mes "Please enter your numbers again.";
+ next;
+ } else if (@bingo_fill) {
+ if(@bingoplate[25] < 10) @bingo_e5$ = "0"+@bingoplate[25]+""; else @bingo_e5$ = @bingoplate[25];
+ donpcevent "start#bingo::OnEnter";
+ mes "["+@bingo_a1$+"] ["+@bingo_a2$+"] ["+@bingo_a3$+"] ["+@bingo_a4$+"] ["+@bingo_a5$+"]";
+ mes "["+@bingo_b1$+"] ["+@bingo_b2$+"] ["+@bingo_b3$+"] ["+@bingo_b4$+"] ["+@bingo_b5$+"]";
+ mes "["+@bingo_c1$+"] ["+@bingo_c2$+"] ["+@bingo_c3$+"] ["+@bingo_c4$+"] ["+@bingo_c5$+"]";
+ mes "["+@bingo_d1$+"] ["+@bingo_d2$+"] ["+@bingo_d3$+"] ["+@bingo_d4$+"] ["+@bingo_d5$+"]";
+ mes "["+@bingo_e1$+"] ["+@bingo_e2$+"] ["+@bingo_e3$+"] ["+@bingo_e4$+"] ["+@bingo_e5$+"]";
+ close;
+ }
}
- goto L_Fill;
}
que_bingo,53,121,0 duplicate(plate1#bingo) plate2#bingo HIDDEN_WARP_NPC,1,1
diff --git a/npc/other/inventory_expansion.txt b/npc/other/inventory_expansion.txt
new file mode 100644
index 000000000..db18e09e1
--- /dev/null
+++ b/npc/other/inventory_expansion.txt
@@ -0,0 +1,63 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 4144
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Inventory expansion
+//=========================================================================
+
+- script inventory_expansion FAKE_NPC,{
+ end;
+
+OnInvExpandRequest:
+ if (countitem(Inventory_Extension_Coupon) < 1) {
+ expandInventoryAck(EXPAND_INV_MISSING_ITEM);
+ end;
+ }
+ if (getInventorySize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) {
+ expandInventoryAck(EXPAND_INV_MAX_SIZE);
+ end;
+ }
+ expandInventoryAck(EXPAND_INV_ASK_CONFIRMATION, Inventory_Extension_Coupon);
+ end;
+
+OnInvExpandConfirmed:
+ if (countitem(Inventory_Extension_Coupon) < 1) {
+ expandInventoryResult(EXPAND_INV_RESULT_MISSING_ITEM);
+ end;
+ }
+ if (getInventorySize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) {
+ expandInventoryResult(EXPAND_INV_RESULT_MAX_SIZE);
+ end;
+ }
+ delitem(Inventory_Extension_Coupon, 1);
+ if (expandInventory(INVENTORY_INCREASE_STEP) == true) {
+ expandInventoryResult(EXPAND_INV_RESULT_SUCCESS);
+ }
+ end;
+
+OnInvExpandRejected:
+ end;
+}
diff --git a/npc/other/marriage.txt b/npc/other/marriage.txt
index bbd659420..0f640af2a 100644
--- a/npc/other/marriage.txt
+++ b/npc/other/marriage.txt
@@ -58,7 +58,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "married. For now, why";
mes "don't you enjoy the simple";
mes "pleasures of childhood?";
- goto L_End;
+ callsub L_End;
}
mes "[Marry Happy]";
mes "Oh, of course you";
@@ -67,7 +67,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "are too many laws against";
mes "that~ Aren't you the most";
mes "adorable little thing?";
- goto L_End;
+ callsub L_End;
}
mes "[Marry Happy]";
mes "Marriage is the beautiful";
@@ -166,7 +166,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "If there was something";
mes "you didn't understand,";
mes "feel free to ask me again.";
- goto L_End;
+ callsub L_End;
}
mes "[Marry Happy]";
mes "The easiest way to write";
@@ -262,7 +262,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "you can consider marriage.";
mes "After you grow stronger,";
mes "come and talk to me again.";
- goto L_End;
+ callsub L_End;
}
else if (countitem(Diamond_Ring) < 1) {
mes "[Marry Happy]";
@@ -272,7 +272,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "during the wedding ceremony?";
mes "Look for it carefully and come";
mes "back after you find it, okay?";
- goto L_End;
+ callsub L_End;
} else if (Sex == SEX_MALE) {
if (Zeny < 1300000) {
mes "[Marry Happy]";
@@ -281,7 +281,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "that all grooms must pay";
mes "for the wedding ceremony.";
mes "Did you misplace your money?";
- goto L_End;
+ callsub L_End;
}
else if (countitem(Tuxedo) < 1) {
mes "[Marry Happy]";
@@ -291,7 +291,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "ceremony! Find it, bring it";
mes "to me, and then we can finally";
mes "begin the wedding, okay?";
- goto L_End;
+ callsub L_End;
}
} else if (Sex == SEX_FEMALE) {
if (Zeny < 1200000) {
@@ -302,7 +302,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "wedding ceremony. Perhaps";
mes "you could ask your partner";
mes "to help you with the funds?";
- goto L_End;
+ callsub L_End;
}
else if (countitem(Wedding_Dress) < 1) {
mes "[Marry Happy]";
@@ -312,7 +312,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "bring it to me-- you";
mes "absolutely need it";
mes "for the wedding!";
- goto L_End;
+ callsub L_End;
}
}
mes "[Marry Happy]";
@@ -379,7 +379,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
}
delitem Diamond_Ring,1;
wedding_sign = 1;
- goto L_End;
+ callsub L_End;
}
mes "[Marry Happy]";
mes "No...?";
@@ -626,7 +626,7 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
mes "It's old fashioned protocol,";
mes "but I'll admit that it does";
mes "keep things running smoothly.";
- goto L_End;
+ callsub L_End;
}
mes "[Vomars]";
mes "Before you can be";
@@ -635,7 +635,7 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
mes "two with your partner.";
mes "Then, we can proceed";
mes "with the ceremony.";
- goto L_End;
+ callsub L_End;
}
mes "[Vomars]";
mes "You must apply for";
@@ -644,7 +644,7 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
mes "Happy Marry will let you know";
mes "what else you'll need to do";
mes "to prepare for marriage.";
- goto L_End;
+ callsub L_End;
}
else if ($@wedding == 1) {
if (wedding_sign == 1) {
@@ -734,7 +734,7 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
mes "the ceremony has finished";
mes "Please try again once he's";
mes "returned.";
- goto L_End;
+ callsub L_End;
}
else {
cutin "wedding_bomars03",2;
@@ -769,7 +769,7 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
mes "application. Please speak";
mes "to her so that we can begin";
mes "the wedding ceremony.";
- goto L_End;
+ callsub L_End;
}
callsub S_Busy;
}
@@ -796,14 +796,14 @@ S_Busy:
mes "Mister "+ $@wed_groom$;
mes "is currently in progress.";
mes "Please keep your voice down.";
- goto L_End;
+ callsub L_End;
}
mes "[Vomars]";
mes "I'm conducting a wedding";
mes "for another couple now, so";
mes "please wait patiently for your";
mes "turn. Thanks for understanding... ";
- goto L_End;
+ callsub L_End;
OnStop:
stopnpctimer;
diff --git a/npc/other/monster_race.txt b/npc/other/monster_race.txt
index 9ddafeef5..9e938c663 100644
--- a/npc/other/monster_race.txt
+++ b/npc/other/monster_race.txt
@@ -2635,7 +2635,7 @@ S_BonusReward:
mes "me a reward later?";
next;
mes "[Ei'felle]";
- if (!getiteminfo(.@arg1,13)) { //use item level to determine if the item is armor (no weapon level)
+ if (!getiteminfo(.@arg1, ITEMINFO_WLV)) { // use item level to determine if the item is armor (no weapon level)
mes "Of course, of course.";
mes "Remember, if you donate";
mes "more medals to me, then";
diff --git a/npc/other/poring_war.txt b/npc/other/poring_war.txt
index b3e0eb15a..326c601be 100644
--- a/npc/other/poring_war.txt
+++ b/npc/other/poring_war.txt
@@ -1052,7 +1052,7 @@ OnInit:
OnEnable:
enablenpc "#wop_warp_a";
- specialeffect EF_MAPPILLAR2,AREA,"#wop_warp_a";
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#wop_warp_a"));
end;
OnDisable:
@@ -1074,7 +1074,7 @@ OnInit:
OnEnable:
enablenpc "#wop_warp_d";
- specialeffect EF_MAPPILLAR2,AREA,"#wop_warp_d";
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#wop_warp_d"));
end;
OnDisable:
diff --git a/npc/other/private_airship.txt b/npc/other/private_airship.txt
new file mode 100644
index 000000000..e650e4b96
--- /dev/null
+++ b/npc/other/private_airship.txt
@@ -0,0 +1,66 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) Asheraf
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Private AirShip
+//=========================================================================
+
+- script private_airship FAKE_NPC,{
+ end;
+
+S_AirShipIsNeedItem:
+ for (.@i = 0; .@i < getarraysize(.needitem); ++.@i) {
+ if (@itemid == .needitem[.@i])
+ return true;
+ }
+ return false;
+
+OnAirShipRequest:
+ if (callsub(S_AirShipIsNeedItem) == false) {
+ airship_respond(P_AIRSHIP_ITEM_INVALID);
+ end;
+ }
+ if (countitem(@itemid) < 1) {
+ airship_respond(P_AIRSHIP_ITEM_NOT_ENOUGH);
+ end;
+ }
+ if (getmapflag(strcharinfo(PC_MAP), mf_pairship_startable) != true) {
+ airship_respond(P_AIRSHIP_INVALID_START_MAP);
+ end;
+ }
+ if (getmapflag(@mapname$, mf_pairship_endable) != true) {
+ airship_respond(P_AIRSHIP_INVALID_END_MAP);
+ end;
+ }
+
+ delitem(@itemid, 1);
+ warp(@mapname$, 0, 0);
+ end;
+
+OnInit:
+ setarray(.needitem, 6909, 25464);
+ end;
+}
diff --git a/npc/pre-re/guides/guides_ayothaya.txt b/npc/pre-re/guides/guides_ayothaya.txt
index ed9656f7e..ace3a84bf 100644
--- a/npc/pre-re/guides/guides_ayothaya.txt
+++ b/npc/pre-re/guides/guides_ayothaya.txt
@@ -35,13 +35,13 @@
ayothaya,203,169,3 script Noi#ayo 4_F_THAIGIRL,{
mes "[Noi]";
- mes "Welcome to Ayotaya.";
+ mes "Welcome to Ayothaya.";
mes "Our beautiful village is built";
mes "above the water, surrounded";
mes "by a dense forest.";
next;
mes "[Noi]";
- mes "There are many tourist attractions in this village that you won't be able to find anywhere else. Our fish markets and the the unique architecture of our buildings is enough reason to visit Ayotaya.";
+ mes "There are many tourist attractions in this village that you won't be able to find anywhere else. Our fish markets and the the unique architecture of our buildings is enough reason to visit Ayothaya.";
next;
mes "[Noi]";
mes "Please feel free";
@@ -58,7 +58,7 @@ ayothaya,203,169,3 script Noi#ayo 4_F_THAIGIRL,{
mes "[Noi]";
mes "At our Weapon Shop,";
mes "you will find great weapons";
- mes "favored by brave Ayotayan seafarers.";
+ mes "favored by brave Ayothayan seafarers.";
next;
mes "[Noi]";
mes "Our Weapon Shop";
@@ -67,7 +67,7 @@ ayothaya,203,169,3 script Noi#ayo 4_F_THAIGIRL,{
close;
case 2:
mes "[Noi]";
- mes "We Ayotayans always make sure we have everything we need before we go traveling. It never hurts to be prepared, doesn't it?";
+ mes "We Ayothayans always make sure we have everything we need before we go traveling. It never hurts to be prepared, doesn't it?";
next;
mes "[Noi]";
mes "Our Tool Shop";
diff --git a/npc/pre-re/guides/guides_veins.txt b/npc/pre-re/guides/guides_veins.txt
index aa0f712ae..120519f1c 100644
--- a/npc/pre-re/guides/guides_veins.txt
+++ b/npc/pre-re/guides/guides_veins.txt
@@ -78,7 +78,7 @@ veins,210,345,5 script Veins Guide#1::ve_guide 4_M_RASWORD,{
break;
case 4:
mes "[Veins Guide]";
- mes "Have you packed enough necessities for your adventure?";
+ mes "Have you packed enough necessities for your adventure?";
mes "If not, I suggest you check what the Veins in the Center can offer you.";
if (.@compass_check == 1) viewpoint 1,230,161,4,0x0000FF;
break;
diff --git a/npc/pre-re/jobs/1-1/acolyte.txt b/npc/pre-re/jobs/1-1/acolyte.txt
index e6ad187e5..a796763bb 100644
--- a/npc/pre-re/jobs/1-1/acolyte.txt
+++ b/npc/pre-re/jobs/1-1/acolyte.txt
@@ -88,7 +88,7 @@ prt_church,184,41,4 script Cleric#aco 1_M_PASTOR,{
mes "[Father Mareusis]";
mes "What is it that you seek?";
next;
- switch(select("Father, I want to be a Acolyte.", "Acolyte Requirements.", "Just looking around.")) {
+ switch(select("Father, I want to be an Acolyte.", "Acolyte Requirements.", "Just looking around.")) {
case 1:
mes "[Father Mareusis]";
if (BaseJob == Job_Acolyte) {
diff --git a/npc/pre-re/jobs/1-1/merchant.txt b/npc/pre-re/jobs/1-1/merchant.txt
index 1acad9ea3..2d1cd9ba3 100644
--- a/npc/pre-re/jobs/1-1/merchant.txt
+++ b/npc/pre-re/jobs/1-1/merchant.txt
@@ -542,7 +542,7 @@ alberta_in,28,29,2 script Merchant Guildsman#mer 4_M_01,{
close;
}
else if (job_merchant_q == 6 || job_merchant_q == 5) {
- mes " [Union Staff Kay] ";
+ mes "[Union Staff Kay] ";
mes "Oh, yeah? Okay, lemme check. Your name is " + strcharinfo(PC_NAME) + "? Alright, your destination was...";
next;
mes "[Union Staff Kay]";
@@ -574,17 +574,17 @@ alberta_in,28,29,2 script Merchant Guildsman#mer 4_M_01,{
else {
next;
job_merchant_q = 9;
- mes " [Union Staff Kay] ";
+ mes "[Union Staff Kay]";
mes "Wait a sec.";
mes "Where's the receipt?";
mes "What happened?";
next;
- mes " [Union Staff Kay] ";
+ mes "[Union Staff Kay] ";
mes "If you don't have the receipt, you fail the test! You better talk to Mahnsoo if you wanna retake it, alright? Pay attention next time!";
close;
}
next;
- mes " [Union Staff Kay] ";
+ mes "[Union Staff Kay] ";
mes "...Great! Everything's perfect! I'll report your success to the Guildmaster. You should talk to Chief Mahnsoo now, alright?";
close2;
if (job_merchant_q == 6)
@@ -594,7 +594,7 @@ alberta_in,28,29,2 script Merchant Guildsman#mer 4_M_01,{
end;
}
else if (job_merchant_q == 4 || job_merchant_q == 3 && countitem(Merchant_Box_1) == 0 && countitem(Merchant_Box_2) == 0 && countitem(Merchant_Box_Etc) == 0) {
- mes " [Union Staff Kay] ";
+ mes "[Union Staff Kay] ";
mes "Huh?";
mes "You're back?";
mes "So how did";
@@ -694,7 +694,7 @@ alberta_in,28,29,2 script Merchant Guildsman#mer 4_M_01,{
mes "[Union Staff Kay]";
mes "Alright, there you go. Lemme give you the package. Now, choose the destination of the delivery.";
next;
- switch(select("Prontera.", "Geffen.", "Morocc.", "Byalan Island.")) {
+ switch(select("Prontera.", "Geffen.", "Morroc.", "Byalan Island.")) {
case 1: .@where_village = 1; break;
case 2: .@where_village = 2; break;
case 3: .@where_village = 3; break;
@@ -729,7 +729,7 @@ alberta_in,28,29,2 script Merchant Guildsman#mer 4_M_01,{
else if (.@where_village == 2)
mes "Destination is Geffen. Phew! That's really far! The Serial Number is " + .@input + ". Are you positive?";
else if (.@where_village == 3)
- mes "Destination is Morocc. That's pretty far away! The Serial Number is " + .@input + ". Are you positive?";
+ mes "Destination is Morroc. That's pretty far away! The Serial Number is " + .@input + ". Are you positive?";
else
mes "Lucky you! Your destination is Byalan Island. The Serial Number is " + .@input + ". Are you positive?";
next;
diff --git a/npc/pre-re/jobs/novice/novice.txt b/npc/pre-re/jobs/novice/novice.txt
index ab7714c41..356eaae7d 100644
--- a/npc/pre-re/jobs/novice/novice.txt
+++ b/npc/pre-re/jobs/novice/novice.txt
@@ -43,7 +43,7 @@
//== Bulletin Board ========================================
new_1-1,66,114,4 script Bulletin Board#nv HIDDEN_NPC,{
mes "^FF0000=================================^000000";
- mes "^FF0000 ^000000 ^E40CAA[Welcome]^CC0000 to ^FF9000Novice^7FFF00 Training ^00FF00Grounds ^E40CAA[Welcome]^FF0000^000000";
+ mes "^E40CAA[Welcome]^CC0000 to ^FF9000Novice^7FFF00 Training ^00FF00Grounds ^E40CAA[Welcome]^000000";
mes "^FF0000=================================^000000";
close;
}
@@ -1442,7 +1442,7 @@ new_1-2,118,108,3 script Kafra Employee#nv1 4_F_KAFRA1,{
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";
mes "last saved.";
next;
- mes "[Kafra Employoee]";
+ mes "[Kafra Employee]";
mes "The Save Service";
mes "is also provided by";
mes "the Kafra Corporation";
@@ -2037,7 +2037,7 @@ new_1-2,184,172,1 script Understandings of Skills 1_M_01,{
mes "You can organize";
mes "a party by typing";
mes "the command:";
- mes "^4F4FFF//organize ''Party Name''^000000";
+ mes "^4F4FFF/organize ''Party Name''^000000";
mes "in your Chat Window.";
next;
mes "[Leo Handerson]";
@@ -2148,10 +2148,10 @@ new_1-2,184,172,1 script Understandings of Skills 1_M_01,{
mes "by pressing the '^4D4DFFCtrl^000000' and the '^4D4DFF - ^000000,' '^4D4DFF = ^000000,' or '^4D4DFF \\ ^000000' keys.";
next;
mes "[Leo Handerson]";
- mes "Of course, you can type ^4D4DFF//bawi^000000, ^4D4DFF//bo^000000 and ^4D4DFF//gawi^000000, which mean rock, paper, scissors in Korean, into your Chat Window.";
+ mes "Of course, you can type ^4D4DFF/bawi^000000, ^4D4DFF/bo^000000 and ^4D4DFF/gawi^000000, which mean rock, paper, scissors in Korean, into your Chat Window.";
next;
mes "[Leo Handerson]";
- mes "To check out the commands for even more emoticons, type the command ^4d4dff//emotion^000000 into your Chat Window to see the list~";
+ mes "To check out the commands for even more emoticons, type the command ^4d4dff/emotion^000000 into your Chat Window to see the list~";
emotion e_lv;
next;
break;
@@ -2205,7 +2205,7 @@ new_1-2,17,182,5 script Helper#nv 4_M_02,{
mes "You can also just hold down the left mouse button while the cursor is on the monster. Still, there are some people who are even too lazy to use the '^4D4DFFCtrl^000000' key every time they attack a monster.";
next;
mes "[Elmeen]";
- mes "If you're one of them, type the command ^E79E29//nc^000000 in your Chat Window. Then, when you left click";
+ mes "If you're one of them, type the command ^E79E29/nc^000000 in your Chat Window. Then, when you left click";
mes "a monster, you'll just continuously attack it!";
next;
mes "[Elmeen]";
@@ -2215,7 +2215,7 @@ new_1-2,17,182,5 script Helper#nv 4_M_02,{
mes "When you use the Heal skill while holding down the '^4D4DFFShift^000000' key, you can target the monster with the Heal skill to damage it.";
next;
mes "[Elmeen]";
- mes "Of course for this skill, we do have a very convenient option for lazy people too. Type the command ^E79E29//ns^000000 in your Chat Window.";
+ mes "Of course for this skill, we do have a very convenient option for lazy people too. Type the command ^E79E29/ns^000000 in your Chat Window.";
next;
mes "[Elmeen]";
mes "This will allow you to attack monsters by using the Heal skill without holding the shift key. Handy, huh?";
@@ -2324,7 +2324,7 @@ new_1-2,17,182,5 script Helper#nv 4_M_02,{
mes "For instance, somebody does damage to a monster while you're already hitting it, and he did the same amount of damage you did.";
next;
mes "[Elmeen]";
- mes "In this case, you will receive 2//3 of the whole experience points that monster can give you, the other one will receive 1//3.";
+ mes "In this case, you will receive 2/3 of the whole experience points that monster can give you, the other one will receive 1/3.";
next;
mes "[Elmeen]";
mes "However, attacking a monster that somebody already started to hit is not suggested in Ragnarok Online. That action is regarded as ill-mannered behavior.";
diff --git a/npc/pre-re/quests/skills/novice_skills.txt b/npc/pre-re/quests/skills/novice_skills.txt
index 7a4f85396..b15dd3d93 100644
--- a/npc/pre-re/quests/skills/novice_skills.txt
+++ b/npc/pre-re/quests/skills/novice_skills.txt
@@ -215,7 +215,7 @@ prt_in,73,87,4 script Chivalry Member 1_M_YOUNGKNIGHT,{
if ((Class == Job_Novice || Class == Job_Baby) && (JobLevel > 6) && ((skill_nov >= 3) && (skill_nov <= 5))) {
mes "[Bulma]";
mes "Yeah. . . I look great. . .";
- mes "I am a knight in the knight's";
+ mes "I am a knight in the knights'";
mes "guild of Prontera! Kuhahhahhahah !!";
mes "It hasn't been long since I became a";
mes " knight, but I still look great huh?";
@@ -442,7 +442,7 @@ prt_castle,175,146,4 script Nursing Instructor 1_M_04,{
case 2:
mes "[Dread Lord]";
mes "Look, if your business is done";
- mes "get out of my site! ! !";
+ mes "get out of my sight! ! !";
mes "I have no time for this nonsense ..";
mes ". . . . .";
mes "- Click Click *Walks away* . . . . . -";
diff --git a/npc/quests/bard_quest.txt b/npc/quests/bard_quest.txt
index 0c46a9ab6..7a187e6a3 100644
--- a/npc/quests/bard_quest.txt
+++ b/npc/quests/bard_quest.txt
@@ -92,7 +92,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "Goddess, Idun.";
mes "Keeper of the apples of youth";
mes "Goddess of immortality.^000000";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
next;
mes "^483D8BEvery god never grows old.";
mes "Idun, the wife of Bragi,";
@@ -114,7 +114,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "Loki was careless once,";
mes "and made her lost to the gods.";
mes "He was forced to get her back.^000000";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
next;
mes "^483D8BMy goddess stands";
mes "In the field of Asgard";
@@ -132,7 +132,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "You will be blessed";
mes "By every god...^000000";
next;
- specialeffect2 EF_RESURRECTION;
+ specialeffect(EF_RESURRECTION, AREA, playerattached());
mes "^3355FFWhile listening to his song, you feel at ease, and your thoughts become clearer. You believe that you see the vision of an angel, and you gain some experience points.^000000";
gef_bard_q += 16; //30,31
if (RENEWAL_EXP) {
@@ -166,19 +166,19 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
next;
mes "[Errende]";
mes "I hope that you'll always remain honest and respectful towards other people, and that you continue to ignore greed for fortune or power.";
- goto L_End;
+ callsub L_End;
} else if (gef_bard_q > 11 && gef_bard_q < 14) {
cutin "bard_eland02",2;
mes "[Errende]";
mes "It seems you haven't found it yet. Well, take your time, I can wait as long as you want. It doesn't really bore me, since waiting seems to be a part of my profession.";
- goto L_End;
+ callsub L_End;
} else if (gef_bard_q == 11) {
cutin "bard_eland01",2;
mes "[Errende]";
mes "Mr. Skezti has a small book store on the book street at the right side of Mineta in Juno. If you show him the seal, he'll help you out.";
- goto L_End;
+ callsub L_End;
} else if (gef_bard_q == 10) {
cutin "bard_eland01",2;
@@ -200,7 +200,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "Now, let me cast a spell...";
mes "*Mumble mumble...*";
next;
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
mes "^3355FFOn your left wrist, a crescent shaped mark glowing with a silver light appeared. It's only noticeable when you concentrate on finding it, but it might clearly appear under the moonlight.^000000";
next;
mes "[Errende]";
@@ -208,7 +208,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "show him the Seal of Friendship.";
mes "Good luck, now~";
gef_bard_q = 11;
- goto L_End;
+ callsub L_End;
} else if (gef_bard_q == 20) {
cutin "bard_eland03",2;
@@ -258,7 +258,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "[Errende]";
mes "Waaah, wah~";
mes "You can't just ignore me like that! Where's your sense of merriment, your sense of romance?";
- goto L_End;
+ callsub L_End;
}
} else if (gef_bard_q == 27) {
@@ -295,7 +295,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
next;
mes "[Errende]";
mes "Let me ask you a favor.";
- mes "If perchance you happen to meet ^483D8BGunther Doubleharmony^000000, please inform him of my dilemna.";
+ mes "If perchance you happen to meet ^483D8BGunther Doubleharmony^000000, please inform him of my dilemma.";
next;
mes "[Errende]";
mes "Tell him that ^483D8BMinty Errende^000000 happened to forget a line of the song, ^483D8BAt One, I Fall in Love^000000. The line is called ^483D8B8th love^000000.";
@@ -304,7 +304,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "I beseech you, if you meet him, please ask him of the 8th love and inform me of that lyric immediately~";
gef_bard_q = 22;
}
- goto L_End;
+ callsub L_End;
} else if (gef_bard_q == 26) {
cutin "bard_eland01",2;
@@ -358,17 +358,17 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "in advance~";
gef_bard_q = 24;
}
- goto L_End;
+ callsub L_End;
} else if (.@inputstr$ == "Gunther") {
mes "[Errende]";
mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
- goto L_End;
+ callsub L_End;
} else if (.@inputstr$ == "Gunther Doubleharmony") {
mes "[Errende]";
mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
- goto L_End;
+ callsub L_End;
} else if (.@inputstr$ == "Errende") {
cutin "bard_eland04",2;
@@ -377,7 +377,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "If I did, why would";
mes "I not know what";
mes "this song is about?";
- goto L_End;
+ callsub L_End;
} else {
mes "[Errende]";
@@ -390,7 +390,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "How could I forget";
mes "the 8th love?";
gef_bard_q = 26;
- goto L_End;
+ callsub L_End;
}
} else if (gef_bard_q == 25) {
@@ -436,7 +436,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "heart wrenching song.";
mes "But at what cost to your soul?^000000";
}
- goto L_End;
+ callsub L_End;
} else {
cutin "bard_eland01",2;
@@ -447,7 +447,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "Noboooody looooves meee";
mes "Friends foooooor never...";
mes "Ooooooooh wah!^000000";
- goto L_End;
+ callsub L_End;
}
} else if (gef_bard_q == 24) {
@@ -473,7 +473,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "Once again,";
mes "thank you so much";
mes "for your help.";
- goto L_End;
+ callsub L_End;
} else if (gef_bard_q == 22) {
mes "[Errende]";
@@ -489,7 +489,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
next;
mes "[Errende]";
mes "Please ask ^483D8BGunther^000000 about the ^483D8B8th love^000000 in ^483D8BAt One, I Fall in Love^000000. Thank you in advance.";
- goto L_End;
+ callsub L_End;
} else if (gef_bard_q == 23) {
cutin "bard_eland02",2;
@@ -579,19 +579,19 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "in advance~";
gef_bard_q = 24;
}
- goto L_End;
+ callsub L_End;
} else if (.@inputstr$ == "Gunther") {
mes "[Errende]";
mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
gef_bard_q = 26;
- goto L_End;
+ callsub L_End;
} else if (.@inputstr$ == "Gunther Doubleharmony") {
mes "[Errende]";
mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
gef_bard_q = 26;
- goto L_End;
+ callsub L_End;
} else if (.@inputstr$ == "Errende") {
cutin "bard_eland04",2;
@@ -601,7 +601,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "I not know what this";
mes "song is about?";
gef_bard_q = 26;
- goto L_End;
+ callsub L_End;
} else {
mes "[Errende]";
@@ -614,7 +614,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "How could I forget";
mes "the 8th love?";
gef_bard_q = 26;
- goto L_End;
+ callsub L_End;
}
} else if (gef_bard_q == 21) {
@@ -655,7 +655,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "Gunther!";
next;
mes "[Errende]";
- mes "Let me ask you a favor. If perchance you happen to meet ^3355FFGunther Doubleharmony^000000, please inform him of my dilemna.";
+ mes "Let me ask you a favor. If perchance you happen to meet ^3355FFGunther Doubleharmony^000000, please inform him of my dilemma.";
next;
mes "[Errende]";
mes "Tell him that ^483D8BMinty Errende^000000 happened to forget a line of the song, ^483D8BAt One, I Fall in Love^000000. The line is called ^483D8B8th love^000000.";
@@ -664,7 +664,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "I beseech you, if you meet him, please ask him of the 8th love and inform me of that lyric immediately~";
gef_bard_q = 2;
}
- goto L_End;
+ callsub L_End;
} else if (gef_bard_q == 6) {
cutin "bard_eland04",2;
@@ -708,23 +708,23 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "I'll pay you back somehow! Thank you for your trouble in advance~";
gef_bard_q = 4;
}
- goto L_End;
+ callsub L_End;
} else if (.@inputstr$ == "Gunther") {
mes "[Errende]";
mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
- goto L_End;
+ callsub L_End;
} else if (.@inputstr$ == "Gunther Doubleharmony") {
mes "[Errende]";
mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
- goto L_End;
+ callsub L_End;
} else if (.@inputstr$ == "Errende") {
cutin "bard_eland04",2;
mes "[Errende]";
mes "Surely you jest! If I did, why would I not know what this song is about?";
- goto L_End;
+ callsub L_End;
} else {
mes "[Errende]";
@@ -736,7 +736,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "How could I forget";
mes "the 8th love?";
gef_bard_q = 6;
- goto L_End;
+ callsub L_End;
}
} else if (gef_bard_q == 5) {
@@ -773,7 +773,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "heart wrenching song.";
mes "But at what cost to your soul?^000000";
}
- goto L_End;
+ callsub L_End;
} else {
cutin "bard_eland01",2;
@@ -784,7 +784,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "Noboooody looooves meee";
mes "Friends foooooor never...";
mes "Ooooooooooh wah!^000000";
- goto L_End;
+ callsub L_End;
}
} else if (gef_bard_q == 4) {
@@ -809,7 +809,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "Once again,";
mes "thank you so much";
mes "for your help.";
- goto L_End;
+ callsub L_End;
} else if (gef_bard_q == 2) {
cutin "bard_eland04",2;
@@ -822,7 +822,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
next;
mes "[Errende]";
mes "Please ask ^483D8BGunther^000000 about the ^483D8B8th love^000000 in ^483D8BAt One, I Fall in Love^000000. Thank you in advance.";
- goto L_End;
+ callsub L_End;
} else if (gef_bard_q == 3) {
cutin "bard_eland02",2;
@@ -907,27 +907,27 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "I'll pay you back somehow! Thank you for your trouble in advance~";
gef_bard_q = 4;
}
- goto L_End;
+ callsub L_End;
} else if (.@inputstr$ == "Gunther") {
mes "[Errende]";
mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
gef_bard_q = 6;
- goto L_End;
+ callsub L_End;
}
else if (.@inputstr$ == "Gunther Doubleharmony") {
mes "[Errende]";
mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
gef_bard_q = 6;
- goto L_End;
+ callsub L_End;
} else if (.@inputstr$ == "Errende") {
cutin "bard_eland04",2;
mes "[Errende]";
mes "Surely you jest! If I did, why would I not know what this song is about?";
gef_bard_q = 6;
- goto L_End;
+ callsub L_End;
} else {
mes "[Errende]";
@@ -939,7 +939,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "How could I forget";
mes "the 8th love?";
gef_bard_q = 6;
- goto L_End;
+ callsub L_End;
}
} else if (gef_bard_q == 1) {
@@ -1122,7 +1122,7 @@ S_StorySong:
mes "[Errende]";
mes "Oh, how disappointing. But promise me that you will drop by later, so that we can share stories and merriment.";
}
- goto L_End;
+ callsub L_End;
case 2:
mes "[Errende]";
@@ -1156,7 +1156,7 @@ S_StorySong:
mes "My apologies,";
mes "But I cannot offer my services for free. Even a Bard needs zeny to live, wouldn't you agree?";
}
- goto L_End;
+ callsub L_End;
case 2:
cutin "bard_eland03",2;
@@ -1225,7 +1225,7 @@ S_StorySong:
mes "may never know";
mes "with certainty.";
}
- goto L_End;
+ callsub L_End;
} else if (.@random == 2) {
@@ -1311,7 +1311,7 @@ S_StorySong:
mes "I've got it! Gunther!";
next;
mes "[Errende]";
- mes "If perchance you happen to meet ^483D8BGunther Doubleharmony^000000, please inform him of my dilemna.";
+ mes "If perchance you happen to meet ^483D8BGunther Doubleharmony^000000, please inform him of my dilemma.";
next;
mes "[Errende]";
mes "Tell him that ^483D8BMinty Errende^000000 happened to forget a line of the song, ^483D8BAt One, I Fall in Love^000000. The line is called ^483D8B8th love^000000.";
@@ -1328,7 +1328,7 @@ S_StorySong:
if(gef_bard_q==1) gef_bard_q = 7;
if(gef_bard_q==21) gef_bard_q = 27;
}
- goto L_End;
+ callsub L_End;
}
mes "^483D8BA good Bard sings";
@@ -1352,7 +1352,7 @@ S_StorySong:
mes "[Errende]";
mes "H-how can you say such a thing, "+ @name$ +"? Have you ever been a Bard before? It's difficult to come up with fresh, original melodies!";
}
- goto L_End;
+ callsub L_End;
case 3:
cutin "bard_eland01",2;
@@ -1362,7 +1362,7 @@ S_StorySong:
mes "enjoyed when you";
mes "are in the mood for it.";
mes "Please come again.";
- goto L_End;
+ callsub L_End;
}
@@ -1371,7 +1371,7 @@ S_StorySong:
mes "[Errende]";
mes "Hmm~?";
mes "Well, alright. Though, listening to a good story or cheerful song can really do you some good. Alright then, see you later.";
- goto L_End;
+ callsub L_End;
}
}
@@ -1721,7 +1721,7 @@ morocc,134,111,3 script Bard#3 2_M_BARD_ORIENT,{
mes "Are one. 12 petals, our";
mes "Love finally blossoms.^000000";
next;
- specialeffect2 EF_POISONREACT2;
+ specialeffect(EF_POISONREACT2, AREA, playerattached());
mes "^3355FFAfter the song, Kino smiles at you. You feel a sharp pain on your wrist. On the spot where the silver crescent was, you see a tiny black cross.^000000";
next;
mes "[Kino Kitty]";
diff --git a/npc/quests/bunnyband.txt b/npc/quests/bunnyband.txt
index 957e3ab01..9b3537312 100644
--- a/npc/quests/bunnyband.txt
+++ b/npc/quests/bunnyband.txt
@@ -101,43 +101,43 @@ alberta,26,229,0 script Kafra Employee#bunny 4_M_01,{
mes "of the Kafra Services~";
close;
case 2:
- goto L_Info;
+ break;
case 3:
close;
}
- }
- mes "[Kafra Employee]";
- mes "Hi there~! Would you like";
- mes "to join our special ^529DFFBunny";
- mes "Band Event^000000 hosted by the Kafra";
- mes "Corporation and sponsored by";
- mes "the Alberta Merchant Guild?";
- next;
- switch(select("Join the Event", "Event Information", "Cancel")) {
- case 1:
- BUNYBND = 1;
+ } else {
mes "[Kafra Employee]";
- mes "Great! Thanks for";
- mes "participating! If you";
- mes "haven't already heard,";
- mes "you need to collect these";
- mes "items if you want me put a";
- mes "Bunny Band together for you...";
+ mes "Hi there~! Would you like";
+ mes "to join our special ^529DFFBunny";
+ mes "Band Event^000000 hosted by the Kafra";
+ mes "Corporation and sponsored by";
+ mes "the Alberta Merchant Guild?";
next;
- mes "[Kafra Employee]";
- mes "100 Feathers,";
- mes "1 Four-Leaf Clover,";
- mes "1 Kitty Band and";
- mes "1 Pearl. That's it!";
- mes "Good luck and I'll be";
- mes "waiting for you here~";
- close;
- case 2:
- break;
- case 3:
- close;
+ switch(select("Join the Event", "Event Information", "Cancel")) {
+ case 1:
+ BUNYBND = 1;
+ mes "[Kafra Employee]";
+ mes "Great! Thanks for";
+ mes "participating! If you";
+ mes "haven't already heard,";
+ mes "you need to collect these";
+ mes "items if you want me put a";
+ mes "Bunny Band together for you...";
+ next;
+ mes "[Kafra Employee]";
+ mes "100 Feathers,";
+ mes "1 Four-Leaf Clover,";
+ mes "1 Kitty Band and";
+ mes "1 Pearl. That's it!";
+ mes "Good luck and I'll be";
+ mes "waiting for you here~";
+ close;
+ case 2:
+ break;
+ case 3:
+ close;
+ }
}
-L_Info:
mes "[Kafra Employee]";
mes "To thank our valued";
mes "customers, Kafra Corporation";
diff --git a/npc/quests/cooking_quest.txt b/npc/quests/cooking_quest.txt
index 3b97f60ee..505561f52 100644
--- a/npc/quests/cooking_quest.txt
+++ b/npc/quests/cooking_quest.txt
@@ -85,7 +85,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "be careful and watch your";
mes "step when you climb up";
mes "the stairs for me, alright?";
- goto L_End;
+ callsub L_End;
}
else if (getequipid(1) != 5026) {
if (Sex == SEX_MALE) {
@@ -123,7 +123,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "But I do find that you";
mes "adventurers do have";
mes "your strong points...";
- goto L_End;
+ callsub L_End;
}
cutin "orleans_1",0;
mes "[Charles Orleans]";
@@ -236,7 +236,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "treats that only I can offer.";
mes "Until that day comes, I shall";
mes "reluctantly bid you adieu.";
- goto L_End;
+ callsub L_End;
}
else if (cooking_q == 0) {
cutin "orleans_5",0;
@@ -342,7 +342,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "^4D4DFF1 Cooking Oil^000000, and";
mes "^4D4DFF1 Old Frying Pan^000000.";
mes "Then, we can begin.";
- goto L_End;
+ callsub L_End;
}
else if (.@cook_m1 == 2) {
cooking_q = 2;
@@ -359,7 +359,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "^4D4DFF2 Red Potions^000000";
mes "so that we can";
mes "begin the lesson~";
- goto L_End;
+ callsub L_End;
}
else if (.@cook_m1 == 3) {
cooking_q = 3;
@@ -375,7 +375,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "^4D4DFF1 Honey^000000,";
mes "^4D4DFF2 Grapes^000000, and";
mes "^4D4DFF1 Red Potion^000000.";
- goto L_End;
+ callsub L_End;
}
else if (.@cook_m1 == 4) {
cooking_q = 4;
@@ -393,7 +393,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "^4D4DFF1 Bag of Grain^000000,";
mes "^4D4DFF10 Spawns^000000, and";
mes "^4D4DFF1 Squid Ink^000000.";
- goto L_End;
+ callsub L_End;
}
else if (.@cook_m1 == 5) {
cooking_q = 5;
@@ -410,7 +410,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "^4D4DFF10 Green Herbs^000000,";
mes "^4D4DFF10 Nippers^000000, and";
mes "^4D4DFF1 Yellow Potion^000000.";
- goto L_End;
+ callsub L_End;
}
cooking_q = 6;
mes "[Charles Orleans]";
@@ -426,7 +426,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "^4D4DFF1 Frying Pan^000000,";
mes "^4D4DFF5 Yoyo Tails^000000, and";
mes "^4D4DFF1 Cooking Oil^000000.";
- goto L_End;
+ callsub L_End;
}
else if (cooking_q == 1) {
if (countitem(Grasshoppers_Leg) > 4 && countitem(Old_Frying_Pan) > 0 && countitem(Cooking_Oil) > 0) {
@@ -467,7 +467,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
delitem Cooking_Oil,1;
cooking_q = 7;
getitem Str_Dish01,1;
- goto L_End;
+ callsub L_End;
}
cutin "orleans_6",0;
.@talk_j = rand(1,2);
@@ -479,14 +479,14 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "If a restaurant patron had";
mes "ordered this, then you'd";
mes "already be making him wait!";
- goto L_End;
+ callsub L_End;
}
mes "[Charles Orleans]";
mes "Just go and ambush those";
mes "happy-go-lucky grasshoppers";
mes "just playing in the fields. Hurry and smash them, then rip their";
mes "legs off--but be humane about it! ";
- goto L_End;
+ callsub L_End;
}
else if (cooking_q == 2) {
if (countitem(Grape) > 2 && countitem(Red_Potion) > 1) {
@@ -524,7 +524,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
delitem Red_Potion,2;
cooking_q = 7;
getitem Int_Dish01,1;
- goto L_End;
+ callsub L_End;
}
cutin "orleans_6",0;
.@talk_j = rand(1,2);
@@ -535,7 +535,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "ingredients for Grape Juice";
mes "Herbal Tea! At a real restaurant, you'd never be able to take your";
mes "time like this! Quickly, now!";
- goto L_End;
+ callsub L_End;
}
mes "[Charles Orleans]";
mes "Having trouble finding";
@@ -543,7 +543,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "those cute little Poporings...";
mes "Of course, you should try to";
mes "be humane when you hunt them...";
- goto L_End;
+ callsub L_End;
}
else if (cooking_q == 3) {
if (countitem(Honey) > 0 && countitem(Grape) > 1 && countitem(Red_Potion) > 0) {
@@ -585,7 +585,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
delitem Red_Potion,1;
cooking_q = 7;
getitem Dex_Dish01,1;
- goto L_End;
+ callsub L_End;
}
cutin "orleans_6",0;
.@talk_j = rand(1,2);
@@ -596,7 +596,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "brought me the ingredients";
mes "to make Honey Grape Juice";
mes "a while ago. Hurry it up!";
- goto L_End;
+ callsub L_End;
}
mes "[Charles Orleans]";
mes "You're having trouble";
@@ -605,7 +605,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "Just go and hunt some bears,";
mes "they're always carrying some";
mes "of that Honey around.";
- goto L_End;
+ callsub L_End;
}
else if (cooking_q == 4) {
if (countitem(Grain) > 0 && countitem(Spawn) > 9 && countitem(Chinese_Ink) > 0) {
@@ -646,7 +646,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
delitem Chinese_Ink,1; //Chinese_ink
cooking_q = 7;
getitem Agi_Dish01,1;
- goto L_End;
+ callsub L_End;
}
cutin "orleans_6",0;
.@talk_j = rand(1,2);
@@ -657,7 +657,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "preparing ingredients";
mes "for Frog Egg and Squid";
mes "Ink Soup right now!";
- goto L_End;
+ callsub L_End;
}
mes "[Charles Orleans]";
mes "You have to be careful";
@@ -665,7 +665,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "Eggs. If you feed them raw to";
mes "somebody, well, their flavor is";
mes "decidely less than magnifique.";
- goto L_End;
+ callsub L_End;
}
else if (cooking_q == 5) {
if (countitem(Nipper) > 9 && countitem(Green_Herb) > 9 && countitem(Yellow_Potion) > 0) {
@@ -706,7 +706,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
delitem Yellow_Potion,1;
cooking_q = 7;
getitem Vit_Dish01,1;
- goto L_End;
+ callsub L_End;
}
cutin "orleans_6",0;
.@talk_j = rand(1,2);
@@ -718,7 +718,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "Crab Nippers? You need";
mes "to work quickly for those";
mes "hungry restaurant patrons!";
- goto L_End;
+ callsub L_End;
}
mes "[Charles Orleans]";
mes "It shouldn't be too hard";
@@ -726,7 +726,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "find some Vadons and crush";
mes "them, making sure to rip off";
mes "their Nippers. That sounds strange, I know, but just do it.";
- goto L_End;
+ callsub L_End;
}
else if (cooking_q == 6) {
if (countitem(Yoyo_Tail) > 4 && countitem(Old_Frying_Pan) > 0 && countitem(Cooking_Oil) > 0) {
@@ -767,7 +767,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
delitem Cooking_Oil,1;
cooking_q = 7;
getitem Luk_Dish01,1;
- goto L_End;
+ callsub L_End;
}
cutin "orleans_6",0;
.@talk_j = rand(1,2);
@@ -779,7 +779,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "you can. In a real restaurant,";
mes "you'd never able to take your";
mes "time like this. Toute allure!";
- goto L_End;
+ callsub L_End;
}
mes "[Charles Orleans]";
mes "You need more tails?";
@@ -788,7 +788,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "and then slice off their tails.";
mes "You're a beginner, but I won't";
mes "allow you to be inhumane!";
- goto L_End;
+ callsub L_End;
}
else if (cooking_q == 7) {
cutin "orleans_7",0;
@@ -808,7 +808,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "teaching until one of you can";
mes "become a worthy successor.";
mes "It will take some time...";
- goto L_End;
+ callsub L_End;
}
else if (cooking_q == 8) {
cutin "orleans_5",0;
@@ -847,7 +847,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes ".....Who told you";
mes "to ask her name?";
mes "You don't even understand what she is saying.";
- goto L_End;
+ callsub L_End;
case 2:
cutin "nyuang_2",2;
emotion e_pif,0,"Child with Cat#cook";
@@ -863,7 +863,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "the child won't talk to us...";
mes "Still, we need to get those";
mes "two out of the kitchen.";
- goto L_End;
+ callsub L_End;
case 3:
cutin "nyuang_3",2;
emotion e_heh,0,"Child with Cat#cook";
@@ -876,7 +876,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "[Charles Orleans]";
mes "...Are you playing with that kid...?";
mes "...Then I don't need you to be here.";
- goto L_End;
+ callsub L_End;
case 4:
emotion e_dots,0,"Child with Cat#cook";
mes "[Child with Cat]";
@@ -885,7 +885,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
next;
cutin "nyuang_4",2;
emotion e_an,0,"Child with Cat#cook";
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -10,0;
mes "[Child with Cat]";
mes "Grrrrrrr!";
@@ -897,7 +897,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "You should have";
mes "been more careful";
mes "handling that cat...";
- goto L_End;
+ callsub L_End;
}
}
else if (cooking_q == 9) {
@@ -1029,7 +1029,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "Ah...";
mes "There goes a true";
mes "lady... Madam Wickebine...";
- goto L_End;
+ callsub L_End;
}
else if (cooking_q == 10) {
cutin "orleans_5",0;
@@ -1071,7 +1071,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "Praise the glories of the";
mes "Rune-Midgarts Kingdom!";
mes "Long live King Tristram III!";
- goto L_End;
+ callsub L_End;
}
else if (cooking_q == 11) {
cutin "orleans_5",0;
@@ -1112,7 +1112,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "1 to 5. Those are the";
mes "only cookbooks that I will";
mes "lend out to my students.";
- goto L_End;
+ callsub L_End;
}
else if (.@new_book == 0) {
cutin "orleans_5",0;
@@ -1122,7 +1122,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "study the recipes that you";
mes "have right now before trying";
mes "something new, I suppose.";
- goto L_End;
+ callsub L_End;
}
mes "[Charles Orleans]";
mes "So you wanted to borrow a";
@@ -1140,7 +1140,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "levels 1 to 5. Hmm, well, ask";
mes "me again when you remember";
mes "which cookbook you have, okay?";
- goto L_End;
+ callsub L_End;
}
else if (.@old_book == 0) {
cutin "orleans_5",0;
@@ -1150,7 +1150,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "study the recipes that you";
mes "have right now before trying";
mes "something new, I suppose.";
- goto L_End;
+ callsub L_End;
}
else if (.@old_book == .@new_book) {
cutin "orleans_4",0;
@@ -1161,7 +1161,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "cookbook that you already";
mes "have? I guess you made";
mes "some sort of mistake?";
- goto L_End;
+ callsub L_End;
}
else {
if (countitem(7471+.@old_book) < 1) {
@@ -1172,7 +1172,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "that you'd return to me?";
mes "Find it first, and then I can";
mes "lend another cookbook to you.";
- goto L_End;
+ callsub L_End;
}
cutin "orleans_2",0;
mes "[Charles Orleans]";
@@ -1264,10 +1264,10 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "Oh, how I miss the";
mes "taste of Pumpkins!";
mes "Ahhh, how nostalgic~";
- goto L_End;
+ callsub L_End;
}
}
- else goto L_End;
+ else callsub L_End;
}
else if (.@new_book== 2) {
cutin "orleans_7",0;
@@ -1298,10 +1298,10 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "soon... But the experience";
mes "isn't complete without any";
mes "Well-Baked Cookies to munch~";
- goto L_End;
+ callsub L_End;
}
}
- else goto L_End;
+ else callsub L_End;
}
else if (.@new_book== 3) {
cutin "orleans_7",0;
@@ -1330,10 +1330,10 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "things I don't know";
mes "how to make extremely";
mes "well. Can you believe that?";
- goto L_End;
+ callsub L_End;
}
}
- else goto L_End;
+ else callsub L_End;
}
else if (.@new_book== 4) {
cutin "orleans_7",0;
@@ -1364,10 +1364,10 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "of that delicious Bao.";
mes "I'd cook it myself, but";
mes "I don't know the secret!";
- goto L_End;
+ callsub L_End;
}
}
- else goto L_End;
+ else callsub L_End;
}
else if (.@new_book== 5) {
cutin "orleans_7",0;
@@ -1396,10 +1396,10 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "cook with those Shoots";
mes "soon, so I'd appreciate it";
mes "if you'd do this little favor~";
- goto L_End;
+ callsub L_End;
}
}
- else goto L_End;
+ else callsub L_End;
}
if (.@old_book == 1) delitem Cookbook01,1;
@@ -1434,7 +1434,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "good care of it--don't sell";
mes "it or lose it or anything like";
mes "that. Good luck cooking now~";
- goto L_End;
+ callsub L_End;
case 2:
cutin "orleans_3",0;
@@ -1462,7 +1462,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "why my spirit to create";
mes "culinary masterpieces has";
mes "been reinvigorated lately...";
- goto L_End;
+ callsub L_End;
case 3:
cutin "orleans_5",0;
@@ -1470,7 +1470,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "Please, do not worry";
mes "yourself about it. Just";
mes "let me rest for now~";
- goto L_End;
+ callsub L_End;
}
}
@@ -1479,7 +1479,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "Mon dieu!";
mes "An error has";
mes "occurred!";
- goto L_End;
+ callsub L_End;
}
L_End:
@@ -2069,8 +2069,8 @@ prt_castle,45,35,5 script Madeleine Chu#cook 4_COOK,{
close;
S_SellSets:
- .@item_cost = getiteminfo(getarg(0),0);
- .@item_weight = getiteminfo(getarg(0),6);
+ .@item_cost = getiteminfo(getarg(0), ITEMINFO_BUYPRICE);
+ .@item_weight = getiteminfo(getarg(0), ITEMINFO_WEIGHT);
mes "[Madeleine Chu]";
mes "How many " + (getarg(0)==12125 ? "Outdoor":"Indoor");
mes "Cooking Kits would";
diff --git a/npc/quests/counteragent_mixture.txt b/npc/quests/counteragent_mixture.txt
index cde1bda95..4921b215c 100644
--- a/npc/quests/counteragent_mixture.txt
+++ b/npc/quests/counteragent_mixture.txt
@@ -129,7 +129,6 @@ alberta_in,133,55,3 script Louitz#cm 4_M_02,{
mes "[Merchant Louitz]";
mes "Hmm... You better";
mes "go around Geffen and";
- mes "around first. I know for";
mes "ask around first. I know for";
mes "sure that somebody knows";
mes "where you can find Molgenstein.";
@@ -199,7 +198,6 @@ alberta_in,133,55,3 script Louitz#cm 4_M_02,{
mes "[Merchant Louitz]";
mes "Hmm... You better";
mes "go around Geffen and";
- mes "around first. I know for";
mes "ask around first. I know for";
mes "sure that somebody knows";
mes "where you can find Molgenstein.";
@@ -269,7 +267,6 @@ alberta_in,133,55,3 script Louitz#cm 4_M_02,{
mes "[Merchant Louitz]";
mes "Hmm... You better";
mes "go around Geffen and";
- mes "around first. I know for";
mes "ask around first. I know for";
mes "sure that somebody knows";
mes "where you can find Molgenstein.";
diff --git a/npc/quests/eye_of_hellion.txt b/npc/quests/eye_of_hellion.txt
index f785023fe..a070bf8df 100644
--- a/npc/quests/eye_of_hellion.txt
+++ b/npc/quests/eye_of_hellion.txt
@@ -358,7 +358,7 @@ morocc_in,116,101,3 script Old Scholar Tyus#hellion 4_M_JOB_WIZARD,3,3,{
mes "this piece I found here in";
mes "Morroc, and the pieces you";
mes "found in Prontera and Payon. There's one more left in Geffen.";
- specialeffect2 EF_HEAL2;
+ specialeffect(EF_HEAL2, AREA, playerattached());
specialeffect EF_HEAL2;
next;
mes "[Sir Chilias'Tyus]";
@@ -679,7 +679,7 @@ morocc_in,116,101,3 script Old Scholar Tyus#hellion 4_M_JOB_WIZARD,3,3,{
OnTouch:
if (HELLIONQ == 57 && countitem(Piece_Of_Slate_2) > 0) {
- specialeffect2 EF_HEAL2;
+ specialeffect(EF_HEAL2, AREA, playerattached());
specialeffect EF_HEAL2;
mes "^3355FFOne of the Tablet Pieces";
mes "that you have is beginning to";
@@ -1896,7 +1896,7 @@ pay_arche,142,28,0 script Buddha Statue#paypuzz6 HIDDEN_NPC,5,5,{
OnTouch:
if (HELLIONQ == 56 && countitem(Piece_Of_Slate_1) > 0) {
- specialeffect2 EF_HEAL2;
+ specialeffect(EF_HEAL2, AREA, playerattached());
specialeffect EF_HEAL2;
mes "^3355FFThe piece of tablet";
mes "that you have is shining";
@@ -1924,7 +1924,7 @@ geffen,110,200,3 script Sage Welshyun#hellion 4_M_SAGE_A,3,3,{
close;
}
else if (HELLIONQ == 58) {
- specialeffect2 EF_HEAL2;
+ specialeffect(EF_HEAL2, AREA, playerattached());
specialeffect EF_HEAL2;
mes "[Welshyun]";
mes "That...";
@@ -2265,7 +2265,7 @@ geffen,110,200,3 script Sage Welshyun#hellion 4_M_SAGE_A,3,3,{
OnTouch:
if (HELLIONQ == 58 && countitem(Piece_Of_Slate_3) > 0) {
- specialeffect2 EF_HEAL2;
+ specialeffect(EF_HEAL2, AREA, playerattached());
specialeffect EF_HEAL2;
mes "^3355FFThe piece of tablet";
mes "that you have is shining";
@@ -2444,7 +2444,7 @@ gef_fild09,296,59,0 script Hidden Cave#hellion HIDDEN_NPC,3,3,{
OnTouch:
if (HELLIONQ == 68 && countitem(Slate) > 0) {
- specialeffect2 EF_HEAL2;
+ specialeffect(EF_HEAL2, AREA, playerattached());
specialeffect EF_HEAL2;
mes "^3355FFThe tablet in your";
mes "hands begins to shine";
diff --git a/npc/quests/first_class/tu_acolyte.txt b/npc/quests/first_class/tu_acolyte.txt
index 2762325cb..69cfb3cbf 100644
--- a/npc/quests/first_class/tu_acolyte.txt
+++ b/npc/quests/first_class/tu_acolyte.txt
@@ -310,7 +310,7 @@ prt_monk,230,106,3 script Asthe#tu 1_F_PRIEST,{
tu_acolyte01 = 3;
if(getskilllv("AL_HEAL") == 0){
getexp 0,100;
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
}
close;
case 3:
@@ -399,11 +399,11 @@ prt_monk,230,106,3 script Asthe#tu 1_F_PRIEST,{
delitem Mace, 1;
if(Class == Job_Acolyte_High) {
getexp 2000,1000;
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
close;
} else {
getexp 1000,500;
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
close;
}
} else {
@@ -654,7 +654,7 @@ prt_monk,230,106,3 script Asthe#tu 1_F_PRIEST,{
mes "[Asthe]";
mes "Pneuma shields characters";
mes "within a 3*3 block, or a 9 cell area, from ^FF0000long range attacks^000000. If you party with Archers or other Bow users, be careful since you might accidentally block their attacks.";
- specialeffect2 EF_PNEUMA;
+ specialeffect(EF_PNEUMA, AREA, playerattached());
next;
mes "[Asthe]";
mes "There are some Undead monsters";
@@ -795,7 +795,7 @@ prt_monk,230,106,3 script Asthe#tu 1_F_PRIEST,{
getexp 1000,1000;
else
getexp 5000,3000;
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
close;
}
mes "If you get into an";
@@ -873,7 +873,7 @@ monk_in,18,38,6 script Priest Gardron#tu 4_M_MINISTER,{
getexp 1000,1000;
else
getexp 2000,2000;
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
//getitem Blue_Potion,1;
close;
} else {
@@ -1145,7 +1145,7 @@ prt_monk,226,257,6 script Ill Girl#tu 4_F_04,{
getexp 0,500;
else
getexp 0,1000;
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
break;
} else {
diff --git a/npc/quests/first_class/tu_archer.txt b/npc/quests/first_class/tu_archer.txt
index 479e71e67..834323086 100644
--- a/npc/quests/first_class/tu_archer.txt
+++ b/npc/quests/first_class/tu_archer.txt
@@ -78,7 +78,7 @@ payon_in02,67,65,3 script Bard Jet#tu 1_M_BARD,{
next;
if (Sex == SEX_MALE) {
select("A joke, eh?");
- specialeffect2 EF_TALK_FROSTJOKE;
+ specialeffect(EF_TALK_FROSTJOKE, AREA, playerattached());
mes "[Jet]";
mes "Oh...";
mes "My...";
@@ -92,7 +92,7 @@ payon_in02,67,65,3 script Bard Jet#tu 1_M_BARD,{
mes "just have to become a Bard!";
} else {
select("Scream!");
- specialeffect2 EF_TALK_SCREAM;
+ specialeffect(EF_TALK_SCREAM, AREA, playerattached());
mes "[Jet]";
mes "W-Wow...";
mes "I don't know why, but that was truly amazing. You must have";
@@ -118,7 +118,7 @@ payon_in02,67,65,3 script Bard Jet#tu 1_M_BARD,{
mes "Ooh...!";
mes "You're...!";
next;
- specialeffect2 EF_TALK_FROSTJOKE;
+ specialeffect(EF_TALK_FROSTJOKE, AREA, playerattached());
//specialeffect EF_TALK_FROSTJOKE,"Bard Jet#tu";
emotion e_no1;
mes "[Jet]";
@@ -657,7 +657,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{
mes "[Reidin Corse]";
mes "Ah, but your eyes look a lot sharper than they used to be.";
mes "Here, this is a small, special reward for you.";
- specialeffect2 EF_WIND;
+ specialeffect(EF_WIND, AREA, playerattached());
tu_archer01 = 7;
getexp 500,0;
next;
@@ -884,7 +884,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{
mes "enough and you'll get used to it!";
next;
if(.@eagle == 0){
- specialeffect2 EF_WIND;
+ specialeffect(EF_WIND, AREA, playerattached());
tu_archer01 = 10;
getexp 0,500;
}
@@ -962,7 +962,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{
mes "[Reidin Corse]";
mes "Good! You pass.";
mes "Don't forget that you gotta keep training and improve your skills. Before you know it, you'll be an expert almost as good as me!";
- specialeffect2 EF_WIND;
+ specialeffect(EF_WIND, AREA, playerattached());
tu_archer01 = 12;
if (RENEWAL)
delitem Grasshoppers_Leg,10;
@@ -1095,7 +1095,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{
mes "you that you've passed";
mes "my final exam! Here, take";
mes "this little reward!";
- specialeffect2 EF_WIND;
+ specialeffect(EF_WIND, AREA, playerattached());
tu_archer01 = 16;
if (RENEWAL_EXP)
getexp 1000,1000;
@@ -1383,7 +1383,7 @@ pay_arche,84,139,3 script Seisner 4_F_JOB_HUNTER,{
mes "[Seisner]";
mes "If you feel comfortable enough with the knowledge I've taught you, you should go back to Master Kavaruk. But if you still have questions, you can always come and ask me.";
close2;
- specialeffect2 EF_WIND;
+ specialeffect(EF_WIND, AREA, playerattached());
tu_archer01 = 3;
if(JobLevel == 1){
getexp 0,30;
diff --git a/npc/quests/first_class/tu_magician01.txt b/npc/quests/first_class/tu_magician01.txt
index 73a3007f3..198913b83 100644
--- a/npc/quests/first_class/tu_magician01.txt
+++ b/npc/quests/first_class/tu_magician01.txt
@@ -155,7 +155,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
getexp BaseLevel*3,BaseLevel*2;
else
getexp BaseLevel*30,BaseLevel*15;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
case 1:
mes "Are you ready";
@@ -389,7 +389,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "move on to the next";
mes "subject then. Ho ho ho~!";
tu_magician01 = 2;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
if(.@eread_1) getexp 150,70;
if(.@eread_2) getexp 150,70;
if(.@eread_3) getexp 150,70;
@@ -415,7 +415,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "Napalm Beat. Learning these";
mes "enables Mages to learn their";
mes "more advanced skills.";
- specialeffect2 EF_NAPALMBEAT;
+ specialeffect(EF_NAPALMBEAT, AREA, playerattached());
next;
mes "[Mana]";
mes "Increasing the levels of";
@@ -423,7 +423,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "access to other spells, but";
mes "the damage of those basic";
mes "attack skills is also increased.";
- specialeffect2 EF_LIGHTBOLT;
+ specialeffect(EF_LIGHTBOLT, AREA, playerattached());
next;
mes "[Mana]";
mes "Other skills that are";
@@ -432,7 +432,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "Increase SP Recovery. They're";
mes "not really attack spells, but are useful in certain situations.";
next;
- specialeffect2 EF_SIGHT;
+ specialeffect(EF_SIGHT, AREA, playerattached());
mes "[Mana]";
mes "Sight is used to";
mes "reveal enemies that";
@@ -440,7 +440,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "mind that this skill's";
mes "range doesn't go too far.";
next;
- specialeffect2 EF_STONECURSE;
+ specialeffect(EF_STONECURSE, AREA, playerattached());
mes "[Mana]";
mes "Stone Curse has the chance";
mes "to curse a target, temporarily";
@@ -477,7 +477,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "Then bring them to me, okay?";
tu_magician01 = 3;
getexp 400,200;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
case 3:
mes "Ah, you're back?";
@@ -505,7 +505,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "Anyway, let me know when you're ready for the next lesson, okay?";
tu_magician01 = 5;
getexp 400,200;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
}
case 4:
@@ -533,7 +533,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "Anyway, let me know when you're ready for the next lesson, okay?";
tu_magician01 = 5;
getexp 400,200;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
}
case 5:
@@ -554,7 +554,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "a certain level. It attacks";
mes "with ancient spiritual power~";
next;
- specialeffect2 EF_SOULSTRIKE;
+ specialeffect(EF_SOULSTRIKE, AREA, playerattached());
next;
mes "[Mana]";
mes "As you train in the use";
@@ -572,7 +572,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "Safety Wall protects against";
mes "most close range attacks.";
next;
- specialeffect2 EF_GLASSWALL;
+ specialeffect(EF_GLASSWALL, AREA, playerattached());
next;
mes "[Mana]";
mes "However, Safety Wall";
@@ -591,7 +591,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "can learn after training";
mes "in the use of Fire Bolt.";
next;
- specialeffect2 EF_FIREBALL;
+ specialeffect(EF_FIREBALL, AREA, playerattached());
next;
mes "[Mana]";
mes "Fire Ball can actually";
@@ -610,9 +610,9 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "learned after increasing";
mes "the Cold Bolt skill to";
mes "a certain level.";
- specialeffect2 EF_FROSTDIVER;
+ specialeffect(EF_FROSTDIVER, AREA, playerattached());
next;
- specialeffect2 EF_FROSTDIVER2;
+ specialeffect(EF_FROSTDIVER2, AREA, playerattached());
mes "[Mana]";
mes "Frost Diver will damage";
mes "enemies and has the chance";
@@ -638,7 +638,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "increasing the Lightning";
mes "Bolt skill to a certain level.";
next;
- specialeffect2 EF_THUNDERSTORM;
+ specialeffect(EF_THUNDERSTORM, AREA, playerattached());
mes "[Mana]";
mes "Thunderstorm is similar";
mes "to Fire Ball in that it can";
@@ -658,7 +658,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "Sight. Unlike other skills,";
mes "Fire Wall targets an area.";
next;
- specialeffect2 EF_FIREWALL;
+ specialeffect(EF_FIREWALL, AREA, playerattached());
mes "[Mana]";
mes "So you can place";
mes "a Fire Wall in locations";
@@ -684,7 +684,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "inside the Mage Guild to";
mes "teach you how to use it.";
next;
- specialeffect2 EF_ENERGYCOAT;
+ specialeffect(EF_ENERGYCOAT, AREA, playerattached());
next;
mes "[Mana]";
mes "If you do decide to";
@@ -711,7 +711,7 @@ geffen,67,180,4 script New Mage Manager#M 8_F,{
mes "in handy when fighting...";
tu_magician01 = 6;
getitem Wand,1;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
if(.@skill_e1) getexp 300,100;
if(.@skill_e2) getexp 300,100;
if(.@skill_e3) getexp 300,100;
diff --git a/npc/quests/first_class/tu_thief01.txt b/npc/quests/first_class/tu_thief01.txt
index 13f251d71..58e654122 100644
--- a/npc/quests/first_class/tu_thief01.txt
+++ b/npc/quests/first_class/tu_thief01.txt
@@ -108,7 +108,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
mes "So if you're feeling like the damage you're making is pretty weak, you might want more stat points in ^2F4F2FSTR^000000. How high your raise your own STR is really up to you.";
tu_thief01 = 1;
getexp 200,100;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
case 2:
mes "[Yierhan]";
@@ -124,7 +124,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
mes "also increase your attack damage, but they're insignificant compared to STR. I repeat: ^660000insignificant^000000.";
tu_thief01 = 1;
getexp 400,200;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
case 3:
mes "[Yierhan]";
@@ -139,7 +139,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
mes "So if you're feeling like the damage you're making is pretty weak, you might want more stat points in ^2F4F2FSTR^000000. How high your raise your own STR is really up to you.";
tu_thief01 = 1;
getexp 200,100;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
}
} else if(tu_thief01 == 1){
@@ -249,7 +249,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
mes "I can explain real quick.";
tu_thief01 = 3;
getexp BaseLevel*30,BaseLevel*15;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
} else if(tu_thief01 == 3){
mes "So...";
@@ -291,7 +291,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
mes "Steal is an Active Skill that has the chance of nabbing you some";
mes "free items! You can't use it against other people, though.";
next;
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
mes "[Yierhan]";
mes "But you can use Steal to take items from monsters! If you're lucky, you can get some good items that way. Oh, and Steal doesn't affect monster drop rates.";
.@read_s = 1;
@@ -334,7 +334,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
mes "after you learn the Envenom skill. Detoxify allows you to counteract the effects of poison on a target.";
.@read_r = 1;
next;
- specialeffect2 EF_DETOXICATION;
+ specialeffect(EF_DETOXICATION, AREA, playerattached());
next;
break;
case 7:
@@ -346,7 +346,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
mes "[Yierhan]";
mes "Now that you're such an expert on skills, I want you to level up your skills and come back, got it?";
tu_thief01 = 4;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
if(.@read_d) getexp 300,100;
if(.@read_f) getexp 300,100;
if(.@read_s) getexp 300,100;
@@ -370,7 +370,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
savepoint "moc_ruins",80,164;
getitem Wing_Of_Butterfly,1;
getexp 100,50;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close2;
warp "moc_fild12",158,373;
end;
@@ -428,7 +428,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
tu_thief01 = 8;
getitem Main_Gauche,1;
getexp 1000,500;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
case 2:
mes "[Yierhan]";
@@ -438,7 +438,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
tu_thief01 = 7;
getitem Main_Gauche,1;
getexp 500,200;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
}
} else {
@@ -465,7 +465,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
tu_thief01 = 7;
getitem Main_Gauche,1;
getexp 500,200;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
}
}
@@ -508,7 +508,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{
mes "other there, okay?";
tu_thief01 = 8;
getexp 200,100;
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
close;
} else if(tu_thief01 == 8){
mes "Heya pal.";
diff --git a/npc/quests/kiel_hyre_quest.txt b/npc/quests/kiel_hyre_quest.txt
index 3a21bbfa0..677a81f8d 100644
--- a/npc/quests/kiel_hyre_quest.txt
+++ b/npc/quests/kiel_hyre_quest.txt
@@ -833,7 +833,7 @@ kh_school,179,39,0 script Cute Student#kh 4_F_KHELLY,{
select("Yeah, that's right.");
mes "Listen, I know you";
mes "probably have your own";
- mes "plans, but do you think";
+ mes "plans, but do you think";
mes "you can help me with this";
mes "huge problem that I have?";
next;
@@ -1764,7 +1764,7 @@ yuno_fild08,71,170,0 script Grave#kh HIDDEN_NPC,{
close;
}
else {
- mes "As you aproach the";
+ mes "As you approach the";
mes "grave, it begins to";
mes "emit flashes of light.^000000";
next;
@@ -1967,7 +1967,7 @@ kh_vila,184,20,0 script Book#kh1::BookKHQ1 HIDDEN_NPC,{
mes "wall slides opens open";
mes "to reveal a secret path.^000000";
KielHyreQuest = 28;
- specialeffect EF_READYPORTAL2,AREA,"Wall#kh";
+ specialeffect(EF_READYPORTAL2, AREA, getnpcid("Wall#kh"));
close;
}
else {
@@ -3877,7 +3877,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
mes "Allysia must have been the";
mes "woman that you loved, and";
mes "that you based your robot's";
- mes "apperance on her.";
+ mes "appearance on her.";
next;
cutin "kh_kyel02",2;
mes "[Kiel Hyre]";
@@ -4065,7 +4065,7 @@ kh_mansion,22,28,4 script Kiel Hyre#kh 4_M_KHKYEL,{
next;
select("Show K.H.'s note");
mes "["+strcharinfo(PC_NAME)+"]";
- mes "This note was written by";
+ mes "This note was written by";
mes "a man with your initials,";
mes "K.H. These initials were also";
mes "signed on her portrait. You";
@@ -6285,7 +6285,7 @@ kh_kiehl02,50,52,4 script Kiehl#Original 4_M_KHKIEL,{
mes "you to stop turning all of";
mes "the Third Generation robots";
mes "into killing machines! How";
- mes "can do something like that";
+ mes "can you do something like that";
mes "to other robots like you?";
next;
cutin "kh_kiel01",2;
@@ -6310,7 +6310,7 @@ kh_kiehl02,50,52,4 script Kiehl#Original 4_M_KHKIEL,{
mes "feel pain or emotions...";
mes "Not unless they're specially";
mes "programmed. Sorry, but I don't";
- mes "plans to stop what I'm doing.";
+ mes "plan to stop what I'm doing.";
next;
cutin "kh_kiel04",2;
mes "[Kiehl]";
@@ -6393,11 +6393,11 @@ kh_kiehl02,50,52,4 script Kiehl#Original 4_M_KHKIEL,{
next;
mes "[Mitchell]";
mes "Nooooo!";
- specialeffect PF_FOGWALL,AREA,"Mitchell#KiehlRoom";
- specialeffect PF_FOGWALL,AREA,"Agent#KHAgent1";
- specialeffect PF_FOGWALL,AREA,"Agent#KHAgent2";
- specialeffect PF_FOGWALL,AREA,"Agent#KHAgent3";
- specialeffect PF_FOGWALL,AREA,"Agent#KHAgent4";
+ specialeffect(PF_FOGWALL, AREA, getnpcid("Mitchell#KiehlRoom"));
+ specialeffect(PF_FOGWALL, AREA, getnpcid("Agent#KHAgent1"));
+ specialeffect(PF_FOGWALL, AREA, getnpcid("Agent#KHAgent2"));
+ specialeffect(PF_FOGWALL, AREA, getnpcid("Agent#KHAgent3"));
+ specialeffect(PF_FOGWALL, AREA, getnpcid("Agent#KHAgent4"));
next;
cutin "kh_kiel03",2;
mes "[Kiehl]";
diff --git a/npc/quests/newgears/2004_headgears.txt b/npc/quests/newgears/2004_headgears.txt
index 722509fbc..9e1728c65 100644
--- a/npc/quests/newgears/2004_headgears.txt
+++ b/npc/quests/newgears/2004_headgears.txt
@@ -1927,10 +1927,10 @@ alde_alche,88,180,0 script Muscle Man#Alarm Mask 4_M_ALCHE_A,{
enablenpc " #Alarm Mask Man2";
enablenpc " #Alarm Mask Man3";
enablenpc " #Alarm Mask Man4";
- specialeffect EF_CLAYMORE,AREA," #Alarm Mask Man1";
- specialeffect EF_CLAYMORE,AREA," #Alarm Mask Man2";
- specialeffect EF_CLAYMORE,AREA," #Alarm Mask Man3";
- specialeffect EF_CLAYMORE,AREA," #Alarm Mask Man4";
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man1"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man2"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man3"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man4"));
initnpctimer;
if (countitem(Needle_Of_Alarm) > 2999 && countitem(Mr_Scream) > 0) {
if (select("Give him items", "Cancel") == 1) {
@@ -2042,10 +2042,10 @@ OnTimer4000:
disablenpc " #Alarm Mask Man2";
disablenpc " #Alarm Mask Man3";
disablenpc " #Alarm Mask Man4";
- specialeffect EF_CLAYMORE,AREA," #Alarm Mask Man1";
- specialeffect EF_CLAYMORE,AREA," #Alarm Mask Man2";
- specialeffect EF_CLAYMORE,AREA," #Alarm Mask Man3";
- specialeffect EF_CLAYMORE,AREA," #Alarm Mask Man4";
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man1"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man2"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man3"));
+ specialeffect(EF_CLAYMORE, AREA, getnpcid(" #Alarm Mask Man4"));
stopnpctimer;
end;
}
diff --git a/npc/quests/newgears/2010_headgears.txt b/npc/quests/newgears/2010_headgears.txt
index 7fb5178b8..16d76d5e6 100644
--- a/npc/quests/newgears/2010_headgears.txt
+++ b/npc/quests/newgears/2010_headgears.txt
@@ -778,8 +778,8 @@ gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
next;
mes "[King Froggie Vll]";
mes "I hearby give " + strcharinfo(PC_NAME) + ", our hero, this Frog Hat.";
- specialeffect2 EF_MAPPILLAR2;
- specialeffect2 EF_BLESSING;
+ specialeffect(EF_MAPPILLAR2, AREA, playerattached());
+ specialeffect(EF_BLESSING, AREA, playerattached());
erasequest 5004;
2009_hat = 6;
getitem Frog_Cap,1; //Frog_Cap
diff --git a/npc/quests/quests_13_1.txt b/npc/quests/quests_13_1.txt
index 562609d31..b1e4f90b3 100644
--- a/npc/quests/quests_13_1.txt
+++ b/npc/quests/quests_13_1.txt
@@ -5401,7 +5401,7 @@ OnTouch:
mes "This is a really special drink I preserved. Please, drink it while it's nice and hot.";
next;
mes "- You feel so refreshed and light, as you drink the tea that the Official offered. -";
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
ep13_1_rhea = 100;
if (RENEWAL_EXP)
getexp 80000,3000;
@@ -8264,8 +8264,8 @@ mid_camp,69,144,0 script Ferocious Gorurug 4_M_BOSSCAT,{
spl_fild02,314,165,0 script School of Fish#1::Fishinghole CLEAR_NPC,{
if (!questprogress(12060,PLAYTIME) && countitem(Piece_Of_Fish) < 20) {
- specialeffect2 EF_BUBBLE;
- specialeffect2 EF_INVENOM;
+ specialeffect(EF_BUBBLE, AREA, playerattached());
+ specialeffect(EF_INVENOM, AREA, playerattached());
.@fcast = 15;
if (isequipped(2550)) //Fishers_Muffler
.@fcast -= 2;
@@ -8431,7 +8431,7 @@ mid_camp,88,100,7 script Cat Hand Mining Agent 4_CAT,{
- script Mysterious Rock#0::manukrock FAKE_NPC,{
if (countitem(Unidentified_Mineral) < 3 && !questprogress(12062,PLAYTIME)) {
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
progressbar "ffff00",10;
.@rhea_ran = rand(1,20);
if (.@rhea_ran < 13) getitem Stone,1;
@@ -9844,7 +9844,7 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
next;
mes "[Expedition Messenger]";
mes "What's up? Why haven't you left...?";
- specialeffect EF_SOULBREAKER,AREA,"Expedition Messenger";
+ specialeffect(EF_SOULBREAKER, AREA, getnpcid("Expedition Messenger"));
next;
mes "[Expedition Messenger]";
mes "Argh... Why are you doing this?!";
@@ -9871,8 +9871,8 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
mes "[???]";
mes "Argh...";
next;
- specialeffect EF_SOULBREAKER,AREA,"Expedition Messenger#3";
- specialeffect EF_SOULBREAKER,AREA,"Expedition Messenger#3";
+ specialeffect(EF_SOULBREAKER, AREA, getnpcid("Expedition Messenger#3"));
+ specialeffect(EF_SOULBREAKER, AREA, getnpcid("Expedition Messenger#3"));
mes "[???]";
mes "Argh... You...";
next;
@@ -9882,8 +9882,8 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
mes "[???]";
mes "No... Noooo!";
next;
- specialeffect2 EF_SOULBREAKER;
- specialeffect2 EF_SONICBLOWHIT;
+ specialeffect(EF_SOULBREAKER, AREA, playerattached());
+ specialeffect(EF_SONICBLOWHIT, AREA, playerattached());
mes "[Expedition Messenger]";
mes "Argh... " + strcharinfo(PC_NAME) + ", are you alright? The report... The report...";
next;
@@ -9924,8 +9924,8 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
mes "[???]";
mes "Argh!";
next;
- specialeffect EF_SOULBREAKER,AREA,"Expedition Messenger#3";
- specialeffect EF_SOULBREAKER,AREA,"Expedition Messenger#3";
+ specialeffect(EF_SOULBREAKER, AREA, getnpcid("Expedition Messenger#3"));
+ specialeffect(EF_SOULBREAKER, AREA, getnpcid("Expedition Messenger#3"));
mes "[???]";
mes "Argh... You...";
next;
@@ -9935,8 +9935,8 @@ mid_camp,206,286,3 script Expedition Messenger 4_M_MOCASS1,{
mes "[???]";
mes "No... Noooo!";
next;
- specialeffect2 EF_SOULBREAKER;
- specialeffect2 EF_SONICBLOWHIT;
+ specialeffect(EF_SOULBREAKER, AREA, playerattached());
+ specialeffect(EF_SONICBLOWHIT, AREA, playerattached());
mes "[Expedition Messenger]";
mes "Argh... " + strcharinfo(PC_NAME) + ", are you alright? The report... The report...";
next;
@@ -11548,7 +11548,7 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
specialeffect EF_BEGINSPELL2;
next;
mes "- The fire sparked, but then it immediatly blew out. -";
- specialeffect EF_FIREARROW,AREA,"Wet Firewood#moc2";
+ specialeffect(EF_FIREARROW, AREA, getnpcid("Wet Firewood#moc2"));
next;
mes "[Defaria]";
mes "...............";
@@ -11567,7 +11567,7 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
specialeffect EF_BEGINSPELL2;
next;
mes "- The fire sparked, but then it immediately blew out.-";
- specialeffect EF_FIREARROW,AREA,"Wet Firewood#moc2";
+ specialeffect(EF_FIREARROW, AREA, getnpcid("Wet Firewood#moc2"));
next;
mes "[Defaria]";
mes "...............";
@@ -11729,14 +11729,14 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
mes "[Defaria]";
mes "What th--! How dare you fool an old man!";
mes "You little punk!";
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -10,0;
next;
mes "[Defaria]";
mes "I may be old,";
mes "but I'm a representative of great Arunafeltz's scholars!";
mes "It's a mistake to trifle with me like that!";
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -10,0;
next;
mes "[Defaria]";
@@ -11804,8 +11804,8 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
mes "Hopefully I can make a fire with your nice logs....";
specialeffect EF_BEGINSPELL2;
next;
- specialeffect EF_FIREWALL,AREA,"Wet Firewood#moc2";
- specialeffect EF_TORCH,AREA,"Wet Firewood#moc2";
+ specialeffect(EF_FIREWALL, AREA, getnpcid("Wet Firewood#moc2"));
+ specialeffect(EF_TORCH, AREA, getnpcid("Wet Firewood#moc2"));
mes "[Defaria]";
mes "Oh, this is as great as I'd hoped!";
mes "I guess my magic hasn't gotten that rusty after all..";
@@ -13096,17 +13096,17 @@ que_job01,144,54,3 script Rin#moc_room2_2 4_F_ACROSS,{
cutin "moc2_dan02",255;
switch(select("Smack his head.", "Punch his stomach.", "Slap his face.")) {
case 1:
- specialeffect EF_HIT2,AREA,"Rayan#moc_room2_2";
+ specialeffect(EF_HIT2, AREA, getnpcid("Rayan#moc_room2_2"));
mes "- Wanting to stop Rayan from going berserk, you smacked the back of his head with the journal. Rayan staggered and then fell to the ground. Nice job! -";
next;
break;
case 2:
- specialeffect EF_HIT4,AREA,"Rayan#moc_room2_2";
+ specialeffect(EF_HIT4, AREA, getnpcid("Rayan#moc_room2_2"));
mes "- Wanting to stop Rayan from going berserk, you sucker punched him in the 'ole bread basket. Rayan staggered and then fell to the ground...! -";
next;
break;
case 3:
- specialeffect EF_HIT1,AREA,"Rayan#moc_room2_2";
+ specialeffect(EF_HIT1, AREA, getnpcid("Rayan#moc_room2_2"));
mes "- Wanting to stop Rayan from going berserk, you slapped his face with the journal. Rayan staggered and then fell onto the ground. Wah! -";
next;
break;
@@ -13117,7 +13117,7 @@ que_job01,144,54,3 script Rin#moc_room2_2 4_F_ACROSS,{
mes "[Rayan]";
mes "Ahh....";
mes "....? Isn't.. Isn't this?!....";
- specialeffect EF_POISON,AREA,"Rayan#moc_room2_2";
+ specialeffect(EF_POISON, AREA, getnpcid("Rayan#moc_room2_2"));
next;
mes "[Rin]";
mes "Wah! What's going on?";
@@ -13159,7 +13159,7 @@ que_job01,144,54,3 script Rin#moc_room2_2 4_F_ACROSS,{
mes "You're Rin, right?";
mes "This is the last time you'll ever see me.";
mes "Haha... Muhahahahaha!!";
- specialeffect EF_ENTRY,AREA,"Rayan#moc_room2_2";
+ specialeffect(EF_ENTRY, AREA, getnpcid("Rayan#moc_room2_2"));
donpcevent "Rayan#moc_room2_2::OnDisable";
next;
cutin "moc2_rin03",2;
@@ -13533,8 +13533,8 @@ OnTouch:
mes "Why? Why is Rin here? Wait, where am I?";
mes "Argh.. I can't move at all...";
next;
- specialeffect EF_BEGINSPELL2,AREA,"Dandelion Member#moc2_1";
- specialeffect EF_BEGINSPELL2,AREA,"Dandelion Member#moc2_2";
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Dandelion Member#moc2_1"));
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Dandelion Member#moc2_2"));
emotion e_gasp,"Rin#moc2_bt_rin01";
emotion e_gasp,1;
mes "[Rin]";
@@ -13543,8 +13543,8 @@ OnTouch:
next;
donpcevent "Rin#moc2_bt_rin01::OnDisable";
donpcevent "Rin#moc2_bt_rin02::OnEnable";
- specialeffect EF_ICECRASH,AREA,"Rin#moc2_bt_rin01";
- specialeffect EF_METEORSTORM,AREA,"Rin#moc2_bt_rin01";
+ specialeffect(EF_ICECRASH, AREA, getnpcid("Rin#moc2_bt_rin01"));
+ specialeffect(EF_METEORSTORM, AREA, getnpcid("Rin#moc2_bt_rin01"));
mes "[Rayan]";
mes "Hah, how impressive! You run like a rabbit!";
mes "I should have you killed you when I had the chance.";
@@ -13561,16 +13561,16 @@ OnTouch:
donpcevent "Dandelion Member#moc2_4::OnEnable";
donpcevent "Dandelion Member#moc2_5::OnEnable";
next;
- specialeffect EF_FREEZED,AREA,"Rin#moc2_bt_rin02";
+ specialeffect(EF_FREEZED, AREA, getnpcid("Rin#moc2_bt_rin02"));
emotion e_gasp;
mapannounce "que_dan01", "Rin: When.. When did you...!?!",bc_map,"0x7b68ee";
mes "[Rayan]";
mes "I'm sorry that I have to do this.";
mes "...";
mes "Kill her.";
- specialeffect EF_BEGINSPELL2,AREA,"Dandelion Member#moc2_3";
- specialeffect EF_BEGINSPELL2,AREA,"Dandelion Member#moc2_4";
- specialeffect EF_BEGINSPELL2,AREA,"Dandelion Member#moc2_5";
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Dandelion Member#moc2_3"));
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Dandelion Member#moc2_4"));
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Dandelion Member#moc2_5"));
next;
mapannounce "que_dan01", "Rayan: Follow me as soon as you take care of her. Our next meeting place is the usual place. I'm leaving.",bc_map,"0xA8A8A8";
donpcevent "Rayan#moc2_bt_r01::OnDisable";
@@ -13578,9 +13578,9 @@ OnTouch:
donpcevent "Dandelion Member#moc2_2::OnDisable";
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Rin-!!!";
- specialeffect EF_LIGHTBOLT,AREA,"Rin#moc2_bt_rin02";
- specialeffect EF_FIREPILLARBOMB,AREA,"Rin#moc2_bt_rin02";
- specialeffect EF_METEORSTORM,AREA,"Rin#moc2_bt_rin02";
+ specialeffect(EF_LIGHTBOLT, AREA, getnpcid("Rin#moc2_bt_rin02"));
+ specialeffect(EF_FIREPILLARBOMB, AREA, getnpcid("Rin#moc2_bt_rin02"));
+ specialeffect(EF_METEORSTORM, AREA, getnpcid("Rin#moc2_bt_rin02"));
donpcevent "Rin#moc2_bt_rin02::OnDisable";
next;
mes "You feel helpless: you can do nothing but watch her slowly get overpowered..";
diff --git a/npc/quests/quests_13_2.txt b/npc/quests/quests_13_2.txt
index 0dfd16d23..e64e1c84a 100644
--- a/npc/quests/quests_13_2.txt
+++ b/npc/quests/quests_13_2.txt
@@ -415,7 +415,7 @@ man_fild02,132,47,4 duplicate(Cat Hand Agent#spl) Cat Hand Agent#man 4_M_BOSSCAT
- script Mysterious Rock#30::manukrock2 FAKE_NPC,{
if (countitem(Unidentified_Mineral) < 3 && !questprogress(12062,PLAYTIME)) {
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
progressbar "ffff00",10;
.@rhea_ran = rand(1,20);
if (.@rhea_ran < 13) getitem Stone,1;
@@ -455,8 +455,8 @@ man_fild02,241,227,0 duplicate(manukrock2) Mysterious Rock#40 CLEAR_NPC
spl_fild03,226,151,0 script School of Fish#5::FishingHole_spl3 CLEAR_NPC,{
if (!questprogress(12060,PLAYTIME) && countitem(Piece_Of_Fish) < 20) {
- specialeffect2 EF_BUBBLE;
- specialeffect2 EF_INVENOM;
+ specialeffect(EF_BUBBLE, AREA, playerattached());
+ specialeffect(EF_INVENOM, AREA, playerattached());
.@fcast = 15;
if (isequipped(2550)) //Fishers_Muffler
.@fcast -= 2;
@@ -475,7 +475,7 @@ spl_fild03,226,151,0 script School of Fish#5::FishingHole_spl3 CLEAR_NPC,{
if (rand(1,20) == 2) {
getitem Rough_File,1;
ep13_1_rhea = 14;
- specialeffect2 EF_BUBBLE;
+ specialeffect(EF_BUBBLE, AREA, playerattached());
mapannounce strcharinfo(PC_MAP),strcharinfo(PC_NAME) + " has caught a Loose File.",bc_map,"0xff77ff";
}
}
@@ -5757,7 +5757,7 @@ spl_in02,139,65,3 script Middle-Ranked Laphine#la 4_F_FAIRYKID3,{
mes "as Grenouille told you. -";
next;
mes "- Booowoong -";
- specialeffect2 EF_HEALSP;
+ specialeffect(EF_HEALSP, AREA, playerattached());
next;
mes "- When the lights gone,";
mes "a big flower of Alfheim was lied";
diff --git a/npc/quests/quests_airship.txt b/npc/quests/quests_airship.txt
index c5c8f69b5..bc6d73fad 100644
--- a/npc/quests/quests_airship.txt
+++ b/npc/quests/quests_airship.txt
@@ -9,7 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
+//= Copyright (C) 2012-2017 Hercules Dev Team
+//= Copyright (C) Asheraf
//= Copyright (C) Euphy
//= Copyright (C) Joseph
//= Copyright (C) brianluau
@@ -39,1145 +40,1527 @@
//= Reward: - Base Experience 200,000
//= - Job Experience 10,000
//================= Current Version =======================================
-//= 2.1
+//= 3.0
//=========================================================================
-//== Airship Ticket Quest :: ein_tre =======================
-// Note: this is an iRO conversion, and does not exactly match the official script.
+//== Airship Ticket Quest :: kain_ticket =======================
//- Kain Himere -
-airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{
+airplane,47,61,7 script Crewman#ein 4_M_ZONDAOYAJI,{
if (kain_ticket == 4) {
- mes "[Kain Himere]";
- mes "Ah...";
- mes "Here it is!";
- next;
- mes "[Kain Himere]";
- mes "A few days ago, a customer from Einbroch left this on the Airship. He contacted us later to let us know that he can't come back to the Airship to get it.";
- next;
- mes "[Kain Himere]";
- mes "His name is Defru Ark. Currently, he's staying at the Einbroch Hotel. Would you be willing to deliver this for me?";
- next;
- mes "[Kain Himere]";
- mes "It's a strange favor to ask, but I'll pay you back as soon as you return.";
- next;
- setquest 2079;
+ mes("[Kain Himere]");
+ mes("Ah...");
+ mes("Here it is!");
+ next();
+ mes("[Kain Himere]");
+ mes("A few days ago, a customer");
+ mes("from Einbroch left this on the");
+ mes("Airship. He called and let us");
+ mes("know that he can't come back");
+ mes("to get it, but he is staying");
+ mes("over at the Einbroch Hotel.");
+ next();
+ mes("[Kain Himere]");
+ mes("I know it's a strange");
+ mes("favor to ask, but would");
+ mes("you deliver this to Defru");
+ mes("Ark at the Einbroch Hotel?");
+ mes("Of course, I'll repay you");
+ mes("upon your return.");
+ next();
kain_ticket = 5;
- mes "^3355FFKain Himere has given you a small box.^000000";
- close;
+ setquest(2079);
+ mes("^3355FFKain Himere has");
+ mes("given you a small box.^000000");
+ close();
}
- mes "[Kain Himere]";
- mes "Welcome to the Airship. If you have any questions or need any assistnace, please don't hesisitate to let me or one of the other crewman know.";
- next;
+ mes("[Kain Himere]");
+ mes("Welcome to the Airship~");
+ mes("If you have questions or");
+ mes("need any assistance, please");
+ mes("don't hesitate to ask me or");
+ mes("any one of the other crewmen.");
+ next();
if (kain_ticket == 0) {
- switch(select("About the Airship...", "Leave a Comment")) {
+ switch (select("About the Airship...", "Leave a Comment")) {
case 1:
kain_ticket = 1;
- mes "[Kain Himere]";
- mes "Is this your first time flying? Hahaha, I understand how nervous you might be since I used to feel the same way.";
- next;
- mes "[Kain Himere]";
- mes "Our country has made rapid progress in the field of science. Scientific advances have obviously affected our way of life, sort of like how magic improved life in Rune-Migarts.";
- next;
- mes "[Kain Himere]";
- mes "In the Schwaltzwald Republic, we have many scholars who've invented a ship that can fly between towns.";
- next;
- mes "[Kain Himere]";
- mes "It's powered through just a little piece from the Heart of Ymir. This flying ship is a source of pride and joy for our nation.";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Is there any other transportation?";
- next;
- mes "[Kain Himere]";
- mes "Weeeell, there's a train that runs between Einbech and Einbroch. But other than that, I guess you'd have to walk. Hahahaha~";
- close;
+ mes("[Kain Himere]");
+ mes("Is this your first time flying?");
+ mes("I understand if you feel nervous. Before I worked here, I used to feel the same way. Still, this");
+ mes("Airship is pretty amazing. It's incredible what science can do...");
+ next();
+ mes("[Kain Himere]");
+ mes("I hear from the scholars");
+ mes("who developed the Airship");
+ mes("technology that just a little");
+ mes("piece of the heart of Ymir");
+ mes("generates the power for");
+ mes("this ship to fly. Incredible...");
+ next();
+ mes("[Kain Himere]");
+ mes("You know, scientific research");
+ mes("has made living easier and more");
+ mes("comfortable in the Schwaltzvalt");
+ mes("Republic, much in the way magic");
+ mes("research has changed life in the Rune-Midgarts Kingdom.");
+ next();
+ select("What else is used for transportation?");
+ mes("[Kain Himere]");
+ mes("Transportation?");
+ mes("Well, there's a train that");
+ mes("runs between Einbech and");
+ mes("Einbroch. Aside from riding");
+ mes("Airship and the Train, there's");
+ mes("walking and that's it. Hahaha~");
+ close();
case 2:
- mes "[Kain Himere]";
- mes "You wish to leave";
- mes "a comment about our";
- mes "service? Tell me your";
- mes "message and I'll report";
- mes "it to the higher ups.";
- mes "To cancel, press '0'.";
- next;
- input .@comment$;
+ mes("[Kain Himere]");
+ mes("You wish to leave");
+ mes("a comment about our");
+ mes("service? Tell me your");
+ mes("message and I'll report");
+ mes("it to the higher ups.");
+ mes("To cancel, enter '0'.");
+ next();
+ input(.@comment$);
if (.@comment$ == "kafra") {
- mes "[Kain Himere]";
- mes "K-Kafra...?";
- mes "Hmm, maybe I better";
- mes "not send this up after all...";
- emotion e_an;
- close;
+ mes("[Kain Himere]");
+ mes("K-Kafra...?");
+ mes("Hmm, maybe I better");
+ mes("not send this up after all...");
+ emotion(e_an);
+ close();
} else if (.@comment$ == "0") {
- mes "[Kain Himere]";
- mes "Ah, well, if you";
- mes "have any helpful criticism about our service, feel free to leave me with your comments at any time.";
- close;
+ mes("[Kain Himere]");
+ mes("Ah, well, if you have any");
+ mes("helpful criticism about our");
+ mes("service, feel free to leave");
+ mes("me a comment at any time.");
+ close();
} else {
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@comment$+".";
- next;
- mes "[Kain Himere]";
- mes "Hmmmm...";
- mes "I see. Well, I'll";
- mes "send your message";
- mes "to my superiors as";
- mes "soon as possible.";
- mes "Thank you very much.";
- close;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mesf("%s.", .@comment$);
+ next();
+ mes("[Kain Himere]");
+ mes("Hmmmm...");
+ mes("I see. Well, I'll");
+ mes("send your message");
+ mes("to my superiors as");
+ mes("soon as possible.");
+ mes("Thank you very much.");
+ close();
}
}
} else if (kain_ticket == 1) {
- switch(select("About the Airship...", "Make a remark")) {
+ switch (select("About the Airship...", "Make a remark")) {
case 1:
kain_ticket = 2;
- mes "[Kain Himere]";
- mes "You want to hear more";
- mes "about the Airship? Hmm, I don't know too many stories that I could tell you.";
- next;
- mes "[Kain Himere]";
- mes "Well, it's rumored that this really huge corporation runs this Airship. Supposedly, they've got their hands in all sorts of enterprises.";
- next;
- mes "[Kain Himere]";
- mes "Since the Airships are our form of national transportation, I guess that corporation makes a lot of money. Good news for them, huh?";
- close;
+ mes("[Kain Himere]");
+ mes("You want to hear more");
+ mes("about the Airship? Hmm,");
+ mes("there's not too much that");
+ mes("I know, but let me see...");
+ next();
+ mes("[Kain Himere]");
+ mes("Well, it's rumored that this");
+ mes("really big corporation runs");
+ mes("this Airship. Supposedly,");
+ mes("they've got their hands in");
+ mes("all sorts of enterprises.");
+ next();
+ mes("[Kain Himere]");
+ mes("Since the Airships are our");
+ mes("form of national transportation,");
+ mes("the higher-ups must be making");
+ mes("a ton of money. It's pretty crazy.");
+ close();
case 2:
- mes "[Kain Himere]";
- mes "You wish to leave";
- mes "a comment about our";
- mes "service? Tell me your";
- mes "message and I'll report";
- mes "it to the higher ups.";
- mes "To cancel, press '0'.";
- next;
- input .@comment$;
+ mes("[Kain Himere]");
+ mes("You wish to leave");
+ mes("a comment about our");
+ mes("service? Tell me your");
+ mes("message and I'll report");
+ mes("it to the higher ups.");
+ mes("To cancel, press '0'.");
+ next();
+ input(.@comment$);
if (.@comment$ == "kafra") {
- mes "[Kain Himere]";
- mes "K-Kafra...?";
- mes "Hmm, maybe I better";
- mes "not send this up after all...";
- emotion e_an;
- close;
+ mes("[Kain Himere]");
+ mes("K-Kafra...?");
+ mes("Hmm, maybe I better");
+ mes("not send this up after all...");
+ emotion(e_an);
+ close();
} else if (.@comment$ == "0") {
- mes "[Kain Himere]";
- mes "Ah, well, if you";
- mes "have any helpful criticism about our service, feel free to leave me with your comments at any time.";
- close;
+ mes("[Kain Himere]");
+ mes("Ah, well, if you have any");
+ mes("helpful criticism about our");
+ mes("service, feel free to leave");
+ mes("me a comment at any time.");
+ close();
} else {
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@comment$+".";
- next;
- mes "[Kain Himere]";
- mes "Hmmmm...";
- mes "I see. Well, I'll";
- mes "send your message";
- mes "to my superiors as";
- mes "soon as possible.";
- mes "Thank you very much.";
- close;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mesf("%s.", .@comment$);
+ next();
+ mes("[Kain Himere]");
+ mes("Hmmmm...");
+ mes("I see. Well, I'll");
+ mes("send your message");
+ mes("to my superiors as");
+ mes("soon as possible.");
+ mes("Thank you very much.");
+ close();
}
}
} else if (kain_ticket == 2) {
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "About the Airship...";
- next;
- mes "[Kain Himere]";
- mes "You must really want to know all about the Airship, don't you? I'm sorry, but I don't know much more than what I've already told you.";
- next;
- mes "[Kain Himere]";
- mes "I guess if you'd want to know more, you should study to become a Sage in Juno and do your own Airship research...";
- next;
- mes "[Kain Himere]";
- mes "^666666*Sob...*^000000";
- mes "E-excuse me...";
- mes "^666666*Sniff*^000000";
- next;
- switch(select("What the hell...?", "What's wrong?")) {
+ select("About the Airship...");
+ mes("[Kain Himere]");
+ mes("You must really want");
+ mes("to know all about the");
+ mes("Airship, don't you? I'm");
+ mes("sorry, but I don't know");
+ mes("much more than what");
+ mes("I've already told you.");
+ next();
+ mes("[Kain Himere]");
+ mes("I guess if you'd want to know more, you should study to become a Sage in Juno and do your own Airship research...");
+ next();
+ mes("[Kain Himere]");
+ mes("^666666*Sob...*^000000");
+ mes("E-excuse me...");
+ mes("^666666*Sniff*^000000");
+ next();
+ switch (select("What the hell...?", "What's wrong?")) {
case 1:
- mes "[Kain Himere]";
- mes "Oh, no there's no";
- mes "need to apologize. I've kept you long enough as it is. I hope you travel safely, adventurer.";
- close;
+ mes("[Kain Himere]");
+ mes("I-I'm sorry...");
+ mes("That was so");
+ mes("unprofessional.");
+ mes("H-have a safe trip");
+ mes("and th-thank you for");
+ mes("using the Airship! ^333333*Sob*^000000");
+ close();
case 2:
- mes "[Kain Himere]";
- mes "You...";
- mes "I'm sorry, it's";
- mes "a long story.";
- mes "But... if you understand me, thanks a lot to listen my story.";
- next;
- mes "[Kain Himere]";
- mes "Oh alright.";
- mes "I might as well";
- mes "get this off my chest.";
- mes "I guess my story begins";
- mes "when I was a very young man...";
- next;
- mes "[Kain Himere]";
- mes "I...";
- mes "I used to be a miner in Einbech, a small mining town beside of Einbroch. I was hot-blooded and short-tempered.";
- next;
- mes "[Kain Himere]";
- mes "But working with my friends and staking our lives on our mining picks brought me peace of mind. It was good, hard work.";
- next;
- mes "[Kain Himere]";
- mes "The lode of Einvech is so huge, it even connects to Mount Mjolnir in Rune-Midgard. It's full of ores and that lode used to be everything to our little town...";
- next;
- mes "[Kain Himere]";
- mes "Then the factories started popping up. All the ores were mined were moved to those factories, and the smokestacks never stopped churning.";
- next;
- mes "[Kain Himere]";
- mes "More miners moved to the factories and the work got a little lonelier. But I kept at it-- I loved working on the land that much.";
- next;
- mes "[Kain Himere]";
- mes "But then, the accident happened and I couldn't use my right arm the way I used to. So I had to quit my job as a miner...";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "I'm sorry to hear that.";
- next;
- mes "[Kain Himere]";
- mes "Yeah...";
- mes "I felt horrible when it happened. That was the worst time in my life...";
- next;
- mes "[Kain Himere]";
- mes "Right after I quit mining, I was deeply depressed. I couldn't think of life without mining and suffered from depression.";
- next;
- mes "[Kain Himere]";
- mes "I pretty much lost my enthusiasm for life. I started turning to drink and away from my family. It was such a stupid thing to do.";
- next;
- mes "[Kain Himere]";
- mes "My wife was so supportive. Even though I spent my days drinking, so took on a job and tried her best to sooth my sorrow.";
- next;
- mes "[Kain Himere]";
- mes "^666666*Sob*^000000";
- mes "I only realized how much I made her suffer after she died.";
- next;
- mes "[Kain Himere]";
- mes "Then it was me and just my daughter. I had to leave her behind with a neighbor while I tried to find work and inner peace.";
- next;
- mes "[Kain Himere]";
- mes "I wandered from town to town and lived a pretty wild life before I could pick myself back up again.";
- next;
- mes "[Kain Himere]";
- mes "Finally, I became a crewman on this Airship. It's been twenty years... I can't even remember my daughter's name.";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Where is she by now?";
- next;
- mes "[Kain Himere]";
- mes "I went to the house where my neighbor lived, but they're not there anymore. But it's not like I deserve to see her again...";
- next;
- mes "[Kain Himere]";
- mes "^666666*Sob*^000000 I've lived such a terrible life! But thank you for listening to me.";
- next;
- mes "[Kain Himere]";
- mes "I'm sorry that you had to hear all of that. Now tell me, where are you headed?";
- next;
- mes "[Kain Himere]";
- mes "By the way, where are you heading to?";
- next;
- switch(select("Einbroch", "Juno")) {
+ mes("[Kain Himere]");
+ mes("I'm sorry, but it's");
+ mes("a long story. Plus,");
+ mes("you wouldn't understand...");
+ next();
+ select("I have time for a long story.");
+ mes("[Kain Himere]");
+ mes("Alright, I might as well get");
+ mes("this off my chest. I guess it");
+ mes("all started when I was a young");
+ mes("man living in Einbech.");
+ next();
+ mes("[Kain Himere]");
+ mes("Those days, I was pretty hot");
+ mes("headed and short tempered,");
+ mes("but working as a miner used to");
+ mes("always bring me a sense of peace. Staking my life with my friends, mining pick in hand. Yeah...");
+ next();
+ mes("[Kain Himere]");
+ mes("It might have been dangerous,");
+ mes("but it was good, hard and honest work. You know, the mines that connected to the Einbech lode");
+ mes("used to be everything to our little town. But then, things changed...");
+ next();
+ mes("[Kain Himere]");
+ mes("The factories started popping");
+ mes("up and all the ores were moved");
+ mes("to where the smokestacks never");
+ mes("stopped churning. More miners");
+ mes("started working in the factories and the mines became lonelier...");
+ next();
+ mes("[Kain Himere]");
+ mes("But I loved working on the");
+ mes("land so much, I kept at it");
+ mes("until the accident happened.");
+ mes("Now I can't use my right arm");
+ mes("the way I used to, so I had to");
+ mes("quit my job as a miner...");
+ next();
+ select("I'm sorry to hear that.");
+ mes("[Kain Himere]");
+ mes("Yeah...");
+ mes("I was really devastated");
+ mes("when it happened. Those");
+ mes("were probably the worst");
+ mes("years of my entire life.");
+ next();
+ mes("[Kain Himere]");
+ mes("I couldn't think about");
+ mes("life without mining and");
+ mes("I just lost all enthusiasm");
+ mes("for life. I developed a drinking problem and started shutting out my family. I was so stupid...");
+ next();
+ mes("[Kain Himere]");
+ mes("I still can't believe how");
+ mes("supportive my wife was during");
+ mes("those days. Even when I was at");
+ mes("my lowest, she tried to sooth my sorrow and even took on a job");
+ mes("to support me and our daughter.");
+ next();
+ mes("[Kain Himere]");
+ mes("^666666*Sob*^000000 It was only after she");
+ mes("died that I realized how much");
+ mes("she must have suffered. To make");
+ mes("matters worse, I had to leave my daughter behind with a neighbor");
+ mes("while I searched for work...");
+ next();
+ mes("[Kain Himere]");
+ mes("I spent years wandering");
+ mes("from town to town, living");
+ mes("a pretty wild life until I could pick myself up again. And finally, I became an Airship crewman.");
+ next();
+ mes("[Kain Himere]");
+ mes("It's been twenty years");
+ mes("since I've lost my family.");
+ mes("My daughter is somewhere");
+ mes("out there, but I can't even");
+ mes("remember her name...");
+ next();
+ select("Have you tried looking for her?");
+ mes("[Kain Himere]");
+ mes("I tried going to the house");
+ mes("where my neighbor had lived,");
+ mes("but they moved out years ago.");
+ mes("I really have no clue where she");
+ mes("could be. But I don't deserve to see her. I was a horrible father!");
+ next();
+ mes("[Kain Himere]");
+ mes("^666666*Sob*^000000 I'm sorry you");
+ mes("had to hear all of that,");
+ mes("but I really appreciate that");
+ mes("you've listened to me. Now");
+ mes("tell me, where are you headed?");
+ next();
+ switch (select("Einbroch", "Juno")) {
case 1:
kain_ticket = 4;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "I'm heading";
- mes "to Einbroch.";
- next;
- mes "[Kain Himere]";
- mes "Perfect...!";
- mes "Now, let me find";
- mes "that thing. Hold on...";
- close;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I'm heading");
+ mes("to Einbroch.");
+ next();
+ mes("[Kain Himere]");
+ mes("Perfect...!");
+ mes("If you don't mind,");
+ mes("would you do a favor");
+ mes("for me? First, let me");
+ mes("find that package...");
+ close();
case 2:
kain_ticket = 3;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "I'm heading";
- mes "to Juno.";
- next;
- mes "[Kain Himere]";
- mes "Ah, I see...";
- mes "There was something";
- mes "I needed sent to Einbroch. Anyway, I hope you have a good trip. Oh, and thanks for listening.";
- close;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I'm heading");
+ mes("to Juno.");
+ next();
+ mes("[Kain Himere]");
+ mes("Ah, I see...");
+ mes("There was something");
+ mes("I needed sent to Einbroch.");
+ mes("Anyway, have a good trip.");
+ mes("Oh, and thanks for listening.");
+ close();
}
}
} else if (kain_ticket == 3) {
- mes "[Kain Himere]";
- mes "Oh, how are you?";
- mes "Right, there's a favor I have to ask of you. Where are you heading?";
- next;
- switch(select("Einbroch", "Juno")) {
+ mes("[Kain Himere]");
+ mes("Oh, how are you?");
+ mes("If you don't mind me");
+ mes("asking, where are you");
+ mes("headed this time?");
+ next();
+ switch (select("Einbroch", "Juno")) {
case 1:
kain_ticket = 4;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "I'm heading";
- mes "to Einbroch.";
- next;
- mes "[Kain Himere]";
- mes "Perfect...!";
- mes "Now, let me find";
- mes "that thing. Hold on...";
- close;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I'm heading");
+ mes("to Einbroch.");
+ next();
+ mes("[Kain Himere]");
+ mes("Perfect...!");
+ mes("If you don't mind,");
+ mes("would you do a favor");
+ mes("for me? First, let me");
+ mes("find that package...");
+ close();
case 2:
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "I am heading to Juno.";
- next;
- mes "[Kain Himere]";
- mes "Ah, I see...";
- mes "There was something";
- mes "I needed sent to Einbroch. If you're not going there, then don't worry about it.";
- close;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I am heading to Juno.");
+ next();
+ mes("[Kain Himere]");
+ mes("Ah, I see...");
+ mes("There was something");
+ mes("I needed sent to Einbroch.");
+ mes("Anyway, have a good trip.");
+ mes("Oh, and thanks for listening.");
+ close();
}
} else if (kain_ticket > 4 && kain_ticket < 10) {
- mes "[Kain Himere]";
- mes "Oh hello!";
- mes "Things are a little busy right now, but did you delive-- Oh! Wait, mister!";
- next;
- mes "^3355FFKain seems too busy to speak to you right now...^000000";
- close;
+ mes("[Kain Himere]");
+ mes("Oh hello!");
+ mes("Things are a little");
+ mes("hectic right now, but");
+ mes("did you delive-- Oh!");
+ mes("Wait, excuse me! Sir--!");
+ next();
+ mes("^3355FFKain seems too");
+ mes("busy to speak to");
+ mes("you right now...^000000");
+ close();
} else if (kain_ticket == 10) {
- mes "[Kain Himere]";
- mes "Welcome back to the Airship. So did you deliver that little box safely?";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "No, unfortunately. He was away when I got there. Let me give this box back to you.";
- next;
- mes "[Kain Himere]";
- mes "Oh...";
- mes "What should I do now? Oh well, sorry for putting you through so much trouble.";
- next;
- switch(select("Do you know 'Miner's Song?'", "Do you remember 'Tarsha?'")) {
+ mes("[Kain Himere]");
+ mes("Welcome back");
+ mes("to the Airship.");
+ mes("So did you deliver");
+ mes("that little box safely?");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("No, unfortunately.");
+ mes("He was away when");
+ mes("I got there. Let me give");
+ mes("this box back to you.");
+ next();
+ mes("[Kain Himere]");
+ mes("Oh...");
+ mes("What should I do now?");
+ mes("Oh well, sorry for putting");
+ mes("you through so much trouble.");
+ next();
+ switch (select("Casually mention Miner's Song", "Suavely mention Tarsha")) {
case 1:
- mes "[Kain Himere]";
- mes "'Miner's Song...'";
- mes "I miss that singing that at the mines. It was my very favorite when I was young.";
- next;
- mes "[Kain Himere]";
- mes "I think that when I used to sing it, my daughter would run to me and sing along. Yeah...";
- close;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("While we're on the topic");
+ mes("of boxes and deliveries,");
+ mes("have you ever heard of");
+ mes("the ''Miner's Song?''");
+ next();
+ mes("[Kain Himere]");
+ mes("''Miner's Song...''");
+ mes("I miss singing that");
+ mes("while working the mines.");
+ mes("I used to sing it all the time");
+ mes("when I was younger, actually.");
+ next();
+ mes("[Kain Himere]");
+ mes("I think I sang it so");
+ mes("much, I even got my little");
+ mes("daughter to sing it with me~");
+ mes("(But what was her name?!)");
+ next();
+ break;
case 2:
- mes "[Kain Himere]";
- mes "T-Tarsha?";
- mes "Why is that name";
- mes "so familiar...?";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "I met a little girl in Einbroch who was singing 'Miner's Song.' Apparently, her mother, Tarsha, taught it to her.";
- next;
- mes "[Kain Himere]";
- mes "Interesting.";
- mes "But usually only";
- mes "miners know that";
- mes "song. What does this";
- mes "have to do with me?";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Well, Tarsha remembers her father singing her song, so it's possible that ^000066he^000000 was a miner. And since her father disappeared years ago...";
- next;
- mes "[Kain Himere]";
- mes "Poor girl...!";
- mes "Her father";
- mes "just left her?";
- mes "Why, she's just like...";
- next;
- mes "[Kain Himere]";
- mes "Wait...";
- mes "Sweet Christ...";
- mes "The miner who taught Tarsha that song might have been ^0000FFme^000000.";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "I guess we can't be too sure for now. Do you have anything that might prove you're Tarsha's father?";
- next;
- mes "[Kain Himere]";
- mes "Ehhmmm...";
- mes "Before I left town, I buried some of my stuff ^3131FFunderneath a tree in Einbech^000000. I can't remember where, but I did bury my wife's journal with my things.";
- next;
- mes "[Kain Himere]";
- mes "Since she kept track of everything, I think there'd be something about our daughter in there. I'm sorry, but I can't leave the Airship.";
- next;
- mes "[Kain Himere]";
- mes "Would be so kind as to help me by finding that journal and seeing if Tarsha is my daughter?";
- changequest 2081,2082;
- kain_ticket = 11;
- close;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("^333333*Cough cough*");
+ mes("*Cou--TARSHA--Cough*^000000");
+ next();
+ mes("[Kain Himere]");
+ mes("What the...?");
+ mes("Wait. T-Tarsha...");
+ mes("Why does it feel like that");
+ mes("name means something?");
+ next();
+ break;
}
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("You know...");
+ mes("I met a little girl in Einbroch");
+ mes("who was singing the ''Miner's");
+ mes("Song.'' It seems her mother");
+ mes("Tarsha had taught it to her.");
+ next();
+ mes("[Kain Himere]");
+ mes("Interesting. But usually,");
+ mes("only miners would know ");
+ mes("that song. Does this have");
+ mes("anything to do with me?");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Well, this little girl's mother, Tarsha, learned the song from");
+ mes("her father who might have been");
+ mes("a miner. But he mysteriously");
+ mes("disappeared years ago...");
+ next();
+ mes("[Kain Himere]");
+ mes("Poor girl...!");
+ mes("Her father just");
+ mes("left her?! Why,");
+ mes("she's just like...");
+ next();
+ mes("[Kain Himere]");
+ mes("Wait...");
+ mes("Sweet Christ...");
+ mes("The miner who taught");
+ mes("Tarsha that song might");
+ mes("have been... ^0000FFme^000000.");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Well, for now, we can't");
+ mes("be too sure. Do you have");
+ mes("anything that might prove");
+ mes("you're Tarsha's father?");
+ next();
+ mes("[Kain Himere]");
+ mes("Ehhmmm...");
+ mes("Before I left own, I buried");
+ mes("some of my stuff underneath");
+ mes("a tree in Einbech. I can't exactly remember where, but my wife's");
+ mes("journal should be there.");
+ next();
+ mes("[Kain Himere]");
+ mes("Since my wife kept track");
+ mes("of everything in her journal,");
+ mes("she should have written enough");
+ mes("about our daughter for us to know whether or not this Tarsha could be my long lost daughter.");
+ next();
+ mes("[Kain Himere]");
+ mes("Now, I can't really leave");
+ mes("the Airship, so would you help");
+ mes("me by finding that journal and");
+ mes("seeing if Tarsha is really related to me somehow? I'd be grateful");
+ mes("if you could do that for me...");
+ kain_ticket = 11;
+ changequest(2081, 2082);
+ close();
} else if (kain_ticket == 11 || kain_ticket == 12) {
- mes "[Kain Himere]";
- mes "My wife's journal is buried ^3131FFunderneath a tree in Einbech^000000. Please find it and see if Tarsha is my daughter.";
- close;
+ mes("[Kain Himere]");
+ mes("Would you find my wife's");
+ mes("journal and see if Tarsha");
+ mes("is really my daughter? The");
+ mes("journal should be buried");
+ mes("underneath a tree in Einbech.");
+ close();
} else if (kain_ticket == 13) {
- mes "^3355FFYou better fulfill Kain's request to find his wife's journal in Einbech before you speak to him again.^000000";
- close;
+ mes("^3355FFYou better fulfill Kain's");
+ mes("request by finding his wife's");
+ mes("journal and confronting Tarsha");
+ mes("before you speak to him again.^000000");
+ close();
} else if (kain_ticket == 14) {
- if (countitem(Picture_Letter)==1) {
- mes "^3355FFYou gave Kain his wife's journal and told him that Tarsha really is is daughter, and currently has a job in Einbech.^000000";
- next;
- mes "^3355FFKain's eyes welled with tears as he trembled with joy.^000000";
- next;
- mes "[Kain Himere]";
- mes "She must have";
- mes "had a hard time...";
- mes "But she doesn't";
- mes "hate me at all.";
- next;
- mes "[Kain Himere]";
- mes "Rashelle?";
- mes "Can you see me?";
- mes "Can I be this happy?";
- mes "I'm so sorry, my love...";
- mes "^666666*Sob...*^000000";
- next;
- mes "[Kain Himere]";
- mes "Thank you for all of your help, youngster. And please take this as a token of my gratitude.";
- next;
- mes "[Kain Himere]";
- mes "I know this isn't much, but please understand that it's all I can give you. God bless you for your all your help!";
- delitem 7276, 1;
- completequest 2085;
+ if (countitem(Picture_Letter) > 0) {
+ mes("^3355FFYou give his wife's");
+ mes("journal to Kain and tell");
+ mes("him that you learn that Tarsha");
+ mes("is really his daughter and that");
+ mes("she is happily married and is");
+ mes("an inventor in Einbroch.^000000");
+ next();
+ mes("^3355FFKain's eyes well");
+ mes("with tears and his");
+ mes("entire body trembles");
+ mes("with unrestrainable joy.");
+ next();
+ mes("[Kain Himere]");
+ mes("She must have");
+ mes("had a hard time...");
+ mes("But she doesn't");
+ mes("hate me at all.");
+ next();
+ mes("[Kain Himere]");
+ mes("Rashelle?");
+ mes("Can you see me?");
+ mes("Can I really be this");
+ mes("happy? I'm so sorry,");
+ mes("my love... ^666666*Sob...*^000000");
+ next();
+ mes("[Kain Himere]");
+ mes("Thank you for all of");
+ mes("your help, youngster.");
+ mes("And please, take this");
+ mes("as a token of my gratitude.");
+ next();
+ mes("[Kain Himere]");
+ mes("I know this isn't");
+ mes("much, but please");
+ mes("understand that it's");
+ mes("all I have to give you.");
+ mes("God bless you for all");
+ mes("you've done for me~");
+ close2();
+ delitem(Picture_Letter, 1);
kain_ticket = 15;
- getitem 7311, 4;
- close;
+ completequest(2084);
+ getitem(Free_Flying_Ship_Ticket, 4);
+ end;
} else {
- mes "^3355FFHmmm...";
- mes "It would be better if you approached Kain and bring the Doodled Letter that you received.^000000";
- close;
+ mes("^3355FFHmmm...");
+ mes("It would be better");
+ mes("if you approached");
+ mes("Kain with the Doodled");
+ mes("Letter that you received.^000000");
+ close();
}
} else if (kain_ticket >= 15) {
- mes "[Kain Himere]";
- mes "Oh, how are you";
- mes "lately, my friend?";
- mes "I've been doing great,";
- mes "especially since you've";
- mes "helped me find my daughter.";
- mes "Enjoy your travels~";
- close;
+ mes("[Kain Himere]");
+ mes("Oh, how are you");
+ mes("lately, my friend?");
+ mes("I've been doing great,");
+ mes("especially since you've");
+ mes("helped me find my daughter.");
+ mes("Enjoy your travels~");
+ close();
}
}
//- Empty Room 201 -
-ein_in01,227,279,3 script #door_ein FAKE_NPC,5,5,{
+ein_in01,227,279,3 script #door_ein HIDDEN_NPC,5,5,{
OnTouch:
if (kain_ticket == 5) {
kain_ticket = 6;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Excuse me...?";
- next;
- mes "^3355FFNo one's here!^000000";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "This must be the room...";
- mes "But where the hell is he?";
- mes "I can't just leave this stuff here if he won't come back.";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Oh well...";
- mes "I guess I can";
- mes "just give this";
- mes "back to Kain.";
- close;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Excuse me...?");
+ next();
+ mes("^3355FFNo one's here!^000000");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("This must be the room...");
+ mes("But where the hell is he?");
+ mes("I can't just leave this stuff");
+ mes("here if he won't come back.");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Oh well...");
+ mes("I guess I can");
+ mes("just give this");
+ mes("back to Kain");
+ mes("on the Airship.");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("While I'm in Einbroch,");
+ mes("I may as well take a look");
+ mes("around here and see if I can");
+ mes("find anything interesting. Still, I can't help but think of Kain");
+ mes("Himere's long lost daughter... ");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Maybe...");
+ mes("Just maybe...");
+ mes("I can find some");
+ mes("sort of clue about");
+ mes("where she is. She might");
+ mes("even live here in Einbroch.");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I think I'll do that.");
+ mes("Maybe even right this");
+ mes("minute. Treat it like");
+ mes("sort of quest or something.");
+ mes("Yeah, that could work.");
+ close();
}
}
//- Elle Cherno -
ein_in01,261,241,3 script Elle Cherno 4_F_KID2,3,3,{
OnTouch:
- mes "[Elle Cherno]";
- mes "Let's get to work";
- mes "fear-less comraaades~!";
- mes "Do our best! Nothing";
- mes "can stop us, lads~!";
+ mes("[Elle Cherno]");
+ mes("Let's get to work");
+ mes("fear-less comraaades~!");
+ mes("Do our best! Nothing");
+ mes("can stop us, lads~!");
+ next();
if (kain_ticket == 6) {
- next;
- switch(select("Hello!", "What are you singing?")) {
+ switch (select("Hello!", "What are you singing?")) {
case 1:
- mes "[Elle Cherno]";
- mes "Let's get to work";
- mes "fear-less comraaades~!";
- mes "Do our best! Nothing";
- mes "can stop us, lads~!";
- next;
- mes "[Elle Cherno]";
- mes "I like this song lots!";
- mes "Especially when I yell";
- mes "out 'comrades!'";
- close;
+ mes("[Elle Cherno]");
+ mes("Let's get to work");
+ mes("fear-less comraaades~!");
+ mes("Do our best! Nothing");
+ mes("can stop us, lads~!");
+ next();
+ mes("[Elle Cherno]");
+ mes("I like this song lots!");
+ mes("Especially when I yell out");
+ mes("''comrades!'' COMRADES!");
+ close();
case 2:
- changequest 2079,2080;
kain_ticket = 7;
- mes "[Elle Cherno]";
- mes "This...?";
- mes "It's the Miner's Song!";
- next;
- mes "[Elle Cherno]";
- mes "Daddy doesn't like it too much, but mommy likes it a lot and she sings it too!";
- next;
- mes "[Elle Cherno]";
- mes "I think my mommy remembers something about this song. I think it's something sad.";
- next;
- mes "[Elle Cherno]";
- mes "Jus' today she heard it and she looked like she was going to cry. ^333333*Gasp!*^000000 Do you think she's sick?!";
- next;
- mes "[Elle Cherno]";
- mes "Oh no! Hey, you're a grownup! Can see if my mommy is sick for me? Please?";
- next;
- mes "[Elle Cherno]";
- mes "Our house is behind the Hotel. So can see my mommy and tell me if she's not feeling good?";
- close;
+ mes("[Elle Cherno]");
+ mes("This...?");
+ mes("It's the ''Miner's Song!''");
+ mes("My mommy taught it to me");
+ mes("and she sings it a lot. Daddy");
+ mes("says it's too noisy, though.");
+ next();
+ mes("[Elle Cherno]");
+ mes("Mmm, when my mommy sings");
+ mes("this song, sometimes she looks");
+ mes("a little sad. Jus' today she sang it a little and looked like she was gonna cry. ^666666*Gasp!*^000000 Wait, do you");
+ mes("think maybe Mommy's sick?");
+ next();
+ mes("[Elle Cherno]");
+ mes("Oh no, oh no...");
+ mes("Hey, will you go see");
+ mes("if my mommy's okay for me?");
+ mes("Please? Our house is behind");
+ mes("the Hotel, so tell me if she's");
+ mes("not feeling good, promise?");
+ changequest(2079, 2080);
+ close();
}
} else if (kain_ticket == 7) {
- next;
- mes "[Elle Cherno]";
- mes "Our house is";
- mes "right behind";
- mes "the Hotel. Will";
- mes "you go and see";
- mes "my mommy for me?";
- close;
+ mes("[Elle Cherno]");
+ mes("Our house is right");
+ mes("behind of the Hotel.");
+ mes("Will you go there and");
+ mes("see my mommy for me,");
+ mes("please? I'm worried...");
+ close();
} else if (kain_ticket == 13) {
- next;
- if (checkweight(Picture_Letter,1) == 0) {
- mes "[Elle Cherno]";
- mes "Hey! I have something to give you, but you have too much stuff already. Will you come back later?";
- close;
+ if (checkweight(Knife, 1) == 0) {
+ mes("[Elle Cherno]");
+ mes("Hey! I have something");
+ mes("to give you, but you have");
+ mes("tooooo much stuff! Hey,");
+ mes("come back later so I can");
+ mes("give it to you, okay?");
+ close();
} else {
- mes "[Elle Cherno]";
- mes "You saw my grandpa?";
- mes "You're his friend,";
- mes "right? A-are you";
- mes "gonna see him later?";
- next;
- mes "[Elle Cherno]";
- mes "I made something for him. I don't know how to write, but I made this letter as best I can. Will you promise to give this to him for me? Please?";
- next;
- mes "^3355FFElle put a big";
- mes "doodled message";
- mes "in your hand.^000000";
- changequest 2084,2085;
+ mes("[Elle Cherno]");
+ mes("You saw my grandpa?");
+ mes("You're his friend, right?");
+ mes("A-are you gonna see");
+ mes("him later? 'Cuz... cuz...");
+ next();
+ mes("[Elle Cherno]");
+ mes("I made this for him.");
+ mes("I don't know how to write,");
+ mes("but I made Grampa a letter");
+ mes("as best as I can. Will you");
+ mes("promise to give this to him");
+ mes("for me, pleeeeeease?");
+ next();
+ mes("^3355FFElle put a big");
+ mes("doodled message");
+ mes("into your hands.^000000");
+ close2();
kain_ticket = 14;
- getitem Picture_Letter, 1;
- close;
+ changequest(2083, 2084);
+ getitem(Picture_Letter, 1);
+ end;
}
}
- close;
+ close();
}
//- Theo Cherno -
ein_in01,123,94,1 script Theo Cherno 4_M_REPAIR,{
if (kain_ticket == 7) {
- callfunc "F_Cherno";
+ callfunc("F_Cherno", true);
kain_ticket = 8;
- close;
+ close();
} else if (kain_ticket > 7 && kain_ticket < 10) {
- mes "[Theo Cherno]";
- mes "You are very kind.";
- close;
+ mes("[Theo Cherno]");
+ mes("You're very kind,");
+ mes("adventurer. There");
+ mes("should be more people");
+ mes("in the world like you.");
+ close();
} else if (kain_ticket > 9 && kain_ticket < 13) {
- mes "[Theo Cherno]";
- mes "Are you sure";
- mes "that you can find";
- mes "her father? Oh...!";
- mes "You're a godsend!";
- close;
+ mes("[Theo Cherno]");
+ mes("Are you sure");
+ mes("that you can find");
+ mes("Tarsha's father? Oh,");
+ mes("you must be a godsend!");
+ close();
} else if (kain_ticket > 12) {
- emotion e_heh;
- mes "[Theo Cherno]";
- mes "I'm so happy";
- mes "for my wife.";
- mes "I... I don't know";
- mes "how to thank you.";
- close;
+ emotion(e_heh);
+ mes("[Theo Cherno]");
+ mes("I'm so happy");
+ mes("for my wife. I....");
+ mes("I don't know how");
+ mes("I can thank you...");
+ close();
} else {
- mes "[Theo Cherno]";
- mes "Hmm...";
- mes "Shall we talk";
- mes "later? I'm pretty";
- mes "busy trying to fix";
- mes "this thing at the moment.";
- close;
+ mes("[Theo Cherno]");
+ mes("Hmm...");
+ mes("Can we talk later?");
+ mes("I'm pretty busy trying");
+ mes("to fix this thing at");
+ mes("the moment.");
+ close();
}
}
//- Tarsha Cherno -
ein_in01,125,99,3 script Tarsha Cherno 4_F_EINWOMAN,{
if (kain_ticket == 7) {
- callfunc "F_Cherno";
+ callfunc("F_Cherno");
kain_ticket = 8;
- close;
+ close();
} else if (kain_ticket == 8) {
- mes "[Tarsha Cherno]";
- mes "Although these contraptions aren't worth showing off, we've put a lot of work into inventing these machines.";
- close;
+ mes("[Tarsha Cherno]");
+ mes("Although most of these");
+ mes("contraptions aren't worth");
+ mes("showing off, we've put a lot");
+ mes("of work in inventing these");
+ mes("machines. So, of course,");
+ mes("they give us pride~");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("Maybe all these little");
+ mes("projects might not be");
+ mes("that impressive, but I like");
+ mes("to think of them as stepping");
+ mes("stones to future achievements.");
+ close();
} else if (kain_ticket == 9) {
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Ma'am, you have a scar on your shoulder. Is that from an accident?";
- next;
- mes "[Tarsha Cherno]";
- mes "Oh this...?";
- mes "It's from years ago.";
- mes "I guess I was quite";
- mes "the trouble maker to";
- mes "the people who raised me.";
- next;
- mes "[Tarsha Cherno]";
- mes "You see, I lose my parents when I was very young. It was only later that I realized that I was raised by foster parents.";
- next;
- mes "[Tarsha Cherno]";
- mes "My foster-mother told me that my real mother died long ago, but no one's sure if my real father is still alive.";
- next;
- mes "[Tarsha Cherno]";
- mes "I tried my best to make my foster-mother happy, but sadly, I was too hot headed and rebellious.";
- next;
- mes "[Tarsha Cherno]";
- mes "In the end, I left home and studied mechanics. That's how I met my husband. Meeting him is the greating thing that's ever happened to me!";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "By the way,";
- mes "I heard your";
- mes "daughter singing";
- mes "some sort of Miner's Song.";
- next;
- mes "[Theo Cherno]";
- mes "I don't understand";
- mes "why that she likes";
- mes "such a robust song";
- mes "for men! Haha, this";
- mes "is all your fault, Tarsha.";
- emotion e_gg;
- next;
- mes "[Tarsha Cherno]";
- mes "Hoho.";
- mes "I was too young to remember it clearly, but I'm sure my real father loved that song.";
- next;
- mes "[Tarsha Cherno]";
- mes "I barely recall that he used to sing it while cleaning our old house. Yes, I don't remember what he looked like, but he must have been a miner.";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "A miner...?";
- mes "(Wait, that crewman, Kain Himere! He's a miner who lost his daughter!)";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes " !!!!!!";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Tarsha...";
- mes "Your father";
- mes "may still be";
- mes "alive!";
- next;
- mes "[Tarsha Cherno]";
- mes "...What?";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "I've got to go check something now, but hopefully I'll be back soon with good news!";
- changequest 2080,2081;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Excuse me, ma'am,");
+ mes("but you have a scar");
+ mes("on your shoulder. Is");
+ mes("that from an accident?");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("Oh, that's an old");
+ mes("injury that happened");
+ mes("years ago. I suppose");
+ mes("I was quite the trouble");
+ mes("maker to the people");
+ mes("who raised me...");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("You see, I lost my parents");
+ mes("when I was very young. It");
+ mes("was only later when I realized");
+ mes("I was raised by foster parents.");
+ mes("I learned that my real mother");
+ mes("died a long time ago...");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("As for my father, no");
+ mes("one knows if he's dead");
+ mes("or alive. I tried my best");
+ mes("to my foster parents happy,");
+ mes("but I ended up being too rebellious and giving them grief.");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("I finally left home and");
+ mes("studied mechanics. I met");
+ mes("my husband in school and");
+ mes("it was the greatest thing that");
+ mes("ever happened to me~");
+ emotion(e_lv, false, "Theo Cherno");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("By the way, I heard");
+ mes("your daughter singing");
+ mes("some sort of Miner's Song.");
+ mes("Did you teach her that?");
+ emotion(e_omg, false, "Tarsha Cherno");
+ emotion(e_omg, false, "Theo Cherno");
+ next();
+ mes("[Theo Cherno]");
+ mes("I don't understand");
+ mes("why little Elle likes");
+ mes("such a rowdy, man song.");
+ mes("This is all your fault, Tarsha!");
+ emotion(e_ag, false, "Theo Cherno");
+ next();
+ emotion(e_heh, false, "Tarsha Cherno");
+ mes("[Tarsha Cherno]");
+ mes("Oh~hohohoho~");
+ mes("I was too young to");
+ mes("remember it clearly,");
+ mes("but I'm sure my real");
+ mes("father loved that song.");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("I barely recall that");
+ mes("he used to sing it while");
+ mes("cleaning our old house.");
+ mes("Yes, I don't remember what");
+ mes("he looked like, but he must");
+ mes("have been a miner at one time.");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("A miner...?");
+ mes("(Wait, that crewman,");
+ mes("Kain Himere! He was");
+ mes("a miner who lost his");
+ mes("daughter! Just maybe...)");
+ next();
+ emotion(e_gasp);
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("...!");
+ mes("Tarsha...");
+ mes("Your father");
+ mes("may still be alive!");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("...What?");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I've got to go check");
+ mes("something now, but");
+ mes("hopefully I'll be back");
+ mes("soon with good news!");
kain_ticket = 10;
- close;
+ changequest(2080, 2081);
+ close();
} else if (kain_ticket == 10 || kain_ticket == 11) {
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "I know someone who might be your father! Just wait for me, hopefully I'll bering good news soon!";
- close;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Tarsha, I know someone");
+ mes("who might be your father!");
+ mes("Just wait for me and hopefully");
+ mes("I'll bring back good news soon!");
+ close();
} else if (kain_ticket == 12) {
- mes "[Tarsha Cherno]";
- mes "Oh, welcome back.";
- mes "So did you bring";
- mes "good news...?";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Yes, speaking of which, allow me to... Check something.";
- next;
- switch(select("Check her neck.", "Check her hands.", "Check her legs.", "Check her forehead.")) {
+ mes("[Tarsha Cherno]");
+ mes("Oh, welcome back~");
+ mes("So were you able to");
+ mes("bring back good news?");
+ emotion(e_heh, false, "Tarsha Cherno");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Why, yes.");
+ mes("Speaking of which,");
+ mes("allow me to... check");
+ mes("something first...");
+ next();
+ switch (select("Check her neck.", "Check her hands.", "Check her legs.", "Check her forehead.")) {
case 1:
- mes "^3355FFUh oh...";
- mes "Nothing's there!^000000";
- next;
- mes "[Theo Cherno]";
- mes "H-how rude!";
- mes "Touching another";
- mes "man's wife...?!";
- next;
- specialeffect2 EF_PIERCE;
- percentheal -30,0;
- close;
+ mes("^3355FFUh oh...");
+ mes("Nothing's there!^000000");
+ next();
+ mes("[Theo Cherno]");
+ mes("H-how rude!");
+ mes("Touching another");
+ mes("man's wife...?!");
+ next();
+ specialeffect(EF_PIERCE, AREA, playerattached());
+ percentheal(-10, 0);
+ close();
case 2:
- mes "^3355FFYou found";
- mes "a burn mark on";
- mes "her hand.^000000";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "That's it! Tarsha, your father's name is Kain. He's working for the Airship as a crewman.";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "He misses you";
- mes "a lot and hopes";
- mes "that you can forgive";
- mes "him... Someday.";
- next;
- mes "[Tarsha Cherno]";
- mes "Are...";
- mes "Are you serious?";
- mes "My father's alive!";
- mes "Oh thank god! Thank";
- mes "you so much!";
- next;
- mes "[Tarsha Cherno]";
- mes "...........";
- mes "That means, my";
- mes "real name would be";
- mes "^3131FFTarsha Himere^000000.";
- next;
- mes "[Tarsha Cherno]";
- mes "Oh, you're a godsend! I'll never forgot what you've done for me! I must repay you, but all I know is mechanical engineering!";
- next;
- mes "[Tarsha Cherno]";
- mes "Oh, if you have ^3131FFany broken equipment^000000, I can fix it with this ^FF0000<Expert Repairman>^000000. It's one of our best inventions!";
- next;
- mes "[Tarsha Cherno]";
- mes "Oh, I must go see my real father soon! I've missed him for years! Thank you for all your help!";
- next;
- mes "[Tarsha Cherno]";
- mes "Ah, right.";
- mes "Elle wants to see you again. Would you be so kind as to see her before you go?";
- changequest 2083,2084;
+ mes("^3355FFYou found");
+ mes("a burn mark");
+ mes("on her hand.^000000");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("That's it!");
+ mes("Tarsha, your");
+ mes("father's name is");
+ mes("Kain Himere and he's");
+ mes("working on the Airship");
+ mes("as one of the crewmen.");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("He misses you");
+ mes("a lot and hopes");
+ mes("that you can forgive");
+ mes("him... Someday.");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("Are...");
+ mes("Are you serious?");
+ mes("My father's alive!");
+ mes("Oh thank god! Thank");
+ mes("you so much, adventurer!");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("...........");
+ mes("So that means, my");
+ mes("real name would be");
+ mes("^3131FFTarsha Himere Cherno^000000.");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("Oh, you're a godsend!");
+ mes("I'll never forget what you've");
+ mes("done for me! I must repay");
+ mes("you somehow! But all I know");
+ mes("is mechanical engineering...");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("Oh, I know~");
+ mes("If you have any");
+ mes("^3131FFbroken equipment^000000,");
+ mes("I can fix it with this");
+ mes("Expert Repairman. It's");
+ mes("one of our best inventions!");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("I must go and see");
+ mes("my real father soon!");
+ mes("I've missed him for years!");
+ mes("Thank you again for all");
+ mes("you've done for my family~");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("Oh, and before you");
+ mes("go, would you go see");
+ mes("Elle again? She wanted to");
+ mes("talk to you for some reason.");
kain_ticket = 13;
- close;
+ changequest(2083, 2084);
+ close();
case 3:
- mes "^3355FFUh oh...";
- mes "Nothing's there!^000000";
- next;
- mes "[Theo Cherno]";
- mes "H-how rude!";
- mes "Touching another";
- mes "man's wife...?!";
- next;
- specialeffect2 EF_PIERCE;
- percentheal -20,0;
- close;
+ mes("^3355FFUh oh...");
+ mes("Nothing's there!^000000");
+ next();
+ mes("[Theo Cherno]");
+ mes("H-how rude!");
+ mes("Touching another");
+ mes("man's wife...?!");
+ next();
+ specialeffect(EF_PIERCE, AREA, playerattached());
+ percentheal(-20, 0);
+ close();
case 4:
- mes "^3355FFUh oh...";
- mes "Nothing's there!^000000";
- next;
- mes "[Theo Cherno]";
- mes "H-how rude!";
- mes "Touching another";
- mes "man's wife...?!";
- next;
- specialeffect2 EF_PIERCE;
- percentheal -10,0;
- close;
+ mes("^3355FFUh oh...");
+ mes("Nothing's there!^000000");
+ next();
+ mes("[Theo Cherno]");
+ mes("H-how rude!");
+ mes("Touching another");
+ mes("man's wife...?!");
+ next();
+ specialeffect(EF_PIERCE, AREA, playerattached());
+ percentheal(-10, 0);
+ close();
}
} else if (kain_ticket > 12) {
- mes "[Tarsha Cherno]";
- mes "I've been feeling";
- mes "great after all you've";
- mes "done for us. Once again,";
- mes "I'd like to thank you,";
- mes "kind adventurer.";
- close;
+ mes("[Tarsha Cherno]");
+ mes("I've been feeling great");
+ mes("after all you've done for");
+ mes("us. Once again, I'd like to");
+ mes("thank you, kind adventurer.");
+ close();
} else {
- mes "[Tarsha Cherno]";
- mes "I'm sorry, but";
- mes "we're pretty busy.";
- mes "Please excuse us~";
- close;
+ mes("[Tarsha Cherno]");
+ mes("I'm sorry, but");
+ mes("we're pretty busy.");
+ mes("Please excuse us~");
+ close();
}
}
ein_in01,127,94,3 script #exp_ein HIDDEN_NPC,{ end; }
function script F_Cherno {
- specialeffect EF_COMBOATTACK1,AREA,"#exp_ein";
- mes "^33355F*Bang*^000000";
- next;
- specialeffect EF_COMBOATTACK2,AREA,"#exp_ein";
- mes "^33355F*Bang*^000000";
- next;
- specialeffect EF_COMBOATTACK3,AREA,"#exp_ein";
- mes "^33355F*Bang*^000000";
- next;
- specialeffect EF_POISONATTACK,AREA,"#exp_ein";
- mes "^33355F*Crash!*^000000";
- mes ".....";
- emotion e_swt,0,"Theo Cherno";
- emotion e_swt,0,"Tarsha Cherno";
- next;
- mes "[Theo Cherno]";
- mes "Honey...";
- mes "I think there's";
- mes "a critical structural";
- mes "problem with the joint.";
- next;
- mes "[Tarsha Cherno]";
- mes "I think they're";
- mes "not connected right...";
- next;
- mes "[Theo Cherno]";
- mes "Well, let's call";
- mes "it a day and finish";
- mes "this tomorrow.";
- next;
- emotion e_what,0,"Tarsha Cherno";
- mes "[Tarsha Cherno]";
- mes "Elle is playing outside.";
- mes "Oh, I didn't know we had";
- mes "a guest? Hello, how are you?";
- next;
- switch(select("Nothing.", "Your daughter asked me to visit you.")) {
+ specialeffect(EF_COMBOATTACK1, AREA, getnpcid("#exp_ein"));
+ mes("^33355F*Bang*^000000");
+ next();
+ specialeffect(EF_COMBOATTACK2, AREA, getnpcid("#exp_ein"));
+ mes("^3355FF*Bang*^000000");
+ if (getarg(0) == true) {
+ mes("^3355FF*Beeeeeep*^000000");
+ }
+ next();
+ specialeffect(EF_COMBOATTACK3, AREA, getnpcid("#exp_ein"));
+ mes("^3355FF*Bang*^000000");
+ if (getarg(0) == true) {
+ mes("^3355FF*Beeeeeep*^000000");
+ mes("^3355FF*Boop Boop Boop*^000000");
+ }
+ next();
+ specialeffect(EF_POISONATTACK, AREA, getnpcid("#exp_ein"));
+ mes("^33355F*Crash!*^000000");
+ mes(".....");
+ emotion(e_swt, false, "Theo Cherno");
+ emotion(e_swt, false, "Tarsha Cherno");
+ next();
+ mes("[Theo Cherno]");
+ mes("Honey...");
+ mes("I think there's");
+ mes("a critical structural");
+ mes("problem with the joint.");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("They must not");
+ mes("be connected right.");
+ mes("Maybe if we... Hmmm.");
+ next();
+ mes("[Theo Cherno]");
+ mes("Well, let's call");
+ mes("it a day and finish");
+ mes("this tomorrow, yeah?");
+ next();
+ emotion(e_what, false, "Tarsha Cherno");
+ mes("[Tarsha Cherno]");
+ mes("Oh~");
+ mes("I didn't know we");
+ mes("had a guest. Hello,");
+ mes("how are you doing?");
+ mes("Are you interested in");
+ mes("any of our inventions?");
+ next();
+ switch (select("Nothing.", "Your daughter asked me to visit you.")) {
case 1:
- mes "[Theo Cherno]";
- mes "As you see, my wife and I are pretty";
- mes "busy to study a research.";
- mes "If you do not have any urgent business,";
- mes "will you please leave us alone?";
- close;
+ mes("[Theo Cherno]");
+ mes("Oh yes, my wife are");
+ mes("I are keeping ourselves");
+ mes("busy by conducting research.");
+ mes("We're trying to invent new");
+ mes("things for better living.");
+ mes("It's what we do...");
+ close();
case 2:
- emotion e_swt,0,"Tarsha Cherno";
- emotion e_swt,0,"Theo Cherno";
- mes "[Tarsha Cherno]";
- mes "Excuse me?";
- mes "What did she say?";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Well, uh...";
- mes "She wanted to me";
- mes "to check if her mom";
- mes "was sick or sad";
- mes "...Or something?";
- next;
- emotion e_omg,0,"Tarsha Cherno";
- mes "[Tarsha Cherno]";
- mes "Oh my god...!";
- mes "What is she";
- mes "thinking...?";
- next;
- mes "[Theo Cherno]";
- mes "wait, darling.";
- mes "I agree that sometimes you look sad and lonely, gazing out that window with those wistful eyes.";
- next;
- mes "[Tarsha Cherno]";
- mes "Oh, I must be making my family very anxious. But don't you worry, love. I'm very happy with you and Elle.";
- next;
- mes "[Tarsha Cherno]";
- mes "And...";
- mes "Kind adventurer,";
- mes "May I ask your name?";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "I am called,";
- mes strcharinfo(PC_NAME)+".";
- next;
- mes "[Tarsha Cherno]";
- mes strcharinfo(PC_NAME)+",";
- mes "I appreciate your concerns~ Would you please stay for a cup of tea?";
- next;
- mes "[Tarsha Cherno]";
- mes "My husband and I have been studying mechanical engineering. You see, there are many Einbech miners risking their lives everyday.";
- next;
- mes "[Tarsha Cherno]";
- mes "If we could create a machine that could reduce the risk of mining ores, we could really help them. But we're pretty far from reaching that goal.";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Ah...";
- mes "So that's why";
- mes "there's so many";
- mes "interesting things";
- mes "in your house...";
- next;
- mes "^3355FFYou begin to";
- mes "take a look around";
- mes "the Cherno household.^000000";
+ emotion(e_heh, false, "Tarsha Cherno");
+ emotion(e_heh, false, "Theo Cherno");
+ mes("[Tarsha Cherno]");
+ mes("Hahaha, Elle?");
+ mes("Why would our");
+ mes("daughter send");
+ mes("you to visit us?");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Well, uh...");
+ mes("She wanted me to");
+ mes("check if her mom");
+ mes("was sick or sad");
+ mes("...Or something?");
+ next();
+ emotion(e_swt2, false, "Tarsha Cherno");
+ mes("[Tarsha Cherno]");
+ mes("Oh my god...!");
+ mes("What is she thinking?");
+ mes("I apologize for troubling");
+ mes("you over this kind of silly");
+ mes("mistake, adventurer!");
+ next();
+ mes("[Theo Cherno]");
+ mes("But wait, darling.");
+ mes("I agree that sometimes");
+ mes("you look like the loneliest");
+ mes("person in the world, gazing");
+ mes("out that window with those");
+ mes("impossibly wistful eyes.");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("Oh, I must be");
+ mes("making my family");
+ mes("very anxious. But");
+ mes("don't you worry, love.");
+ mes("I'm very happy with");
+ mes("you and Elle.");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("And...");
+ mes("Kind adventurer,");
+ mes("may I ask your name?");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("I am called,");
+ mesf("%s.", strcharinfo(PC_NAME));
+ emotion(e_heh);
+ next();
+ mes("[Tarsha Cherno]");
+ mesf("%s,", strcharinfo(PC_NAME));
+ mes("I appreciate your");
+ mes("concern for us. Would");
+ mes("you stay for a cup of tea?");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("Now, please pardon the");
+ mes("mess. My husband and I are");
+ mes("mechanical engineers focused");
+ mes("on creating machines that would");
+ mes("reduce the risk of mining ores.");
+ next();
+ mes("[Tarsha Cherno]");
+ mes("Since we work at home, we");
+ mes("can't avoid having machine");
+ mes("parts lying here and there");
+ mes("sometimes. In any case, we're");
+ mes("hoping we create a machine that could make miners' lives safer...");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Ah...");
+ mes("So that's why");
+ mes("there's so many");
+ mes("interesting things");
+ mes("in your house...");
+ next();
+ mes("^3355FFYou begin to");
+ mes("take a look around");
+ mes("the Cherno household.^000000");
return;
}
}
//- Unidentified Machine -
ein_in01,122,103,5 script Unidentified Machine#ein HIDDEN_NPC,{
- mes "^3355FFIt's...";
- mes "It's a really";
- mes "strange looking";
- mes "machine. Does it";
- mes "even do anything?^000000";
- close;
+ mes("^3355FFIt's...");
+ mes("It's a really");
+ mes("strange looking");
+ mes("machine. Does it");
+ mes("even do anything?^000000");
+ close();
}
//- Mirror -
ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{
if (kain_ticket == 8) {
- mes "^3355FFIt's a mirror.";
- mes "So, of course the";
- mes "first thing you'll";
- mes "see is yourself.";
- next;
+ mes("^3355FFIt's a mirror.");
+ mes("So, of course the");
+ mes("first thing you'll");
+ mes("see is yourself.");
+ next();
if (Sex == SEX_MALE) {
- switch(rand(1,5)) {
+ switch (rand(1, 5)) {
case 1:
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Man...";
- mes "I didn't know";
- mes "I was so good";
- mes "looking! Ooh yah~";
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Man...");
+ mes("I didn't know");
+ mes("I was so good");
+ mes("looking! Ooh yah~");
break;
case 2:
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Whoa...";
- mes "So that's why the";
- mes "ladies keep looking";
- mes "at me. I'm a walking";
- mes "free gun show!";
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Whoa...");
+ mes("So that's why the");
+ mes("ladies keep looking");
+ mes("at me. I'm a walking");
+ mes("free gun show!");
break;
case 3:
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "It's a shame I can't job";
- mes "change to Male Model.";
- mes "Clearly, I'd be like, Job";
- mes "Level 87 or something.";
- mes "Man, I'm beautiful...";
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("It's a shame I can't job");
+ mes("change to Male Model.");
+ mes("Clearly, I'd be like, Job");
+ mes("Level 87 or something.");
+ mes("Man, I'm beautiful...");
break;
case 4:
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "This is my reflection?!";
- mes "No one can be this good";
- mes "looking, not without special";
- mes "effects! I mean, it's not";
- mes "fair to everyone else...";
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("This is my reflection?!");
+ mes("No one can be this good");
+ mes("looking, not without special");
+ mes("effects! I mean, it's not");
+ mes("fair to everyone else...");
break;
case 5:
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Oh wow...";
- mes "I look pretty good.";
- mes "No wait. Really, really";
- mes "good. So this must be";
- mes "why I get such great";
- mes "service at restaurants...";
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Oh wow...");
+ mes("I look pretty good.");
+ mes("No wait. Really, really");
+ mes("good. So this must be");
+ mes("why I get such great");
+ mes("service at restaurants...");
break;
}
} else {
- switch(rand(1,5)) {
+ switch (rand(1, 5)) {
case 1:
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Oh. Wow.";
- mes "I never realized...";
- mes "Everything is in";
- mes "perfect proportion!";
- mes "No wonder people";
- mes "want to party with me~";
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Oh. Wow.");
+ mes("I never realized...");
+ mes("Everything is in");
+ mes("perfect proportion!");
+ mes("No wonder people");
+ mes("want to party with me~");
break;
case 2:
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Oh my gosh~";
- mes "How can I look this";
- mes "good without any makeup?";
- mes "I-It isn't fair to all the other";
- mes "girls... Wow, is this really me?";
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Oh my gosh~");
+ mes("How can I look this");
+ mes("good without any makeup?");
+ mes("I-It isn't fair to all the other");
+ mes("girls... Wow, is this really me?");
break;
case 3:
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Am I going crazy?";
- mes "Is that girl in the";
- mes "mirror really me...?";
- mes "How did I not realize";
- mes "how gorgeous I look?";
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Am I going crazy?");
+ mes("Is that girl in the");
+ mes("mirror really me...?");
+ mes("How did I not realize");
+ mes("how gorgeous I look?");
break;
case 4:
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "So...";
- mes "What did you do with";
- mes "this mirror? Because I'm";
- mes "looking at my reflection";
- mes "and I can't seem to find";
- mes "any flaws with my figure...";
- next;
- emotion e_swt2,0,"Tarsha Cherno";
- mes "[Tarsha Cherno]";
- mes "Actually...";
- mes "That's not one";
- mes "of our inventions.";
- mes "It's just a normal mirror...";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Well now...!";
- mes "Are you sure?";
- mes "Because my face looks";
- mes "freakin' immaculate! And";
- mes "it's like, I'm almost too sexy!";
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("So...");
+ mes("What did you do with");
+ mes("this mirror? Because I'm");
+ mes("looking at my reflection");
+ mes("and I can't seem to find");
+ mes("any flaws with my figure...");
+ next();
+ emotion(e_swt2, false, "Tarsha Cherno");
+ mes("[Tarsha Cherno]");
+ mes("Actually...");
+ mes("That's not one");
+ mes("of our inventions.");
+ mes("It's just a normal mirror...");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Well now...!");
+ mes("Are you sure?");
+ mes("Because my face looks");
+ mes("freakin' immaculate! And");
+ mes("it's like, I'm almost too sexy!");
break;
case 5:
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "Oh wow...";
- mes "I look pretty good.";
- mes "No wait. Really, really";
- mes "good. So this must be";
- mes "why I get such great";
- mes "service at restaurants...";
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Oh wow...");
+ mes("I look pretty good.");
+ mes("No wait. Really, really");
+ mes("good. So this must be");
+ mes("why I get such great");
+ mes("service at restaurants...");
break;
}
}
- next;
- mes "^3355FFAfter enjoying that little epiphany, you see a reflection of Tarsha's neck as you set the mirror back down.^000000";
- next;
- mes "^3355FFAs you take a closer look, you find that there's a strange mark around her neck...^000000";
+ next();
+ mes("^3355FFAfter enjoying that");
+ mes("little epiphany, you");
+ mes("see a reflection of");
+ mes("Tarsha's neck as you");
+ mes("set the mirror back down.^000000");
+ next();
+ mes("^3355FFAs you take a closer");
+ mes("look, you find that there's");
+ mes("a strange mark around her");
+ mes("neck. What ever could it mean?^000000");
kain_ticket = 9;
- close;
+ close();
}
}
//- Tree from Einbech -
-einbech,45,113,5 script Tree#t1-1::Tree HIDDEN_NPC,{
+einbech,45,113,5 script Tree#ein-1 HIDDEN_NPC,{
if (kain_ticket == 11) {
- mes "^3355FFYou crouch down";
- mes "under the tree and";
- mes "begin digging into";
- mes "the ground.^000000";
- next;
- mes "...";
- mes "......";
- next;
- mes "...";
- mes "......";
- mes ".........";
- next;
- .@find_diary = rand(1,100);
+ mes("^3355FFYou crouch down");
+ mes("under the tree and");
+ mes("begin digging into");
+ mes("the ground.^000000");
+ next();
+ mes("...");
+ mes("......");
+ next();
+ mes("...");
+ mes("......");
+ mes(".........");
+ next();
+ .@find_diary = rand(1, 100);
if (.@find_diary > 10) {
- mes "^3355ffUnfortunately,";
- mes "you weren't able";
- mes "to find anything.^000000";
- close;
+ mes("^3355ffUnfortunately,");
+ mes("you weren't able");
+ mes("to find anything.^000000");
+ close();
} else {
- mes "^3355ffYou have found a ^3131FFJournal^3355ff among some other articles buried for safekeeping.^000000";
- next;
+ mes("^3355FFYou have found a journal");
+ mes("among some other articles");
+ mes("that have been buried by Kain.");
+ mes("You open the journal and begin");
+ mes("to read what's written inside.^000000");
+ next();
callsub L_Diary;
- next;
- mes "...";
- mes "......";
- next;
- mes "^3355FFThat was the last page of the journal. You picked it up so that you can bring it over to ^3131FFTarsha.^000000";
- changequest 2082,2083;
+ next();
+ mes("...");
+ mes("......");
+ next();
+ mes("^3355FFThat was the last entry");
+ mes("in the journal. You picked");
+ mes("it up so that you can bring");
+ mes("it over to Tarsha.^000000");
kain_ticket = 12;
- close;
+ changequest(2082, 2083);
+ close();
}
} else if (kain_ticket == 12) {
- callsub L_Diary;
- close;
+ mes("^3355FFYou open");
+ mes("the journal");
+ mes("and begin to read...^000000");
+ next();
+ callsub(L_Diary);
+ close();
}
L_Diary:
- mes "^3355FFYou open";
- mes "the journal";
- mes "and begin to read...^000000";
- next;
- mes "...";
- mes "......";
- next;
- mes "<Date : OX OX>";
- mes "^333333I'm sooo happy";
- mes "to be with Kain.";
- mes "He's such an honest,";
- mes "sincere man, even if";
- mes "he is quiet sometimes.";
- next;
- mes "^333333Although he's a good husband, I'm not so good at being a housewife. But I'll do my best.^000000";
- next;
- mes "<Date : OX OX>";
- mes "^333333I fell asleep while fixing dinner and burned all food. Awww, why am I so careless? But Kain ate every bite, even if he had to pretend that he liked it.^000000";
- next;
- mes "<Date : OX OX>";
- mes "^333333Kain and I will be having a child soon! I'm so happy, but I'm also a little worried sometimes. Kain is all smiles though and he gives me relief.^000000";
- next;
- mes "<Date : OX OX>";
- mes "^333333More people have been leaving the mines to work for the new factory. It seems Kain's pride has been really wounded lately. How can I help him...?^000000";
- next;
- mes "<Date : OX OX>";
- mes "^333333Kain and I are now the proud parents of a beautiful baby girl. We named her ^3131FFTarsha^000000 and she has her father's eyes. I'm going to be the best mother I can for her.^000000";
- next;
- mes "<Date : OX OX>";
- mes "^333333Tarsha called me 'mom' for the first time! It's a miracle! I want nothing else in the world but for her to be happy and healthy.^000000";
- next;
- mes "<Date : OX OX>";
- mes "^333333Kain got into an accident. While the miners were digging ores, toxic gas was released. It wasn't lethal, but Kain's arm has been partly paralyzed and the doctor says it might affect his memories later.^000000";
- next;
- mes "^333333He's so depressed. I tried to make him feel better by making his favorite soup. He smiled and thanked me, but I could tell he was feeling more desperate.^000000";
- next;
- mes "^333333I hope he feels better soon. His despair is as great as his passion for his job.^000000";
- next;
- mes "...";
- mes "......";
- next;
- mes "<Date : OX OX>";
- mes "^333333Lately, Kain has been drunk too often and he always screams and yells when he comes home. There's too much anger in him!^000000";
- next;
- mes "^333333He's not the same anymore. What ever happened to the kind man that I married?^000000";
- next;
- mes "...";
- mes "......";
- next;
- mes "<Date : OX OX>";
- mes "^333333Tarsha got her hand scalded from boiling water while playing in the kitchen. Although she was treated, there'll always be a ^3131FFburn mark^333333 on her hand.^000000";
- next;
- mes "^333333After we got home, Tarsha laughed and played with her doll as if nothing happened. But I couldn't stop crying for some reason.^000000";
- next;
- mes "...";
- mes "......";
- next;
- mes "<Date : OX OX>";
- mes "^333333Kain comes home less nowadays. I've had to start working in the store after we spent all of Kain's savings.^000000";
- next;
- mes "^333333It's tough working and taking care of the family at the same time, but Tarsha's beautiful smile makes everything worth it. Still, I can't help but worry about Kain...^000000";
- next;
- mes "...";
- mes "......";
- next;
- mes "<Date : OX OX>";
- mes "^333333Everyday, I get weaker and weaker. I wanted to finally tell Kain today, but he was definitely not in the mood to talk.^000000";
- next;
- mes "^333333Lately Tarsha cries a lot. My poor baby loves her father so much, but he's always so cold. Sometimes I see him smile at Tarsha.^000000";
- next;
- mes "^333333But those moments grow fewer the more he drinks. When will he finally overcome his pain?^000000";
+ mes("...");
+ mes("......");
+ next();
+ mes("<Date : OX OX>");
+ mes("^856363I'm sooo happy");
+ mes("to be with Kain.");
+ mes("He's such an honest,");
+ mes("sincere man, even if");
+ mes("he is quiet sometimes.");
+ next();
+ mes("^856363Although he's a very");
+ mes("good husband to me,");
+ mes("I'm not so good at being");
+ mes("a housewife. But I'll do");
+ mes("my very best for us both.");
+ next();
+ mes("<Date : OX OX>");
+ mes("^856363I fell asleep while");
+ mes("fixing dinner and burned");
+ mes("all the food. How can I be");
+ mes("so careless? But Kain ate");
+ mes("every bite, even if he had");
+ mes("to pretend that he liked it.^000000");
+ next();
+ mes("<Date : OX OX>");
+ mes("^856363Kain and I will be having");
+ mes("a child soon! I'm so happy,");
+ mes("but I'm also a little worried");
+ mes("sometimes. Kain is all smiles");
+ mes("though, and he gives me relief.^000000");
+ next();
+ mes("<Date : OX OX>");
+ mes("^856363More people have been");
+ mes("leaving the mines to work");
+ mes("for the new factories, many");
+ mes("of them Kain's friends. I think");
+ mes("Kain's pride was pretty hurt.");
+ mes("I wonder how I can help him?^000000");
+ next();
+ mes("<Date : OX OX>");
+ mes("^856363Kain and I are now the");
+ mes("proud parents of a beautiful");
+ mes("baby girl. We named her ^000000Tarsha^856363");
+ mes("and she has her father's eyes.");
+ mes("I'm going to be the best mother");
+ mes("that I can possibly be for her.");
+ next();
+ mes("<Date : OX OX>");
+ mes("^856363Tarsha called me");
+ mes("''Mommy'' for the first");
+ mes("time! It's a miracle!");
+ mes("I want nothing else in");
+ mes("the world but for her to");
+ mes("be happy and healthy.^000000");
+ next();
+ mes("<Date : OX OX>");
+ mes("^856363Kain got into an accident");
+ mes("at the mine. While they were");
+ mes("digging ores, toxic gas was");
+ mes("released somehow. It wasn't");
+ mes("lethal, but Kain's arm has");
+ mes("been partly paralyzed...^000000");
+ next();
+ mes("^856363When the doctor said that");
+ mes("it may even affect his memories");
+ mes("later, he became so depressed.");
+ mes("I tried to make him feel better");
+ mes("by making his favorite soup.");
+ mes("He smiled, but I could tell...^000000");
+ next();
+ mes("^856363I could tell he's");
+ mes("not alright with this.");
+ mes("I hope he feels better");
+ mes("soon. His despair is");
+ mes("at least as great as his");
+ mes("passion for his job.^000000");
+ next();
+ mes("...");
+ mes("......");
+ next();
+ mes("<Date : OX OX>");
+ mes("^856363Kain's drinking is");
+ mes("getting worse. He comes");
+ mes("home too often screaming");
+ mes("and yelling. There's too");
+ mes("much anger in him and he's");
+ mes("not the same anymore...");
+ next();
+ mes("...");
+ mes("......");
+ next();
+ mes("<Date : OX OX>");
+ mes("^856363Tarsha got her hand");
+ mes("scalded from boiling");
+ mes("water while playing in");
+ mes("the kitchen. Although she");
+ mes("was treated, she'll always");
+ mes("have that ^000000burn mark^856363.^000000");
+ next();
+ mes("^856363After we got home from");
+ mes("the doctor's, Tarsha laughed");
+ mes("and played with her doll as if");
+ mes("nothing ever happened. But for");
+ mes("some reason, I couldn't stop");
+ mes("myself from crying...^000000");
+ next();
+ mes("...");
+ mes("......");
+ next();
+ mes("<Date : OX OX>");
+ mes("^856363Kain comes home less");
+ mes("nowadays. I've had to");
+ mes("start working in the store");
+ mes("after we spent all of our");
+ mes("savings. It's tough working");
+ mes("and taking care of the family.");
+ next();
+ mes("^856363Still, it's all worth");
+ mes("it to see Tarsha's smile.");
+ mes("But I can never stop worrying");
+ mes("about my poor, dear Kain...");
+ next();
+ mes("...");
+ mes("......");
+ next();
+ mes("<Date : OX OX>");
+ mes("^856363Everyday, I feel weaker");
+ mes("and weaker, as if I die");
+ mes("just a little more each day.");
+ mes("I wanted to tell Kain about");
+ mes("what the doctor said, but he's");
+ mes("not ready for this news yet...^000000");
+ next();
+ mes("^856363Lately, Tarsha cries");
+ mes("a lot. My poor baby loves");
+ mes("her father, but he's always");
+ mes("so distant. But sometimes,");
+ mes("I see him sadly smile for");
+ mes("Tarsha, if only for a moment.^000000");
return;
}
-einbech,36,100,5 duplicate(Tree) Tree#t1-2 HIDDEN_NPC
-einbech,44,90,5 duplicate(Tree) Tree#t1-3 HIDDEN_NPC
-einbech,53,94,5 duplicate(Tree) Tree#t1-4 HIDDEN_NPC
+einbech,36,100,3 duplicate(Tree#ein-1) Tree#ein-2 HIDDEN_NPC
+einbech,44,90,3 duplicate(Tree#ein-1) Tree#ein-3 HIDDEN_NPC
+einbech,53,94,3 duplicate(Tree#ein-1) Tree#ein-4 HIDDEN_NPC
//- Expert Repairman -
-ein_in01,117,80,5 script Unidentified Machine#as HIDDEN_NPC,{
+ein_in01,117,80,3 script Unidentified Machine#as HIDDEN_NPC,{//Official hidden name "#ein"
if (kain_ticket > 12) {
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "This is the";
- mes "^FF0000Expert Repairman^000000?!";
- mes "It looks like it";
- mes "needs repairs itself...";
- next;
- if (getbrokenid(1) == 0) {
- mes "[Expert Repairman]";
- mes "*Beep-*";
- mes "Please check";
- mes "your items again.";
- close;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("This is the");
+ mes("^FF0000Expert Repairman^000000?!");
+ mes("It looks like it");
+ mes("needs repairs itself...");
+ next();
+ if (select("Fix an Item", "Cancel.") == 2) {
+ close();
+ }
+ .@mugi = getbrokencount();
+ if (.@mugi == 0) {
+ mes("[Expert Repairman]");
+ mes("*Beep-*");
+ mes("You have");
+ mes("nothing to fix.");
+ close();
+ }
+ mes("*Beep-*");
+ mes("You have a total");
+ mesf("of %d damaged items.", .@mugi);
+ mes("Shall I repair them?");
+ next();
+ if (select("Yes", "No") == 2) {
+ close();
+ }
+ if (.@mugi == getbrokencount()) {
+ for (.@i = 1; .@i < .@mugi; ++.@i)
+ repair(.@i);
+ next();
+ mes("[Expert Repairman]");
+ mes("*Beep-*");
+ mes("Repair complete.");
+ close();
} else {
- .@choice = select(getitemname(getbrokenid(1)),getitemname(getbrokenid(2)),
- getitemname(getbrokenid(3)),getitemname(getbrokenid(4)),getitemname(getbrokenid(5)),
- getitemname(getbrokenid(6)),getitemname(getbrokenid(7)),getitemname(getbrokenid(8)),
- getitemname(getbrokenid(9)),getitemname(getbrokenid(10)));
- mes "[Expert Repairman]";
- mes "You're gonna repair " + getitemname(getbrokenid(.@choice)) + ".";
- mes "Continue?";
- next;
- switch(select("Yes", "No")) {
- case 1:
- repair(.@choice);
- next;
- mes "[Expert Repairman]";
- mes "*Beep-*";
- mes "Task is";
- mes "complete.";
- close;
- case 2:
- mes "[Expert Repairman]";
- mes "You decided to quit it.";
- close;
- }
+ mes("*Beep-*");
+ mes("Please check");
+ mes("your items again.");
+ close();
}
} else {
- mes "^3355FFIt's some sort of strange machine. What ever could it do?^000000";
- close;
+ mes("^3355FFIt's some sort of");
+ mes("strange machine.");
+ mes("Its function and purpose");
+ mes("is completely undiscernable.^000000");
+ close();
}
}
@@ -1187,350 +1570,390 @@ ein_in01,117,80,5 script Unidentified Machine#as HIDDEN_NPC,{
airplane_01,1,1,0 script Airship#airplane02 FAKE_NPC,{
end;
OnEnable:
- initnpctimer;
+ initnpctimer();
end;
OnTimer25000:
- mapannounce "airplane_01","We are heading to Izlude.",bc_map,0x00FF00;
+ mapannounce("airplane_01", _("We are heading to Izlude."), bc_map, C_LIME);
end;
OnTimer30000:
- mapannounce "airplane_01","Captain: Attention, all passengers.",bc_map,0x00FF00;
+ mapannounce("airplane_01", _("Captain: Attention, all passengers."), bc_map, C_LIME);
end;
OnTimer34000:
- mapannounce "airplane_01","Captain: We are being approached by a group of unidentified creatures.",bc_map,0x00ff00;
+ mapannounce("airplane_01", _("Captain: We are being approached by a group of unidentified creatures."), bc_map, C_LIME);
end;
OnTimer38000:
- mapannounce "airplane_01", "Captain: All passengers on deck, please find shelter inside the ship!",bc_map,0x00ff00;
- hideonnpc "Airship Staff#airplane01";
+ mapannounce("airplane_01", _("Captain: All passengers on deck, please find shelter inside the ship!"), bc_map, C_LIME);
+ hideonnpc("Airship Staff#airplane01");
end;
OnTimer48000:
- monster "airplane_01",245,57,"Gremlin",1632,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",247,59,"Gremlin",1632,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",249,52,"Gremlin",1632,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",243,62,"Gremlin",1632,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",239,52,"Beholder",1633,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",234,56,"Beholder",1633,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",227,49,"Beholder",1633,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",233,41,"Beholder",1633,1,"Airship#airplane02::OnMyMobDead";
- switch(rand(1,5)) {
- case 1: monster "airplane_01",251,47,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break;
- case 2: monster "airplane_01",251,47,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break;
- case 3: monster "airplane_01",251,47,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break;
- case 4: monster "airplane_01",251,47,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break;
- case 5: monster "airplane_01",251,47,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; break;
+ monster("airplane_01", 245, 57, _("Gremlin"), GREMLIN, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 247, 59, _("Gremlin"), GREMLIN, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 249, 52, _("Gremlin"), GREMLIN, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 243, 62, _("Gremlin"), GREMLIN, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 239, 52, _("Beholder"), BEHOLDER, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 234, 56, _("Beholder"), BEHOLDER, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 227, 49, _("Beholder"), BEHOLDER, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 233, 41, _("Beholder"), BEHOLDER, 1, "Airship#airplane02::OnMyMobDead");
+ switch (rand(1, 5)) {
+ case 1:
+ monster("airplane_01", 251, 47, _("Drainliar"), DRAINLIAR, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 2:
+ monster("airplane_01", 251, 47, _("Rotar Zairo"), ROTAR_ZAIRO, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 3:
+ monster("airplane_01", 251, 47, _("Farmiliar"), FARMILIAR, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 4:
+ monster("airplane_01", 251, 47, _("Picky"), PICKY, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 5:
+ monster("airplane_01", 251, 47, _("Steel Chonchon"), STEEL_CHONCHON, 1, "Airship#airplane02::OnMyMobDead");
+ break;
}
- switch(rand(1,5)) {
- case 1: monster "airplane_01",245,53,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break;
- case 2: monster "airplane_01",245,53,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break;
- case 3: monster "airplane_01",245,53,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break;
- case 4: monster "airplane_01",245,53,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break;
- case 5: monster "airplane_01",245,53,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; break;
+ switch (rand(1, 5)) {
+ case 1:
+ monster("airplane_01", 245, 53, _("Drainliar"), DRAINLIAR, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 2:
+ monster("airplane_01", 245, 53, _("Rotar Zairo"), ROTAR_ZAIRO, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 3:
+ monster("airplane_01", 245, 53, _("Farmiliar"), FARMILIAR, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 4:
+ monster("airplane_01", 245, 53, _("Picky"), PICKY, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 5:
+ monster("airplane_01", 245, 53, _("Steel Chonchon"), STEEL_CHONCHON, 1, "Airship#airplane02::OnMyMobDead");
+ break;
}
- switch(rand(1,5)) {
- case 1: monster "airplane_01",234,46,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break;
- case 2: monster "airplane_01",234,46,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break;
- case 3: monster "airplane_01",234,46,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break;
- case 4: monster "airplane_01",234,46,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break;
- case 5: monster "airplane_01",234,46,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; break;
+ switch (rand(1, 5)) {
+ case 1:
+ monster("airplane_01", 234, 46, _("Drainliar"), DRAINLIAR, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 2:
+ monster("airplane_01", 234, 46, _("Rotar Zairo"), ROTAR_ZAIRO, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 3:
+ monster("airplane_01", 234, 46, _("Farmiliar"), FARMILIAR, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 4:
+ monster("airplane_01", 234, 46, _("Picky"), PICKY, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 5:
+ monster("airplane_01", 234, 46, _("Steel Chonchon"), STEEL_CHONCHON, 1, "Airship#airplane02::OnMyMobDead");
+ break;
}
- switch(rand(1,5)) {
- case 1: monster "airplane_01",233,58,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break;
- case 2: monster "airplane_01",233,58,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break;
- case 3: monster "airplane_01",233,58,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break;
- case 4: monster "airplane_01",233,58,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break;
- case 5: monster "airplane_01",233,58,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; break;
+ switch (rand(1, 5)) {
+ case 1:
+ monster("airplane_01", 233, 58, _("Drainliar"), DRAINLIAR, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 2:
+ monster("airplane_01", 233, 58, _("Rotar Zairo"), ROTAR_ZAIRO, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 3:
+ monster("airplane_01", 233, 58, _("Farmiliar"), FARMILIAR, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 4:
+ monster("airplane_01", 233, 58, _("Picky"), PICKY, 1, "Airship#airplane02::OnMyMobDead");
+ break;
+ case 5:
+ monster("airplane_01", 233, 58, _("Steel Chonchon"), STEEL_CHONCHON, 1, "Airship#airplane02::OnMyMobDead");
+ break;
}
// it's possible this is an error, but in aegis it stops resetting the random var.
- switch(rand(1,5)) {
+ switch (rand(1, 5)) {
case 1:
- monster "airplane_01",243,60,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",228,54,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",232,41,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead";
+ monster("airplane_01", 243, 60, _("Drainliar"), DRAINLIAR, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 228, 54, _("Drainliar"), DRAINLIAR, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 232, 41, _("Drainliar"), DRAINLIAR, 1, "Airship#airplane02::OnMyMobDead");
break;
case 2:
- monster "airplane_01",243,60,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",228,54,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",232,41,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead";
+ monster("airplane_01", 243, 60, _("Rotar Zairo"), ROTAR_ZAIRO, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 228, 54, _("Rotar Zairo"), ROTAR_ZAIRO, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 232, 41, _("Rotar Zairo"), ROTAR_ZAIRO, 1, "Airship#airplane02::OnMyMobDead");
break;
case 3:
- monster "airplane_01",243,60,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",228,54,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",232,41,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead";
+ monster("airplane_01", 243, 60, _("Farmiliar"), FARMILIAR, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 228, 54, _("Farmiliar"), FARMILIAR, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 232, 41, _("Farmiliar"), FARMILIAR, 1, "Airship#airplane02::OnMyMobDead");
break;
case 4:
- monster "airplane_01",243,60,"Picky",1049,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",228,54,"Picky",1049,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",232,41,"Picky",1049,1,"Airship#airplane02::OnMyMobDead";
+ monster("airplane_01", 243, 60, _("Picky"), PICKY, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 228, 54, _("Picky"), PICKY, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 232, 41, _("Picky"), PICKY, 1, "Airship#airplane02::OnMyMobDead");
break;
case 5:
- monster "airplane_01",243,60,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",228,54,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead";
- monster "airplane_01",232,41,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead";
+ monster("airplane_01", 243, 60, _("Steel Chonchon"), STEEL_CHONCHON, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 228, 54, _("Steel Chonchon"), STEEL_CHONCHON, 1, "Airship#airplane02::OnMyMobDead");
+ monster("airplane_01", 232, 41, _("Steel Chonchon"), STEEL_CHONCHON, 1, "Airship#airplane02::OnMyMobDead");
break;
}
end;
OnTimer48010:
- monster "airplane_01",238,56,"Gremlin",1632,1,"Airship#airplane02::OnCaptainMobDead";
- monster "airplane_01",239,56,"Gremlin",1632,1,"Airship#airplane02::OnCaptainMobDead";
- monster "airplane_01",240,50,"Gremlin",1632,1,"Airship#airplane02::OnCaptainMobDead";
- monster "airplane_01",241,56,"Gremlin",1632,1,"Airship#airplane02::OnCaptainMobDead";
- monster "airplane_01",247,51,"Gremlin",1632,1,"Airship#airplane02::OnCaptainMobDead";
- monster "airplane_01",237,44,"Beholder",1633,1,"Airship#airplane02::OnCaptainMobDead";
- monster "airplane_01",233,54,"Beholder",1633,1,"Airship#airplane02::OnCaptainMobDead";
- monster "airplane_01",237,62,"Beholder",1633,1,"Airship#airplane02::OnCaptainMobDead";
+ monster("airplane_01", 238, 56, _("Gremlin"), GREMLIN, 1, "Airship#airplane02::OnCaptainMobDead");
+ monster("airplane_01", 239, 56, _("Gremlin"), GREMLIN, 1, "Airship#airplane02::OnCaptainMobDead");
+ monster("airplane_01", 240, 50, _("Gremlin"), GREMLIN, 1, "Airship#airplane02::OnCaptainMobDead");
+ monster("airplane_01", 241, 56, _("Gremlin"), GREMLIN, 1, "Airship#airplane02::OnCaptainMobDead");
+ monster("airplane_01", 247, 51, _("Gremlin"), GREMLIN, 1, "Airship#airplane02::OnCaptainMobDead");
+ monster("airplane_01", 237, 44, _("Beholder"), BEHOLDER, 1, "Airship#airplane02::OnCaptainMobDead");
+ monster("airplane_01", 233, 54, _("Beholder"), BEHOLDER, 1, "Airship#airplane02::OnCaptainMobDead");
+ monster("airplane_01", 237, 62, _("Beholder"), BEHOLDER, 1, "Airship#airplane02::OnCaptainMobDead");
end;
OnTimer53000:
- mapannounce "airplane_01", "Attendant: Captain Tarlock, we're in trouble! The monsters are heading to the propellers!",bc_map,0x00FF00;
+ mapannounce("airplane_01", _("Attendant: Captain Tarlock, we're in trouble! The monsters are heading to the propellers!"), bc_map, C_LIME);
end;
OnTimer58000:
- mapannounce "airplane_01", "Captain Tarlock: What?! I've got to stop them!",bc_map,0x70DBDB;
+ mapannounce("airplane_01", _("Captain Tarlock: What?! I've got to stop them!"), bc_map, 0x70DBDB);
end;
OnTimer63000:
- hideonnpc "Airship Captain#01";
- hideoffnpc "Airship Captain#02";
+ hideonnpc("Airship Captain#01");
+ hideoffnpc("Airship Captain#02");
end;
OnTimer68000:
- emotion e_ag,0,"Airship Captain#02";
- mapannounce "airplane_01", "Captain Tarlock: You ugly, godforsaken creatures... Get off my ship!",bc_map,0x70DBDB;
+ emotion(e_ag, false, "Airship Captain#02");
+ mapannounce("airplane_01", _("Captain Tarlock: You ugly, godforsaken creatures... Get off my ship!"), bc_map, 0x70DBDB);
end;
OnTimer73000:
- mapannounce "airplane_01", "*Kzzz...Drrrr...Boom! CRASH!*",bc_map,0x00FF00;
- specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
+ mapannounce("airplane_01", _("*Kzzz...Drrrr...Boom! CRASH!*"), bc_map, C_LIME);
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
end;
OnTimer73500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer74000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
end;
OnTimer74500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
end;
OnTimer75000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom10#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom10#airplane"));
end;
OnTimer75500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
end;
OnTimer76000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer76500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
end;
OnTimer77000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
end;
OnTimer77500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom10#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom10#airplane"));
end;
OnTimer78000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
- mapannounce "airplane_01", "Engineer: Oh no! We've got a problem with the Number One Rear Engine!",bc_map,0x00FF00;
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
+ mapannounce("airplane_01", _("Engineer: Oh no! We've got a problem with the Number One Rear Engine!"), bc_map, C_LIME);
end;
OnTimer79000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer80000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
end;
OnTimer81000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
end;
OnTimer82000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom10#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom10#airplane"));
end;
OnTimer83000:
- mapannounce "airplane_01", "Pilot: Hurry! Get the women, old people and children somewhere safe first! Hurry!",bc_map,0x00FF00;
+ mapannounce("airplane_01", _("Pilot: Hurry! Get the women, old people and children somewhere safe first! Hurry!"), bc_map, C_LIME);
end;
OnTimer84000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
end;
OnTimer85000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer86000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
end;
OnTimer87000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer88000:
- emotion e_ag,0,"Airship Captain#02";
- mapannounce "airplane_01", "Captain Tarlock: You dirty monsters are dealing with this ship's captain...",bc_map,0x70DBDB;
+ emotion(e_ag, false, "Airship Captain#02");
+ mapannounce("airplane_01", _("Captain Tarlock: You dirty monsters are dealing with this ship's captain..."), bc_map, 0x70DBDB);
end;
OnTimer93000:
- emotion e_ag,0,"Airship Captain#02";
- mapannounce "airplane_01", "Captain Tarlock: I'll protect this ship and my crew with my life!",bc_map,0x70DBDB;
+ emotion(e_ag, false, "Airship Captain#02");
+ mapannounce("airplane_01", _("Captain Tarlock: I'll protect this ship and my crew with my life!"), bc_map, 0x70DBDB);
end;
OnTimer98000:
- emotion e_pif,0,"Airship Captain#02";
- mapannounce "airplane_01", "Captain Tarlock: Here goes! Special Exodus Joker XIII Doom Rifle!",bc_map,0x70DBDB;
+ emotion(e_pif, false, "Airship Captain#02");
+ mapannounce("airplane_01", _("Captain Tarlock: Here goes! Special Exodus Joker XIII Doom Rifle!"), bc_map, 0x70DBDB);
end;
OnTimer103000:
- mapannounce "airplane_01", "*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*",bc_map,0x00FF00;
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ mapannounce("airplane_01", _("*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*"), bc_map, C_LIME);
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer103500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom1#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom1#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer104000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom2#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom2#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer104500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom3#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom3#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer105000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom4#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom4#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer105500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom5#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom5#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer106000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom0#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom0#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer106500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom1#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom1#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer107000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom2#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom2#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer107500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom4#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom4#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer108000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom5#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom5#airplane"));
killmonster "airplane_01","Airship#airplane02::OnCaptainMobDead";
end;
OnTimer113000:
- emotion e_pif,0,"Airship Captain#02";
- mapannounce "airplane_01","Captain Tarlock: Filthy animals! Stop ruining my ship!",bc_map,0x70DBDB;
+ emotion(e_pif, false, "Airship Captain#02");
+ mapannounce("airplane_01", _("Captain Tarlock: Filthy animals! Stop ruining my ship!"), bc_map, 0x70DBDB);
end;
OnTimer118000:
- mapannounce "airplane_01", "*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*",bc_map,0x00FF00;
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ mapannounce("airplane_01", _("*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*"), bc_map, C_LIME);
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer118500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer119000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer119500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer120000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer120500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom10#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom10#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer121000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer121500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer122000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer122500:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
- specialeffect EF_HIT5,AREA,"Airship Captain#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
+ specialeffect(EF_HIT5, AREA, getnpcid("Airship Captain#02"));
end;
OnTimer123000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
- mapannounce "airplane_01", "*Boom! Boom Boom! Boom Boom! Boom!*",bc_map,0x00FF00;
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom8#airplane"));
+ mapannounce("airplane_01", _("*Boom! Boom Boom! Boom Boom! Boom!*"), bc_map, C_LIME);
end;
OnTimer124000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom9#airplane"));
end;
OnTimer125000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom10#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom10#airplane"));
end;
OnTimer126000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom6#airplane"));
end;
OnTimer127000:
- specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("boom7#airplane"));
end;
OnTimer128000:
- emotion e_an,0,"Airship Captain#02";
- mapannounce "airplane_01", "Captain Tarlock: There's... Too many to handle!",bc_map,0x70DBDB;
+ emotion(e_an, false, "Airship Captain#02");
+ mapannounce("airplane_01", _("Captain Tarlock: There's... Too many to handle!"), bc_map, 0x70DBDB);
end;
OnTimer133000:
- mapannounce "airplane_01", "Pilot: Captain, sir, the situation is getting critical!",bc_map,0x00FF00;
+ mapannounce("airplane_01", _("Pilot: Captain, sir, the situation is getting critical!"), bc_map, C_LIME);
end;
OnTimer138000:
- emotion e_swt,0,"Airship Captain#02";
- mapannounce "airplane_01", "Captain Tarlock: We'll need all the help we can get!",bc_map,0x70DBDB;
+ emotion(e_swt, false, "Airship Captain#02");
+ mapannounce("airplane_01", _("Captain Tarlock: We'll need all the help we can get!"), bc_map, 0x70DBDB);
end;
OnTimer143000:
- emotion e_sry,0,"Airship Captain#02";
- mapannounce "airplane_01", "Captain Tarlock: All hands and any passenger who can fight! We've got to drive away these monsters!",bc_map,0x70DBDB;
+ emotion(e_sry, false, "Airship Captain#02");
+ mapannounce("airplane_01", _("Captain Tarlock: All hands and any passenger who can fight! We've got to drive away these monsters!"), bc_map, 0x70DBDB);
end;
OnTimer148000:
- hideonnpc "Airship Captain#02";
- hideoffnpc "Airship Captain#01";
+ hideonnpc("Airship Captain#02");
+ hideoffnpc("Airship Captain#01");
end;
OnTimer400000:
- killmonster "airplane_01","Airship#airplane02::OnMyMobDead";
+ killmonster("airplane_01", "Airship#airplane02::OnMyMobDead");
end;
OnTimer405000:
- mapannounce "airplane_01","Monster threat eliminated. The Airship is now returning to normal operation.",bc_map,0x00FF00;
- hideoffnpc "Airship Staff#airplane01";
+ mapannounce("airplane_01", _("Monster threat eliminated. The Airship is now returning to normal operation."), bc_map, C_LIME);
+ hideoffnpc("Airship Staff#airplane01");
end;
OnTimer410000:
- mapannounce "airplane_01","We will arrive in Izlude shortly.",bc_map,"0x00ff00";
+ mapannounce("airplane_01", _("We will arrive in Izlude shortly."), bc_map, C_LIME);
end;
OnTimer420000:
$@airplanelocation2 = 1;
- donpcevent "#AirshipWarp-3::OnUnhide";
- donpcevent "#AirshipWarp-4::OnUnhide";
- mapannounce "airplane_01","Welcome to Izlude. Have a safe trip.",bc_map,"0x00ff00";
+ donpcevent("#AirshipWarp-3::OnUnhide");
+ donpcevent("#AirshipWarp-4::OnUnhide");
+ mapannounce("airplane_01", _("Welcome to Izlude. Have a safe trip."), bc_map, C_LIME);
end;
OnTimer430000:
- mapannounce "airplane_01","We are currently in Izlude. The Airship will take off shortly.",bc_map,"0x00ff00";
+ mapannounce("airplane_01", _("We are currently in Izlude. The Airship will take off shortly."), bc_map, C_LIME);
end;
OnTimer440000:
- donpcevent "#AirshipWarp-3::OnHide";
- donpcevent "#AirshipWarp-4::OnHide";
- mapannounce "airplane_01","The Airship is now taking off. Our next destination is Juno.",bc_map,"0x70dbdb";
+ donpcevent("#AirshipWarp-3::OnHide");
+ donpcevent("#AirshipWarp-4::OnHide");
+ mapannounce("airplane_01", _("The Airship is now taking off. Our next destination is Juno."), bc_map, 0x70DBDB);
end;
OnTimer465000:
- mapannounce "airplane_01","We are heading to Juno.",bc_map,"0x70dbdb";
+ mapannounce("airplane_01", _("We are heading to Juno."), bc_map, 0x70DBDB);
end;
OnTimer490000:
- mapannounce "airplane_01","We will arrive in Juno shortly.",bc_map,"0x70dbdb";
+ mapannounce("airplane_01", _("We will arrive in Juno shortly."), bc_map, 0x70DBDB);
end;
OnTimer500000:
$@airplanelocation2 = 2;
- donpcevent "#AirshipWarp-3::OnUnhide";
- donpcevent "#AirshipWarp-4::OnUnhide";
- mapannounce "airplane_01","Welcome to Juno. Have a safe trip.",bc_map,"0x70dbdb";
+ donpcevent("#AirshipWarp-3::OnUnhide");
+ donpcevent("#AirshipWarp-4::OnUnhide");
+ mapannounce("airplane_01", _("Welcome to Juno. Have a safe trip."), bc_map, 0x70DBDB);
end;
OnTimer510000:
- mapannounce "airplane_01","We are currently in Juno. The Airship will leave shortly.",bc_map,"0x70dbdb";
+ mapannounce("airplane_01", _("We are currently in Juno. The Airship will leave shortly."), bc_map, 0x70DBDB);
end;
OnTimer520000:
- donpcevent "#AirshipWarp-3::OnHide";
- donpcevent "#AirshipWarp-4::OnHide";
+ donpcevent("#AirshipWarp-3::OnHide");
+ donpcevent("#AirshipWarp-4::OnHide");
mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Rachel.",bc_map,"0xFF8200";
end;
OnTimer545000:
@@ -1541,20 +1964,20 @@ OnTimer570000:
end;
OnTimer580000:
$@airplanelocation2 = 0;
- donpcevent "#AirshipWarp-3::OnUnhide";
- donpcevent "#AirshipWarp-4::OnUnhide";
+ donpcevent("#AirshipWarp-3::OnUnhide");
+ donpcevent("#AirshipWarp-4::OnUnhide");
mapannounce "airplane_01","Welcome to Rachel. Have a safe trip.",bc_map,"0xFF8200";
end;
OnTimer590000:
mapannounce "airplane_01","We are currently in Rachel. The Airship will take off shortly.",bc_map,"0xFF8200";
end;
OnTimer600000:
- donpcevent "#AirshipWarp-3::OnHide";
- donpcevent "#AirshipWarp-4::OnHide";
- mapannounce "airplane_01","The Airship is now taking off. Our next destination is Izlude.",bc_map,"0x00ff00";
- stopnpctimer;
- set getvariableofnpc(.moninv, "International_Airship"),2;
- donpcevent "International_Airship::OnEnable";
+ donpcevent("#AirshipWarp-3::OnHide");
+ donpcevent("#AirshipWarp-4::OnHide");
+ mapannounce("airplane_01", _("The Airship is now taking off. Our next destination is Izlude."), bc_map, C_LIME);
+ stopnpctimer();
+ set(getvariableofnpc(.moninv, "International_Airship"), 2);
+ donpcevent("International_Airship::OnEnable");
end;
OnMyMobDead:
@@ -1563,19 +1986,19 @@ OnCaptainMobDead:
}
airplane_01,246,54,3 script Airship Captain#02 4_M_REINDEER,{
- cutin "fly_felrock",2;
- mes "[Tarlock]";
- mes "I am Tarlock,";
- mes "captain of this";
- mes "Airship. Go and";
- mes "fight with the";
- mes "Gremlins!";
- close2;
- cutin "",255;
+ cutin("fly_felrock", 2);
+ mes("[Tarlock]");
+ mes("I am Tarlock,");
+ mes("captain of this");
+ mes("Airship. Go and");
+ mes("fight with the");
+ mes("Gremlins!");
+ close2();
+ cutin("", 255);
end;
OnInit:
- hideonnpc "Airship Captain#02";
+ hideonnpc("Airship Captain#02");
end;
}
@@ -1593,1432 +2016,1470 @@ airplane_01,227,67,0 script boom10#airplane HIDDEN_WARP_NPC,{ end; }
//- Captain Tarlock :: lght_air -
airplane_01,238,154,3 script Airship Captain#01 4_M_REINDEER,{
- cutin "fly_felrock",2;
- mes "[Tarlock]";
- mes "I am Tarlock,";
- mes "captain of this";
- mes "Airship. Did you";
- mes "have a question?";
- next;
- if (lght_air >= 0 && lght_air <= 3 || lght_air == 7) {
- .@question$ = "How does this Airship fly?";
- } else if (lght_air == 4) {
- .@question$ = "I handed the letter to Captain Ferlock.";
+ cutin("fly_felrock", 2);
+ mes("[Tarlock]");
+ mes("I am Tarlock,");
+ mes("captain of this");
+ mes("Airship. Did you");
+ mes("have a question?");
+ next();
+ if (lght_air == 4) {
+ .@question$ = _("I handed the letter to Captain Ferlock.");
} else if (lght_air == 5) {
- .@question$ = "You finished reading the letter?";
+ .@question$ = _("You finished reading the letter?");
} else if (lght_air == 6) {
- .@question$ = "Already finished reading?";
+ .@question$ = _("Already finished reading?");
+ } else {
+ .@question$ = _("How does this Airship fly?");
}
switch (select("Y-you're a reindeer?!", .@question$, "No, not really.")) {
case 1:
- mes "[Tarlock]";
- mes "Hm? Oh, that";
- mes "We reindeer are a proud";
- mes "race who like to travel the";
- mes "world. But that should be";
- mes "obvious if you think of the";
- mes "reindeer working for Claus.";
- next;
- mes "[Tarlock]";
- mes "Well, reindeer or";
- mes "not, I've earned the";
- mes "captaincy of this ship";
- mes "and the loyalty of my crew.";
- mes "We'll do everything we can to";
- mes "make sure your flight is safe.";
- close2;
- cutin "",255;
+ mes("[Tarlock]");
+ mes("Hm? Oh, that");
+ mes("We reindeer are a proud");
+ mes("race who like to travel the");
+ mes("world. But that should be");
+ mes("obvious if you think of the");
+ mes("reindeer working for Claus.");
+ next();
+ mes("[Tarlock]");
+ mes("Well, reindeer or");
+ mes("not, I've earned the");
+ mes("captaincy of this ship");
+ mes("and the loyalty of my crew.");
+ mes("We'll do everything we can to");
+ mes("make sure your flight is safe.");
+ close2();
+ cutin("", 255);
end;
case 2:
- if (lght_air == 1) {
+ if (lght_air == 0) {
+ mes("[Tarlock]");
+ mes("Hahaha! How this");
+ mes("Airship flies? Yes, it's");
+ mes("quite wonderful, isn't it?");
+ mes("Although that's a secret,");
+ mes("let me assure you that it's");
+ mes("nothing weird or dangerous.");
+ lght_air = 1;
+ close2();
+ cutin("", 255);
+ end;
+ } else if (lght_air == 1) {
if (BaseLevel <= 59) {
- mes "[Tarlock]";
- mes "Mm...?";
- mes "Didn't you ask me that";
- mes "before? Well, in any case";
- mes "I apologize, but I'm still not";
- mes "allowed to tell you that secret.";
- close2;
- cutin "",255;
+ mes("[Tarlock]");
+ mes("Mm...?");
+ mes("Didn't you ask me that");
+ mes("before? Well, in any case");
+ mes("I apologize, but I'm still not");
+ mes("allowed to tell you that secret.");
+ close2();
+ cutin("", 255);
end;
} else {
- mes "[Tarlock]";
- mes "Mm...?";
- mes "Didn't you ask me that";
- mes "before? Are you just curious";
- mes "or did you really want to know?";
- next;
+ mes("[Tarlock]");
+ mes("Mm...?");
+ mes("Didn't you ask me that");
+ mes("before? Are you just curious");
+ mes("or did you really want to know?");
+ next();
switch (select("No, not really...", "Yes, I really want to know!")) {
case 1:
- mes "[Tarlock]";
- mes "Hahahaha~";
- mes "Maybe someday you'll";
- mes "figure out how this Airship";
- mes "is able to stay aloft and";
- mes "fly through the skies.";
- close2;
- cutin "",255;
+ mes("[Tarlock]");
+ mes("Hahahaha~");
+ mes("Maybe someday you'll");
+ mes("figure out how this Airship");
+ mes("is able to stay aloft and");
+ mes("fly through the skies.");
+ close2();
+ cutin("", 255);
end;
case 2:
- mes "[Tarlock]";
- mes "In all honestly, the";
- mes "secret to this Airship's";
- mes "flight is something that";
- mes "only captains are authorized";
- mes "to know. So I shouldn't really";
- mes "tell you anything about it.";
- next;
- mes "[Tarlock]";
- mes "But I've never been able";
- mes "to trust upper management";
- mes "so I don't have any loyalty to";
- mes "them. I wouldn't mind telling";
- mes "you that classified info if you";
- mes "do a little favor for me first.";
- next;
+ mes("[Tarlock]");
+ mes("In all honestly, the");
+ mes("secret to this Airship's");
+ mes("flight is something that");
+ mes("only captains are authorized");
+ mes("to know. So I shouldn't really");
+ mes("tell you anything about it.");
+ next();
+ mes("[Tarlock]");
+ mes("But I've never been able");
+ mes("to trust upper management");
+ mes("so I don't have any loyalty to");
+ mes("them. I wouldn't mind telling");
+ mes("you that classified info if you");
+ mes("do a little favor for me first.");
+ next();
switch (select("Let me think about it.", "Sure.")) {
case 1:
- mes "[Tarlock]";
- mes "Alright. But don't";
- mes "worry, I'm not going";
- mes "to ask you to do anything";
- mes "that you can't handle. Come";
- mes "back after you decide, alright?";
- close2;
- cutin "",255;
+ mes("[Tarlock]");
+ mes("Alright. But don't");
+ mes("worry, I'm not going");
+ mes("to ask you to do anything");
+ mes("that you can't handle. Come");
+ mes("back after you decide, alright?");
+ close2();
+ cutin("", 255);
end;
case 2:
- setquest 8032;
lght_air = 2;
- mes "[Tarlock]";
- mes "Ha-hah! I like you";
- mes "already! Alright, here's";
- mes "the deal. I have a younger";
- mes "brother who I rarely see since";
- mes "he's also an Airship Captain";
- mes "that's always traveling.";
- next;
- mes "[Tarlock]";
- mes "Would you bring this";
- mes "letter to my brother,";
- mes "Ferlock? Also, please";
- mes "make sure that you come";
- mes "back with his reply, alright?";
- mes "Thank you, adventurer.";
- next;
- mes "[Tarlock]";
- mes "Oh, and once you meet";
- mes "my brother, please help";
- mes "him out. He'll explain it";
- mes "once you see him.";
- next;
- mes "^3131FFYou have received";
- mes "Captain Tarlock's letter";
- mes "to deliver to his younger";
- mes "brother, Captain Ferlock.";
- close2;
- cutin "",255;
+ setquest(8032);
+ mes("[Tarlock]");
+ mes("Ha-hah! I like you");
+ mes("already! Alright, here's");
+ mes("the deal. I have a younger");
+ mes("brother who I rarely see since");
+ mes("he's also an Airship Captain");
+ mes("that's always traveling.");
+ next();
+ mes("[Tarlock]");
+ mes("Would you bring this");
+ mes("letter to my brother,");
+ mes("Ferlock? Also, please");
+ mes("make sure that you come");
+ mes("back with his reply, alright?");
+ mes("Thank you, adventurer.");
+ next();
+ mes("[Tarlock]");
+ mes("Oh, and once you meet");
+ mes("my brother, please help");
+ mes("him out. He'll explain it");
+ mes("once you see him.");
+ next();
+ mes("^3131FFYou have received");
+ mes("Captain Tarlock's letter");
+ mes("to deliver to his younger");
+ mes("brother, Captain Ferlock.");
+ close2();
+ cutin("", 255);
end;
}
}
}
} else if (lght_air == 4) {
lght_air = 5;
- changequest 8034,8035;
- mes "[Tarlock]";
- mes "Oh!";
- mes "And he answer you? Really?!";
- mes "In fact, I wasn't";
- mes "expecting that too much...";
- mes "Please wait a little,";
- mes "I'll read his letter.";
- close2;
- cutin "",255;
+ changequest(8034, 8035);
+ mes("[Tarlock]");
+ mes("Oh!");
+ mes("And he answer you? Really?!");
+ mes("In fact, I wasn't");
+ mes("expecting that too much...");
+ mes("Please wait a little,");
+ mes("I'll read his letter.");
+ close2();
+ cutin("", 255);
end;
} else if (lght_air == 5) {
lght_air = 6;
- mes "[Tarlock]";
- mes "Um... Ha ha ha~!";
- mes "This guy, he is a real lover!";
- mes "But his true inner man";
- mes "is limited by his duty.";
- mes "What do you think?";
- mes "Hoh hoh hoh.";
- next;
- mes "^3131ffHe continue reading";
- mes "the letter.^000000";
- close2;
- cutin "",255;
+ mes("[Tarlock]");
+ mes("Um... Ha ha ha~!");
+ mes("This guy, he is a real lover!");
+ mes("But his true inner man");
+ mes("is limited by his duty.");
+ mes("What do you think?");
+ mes("Hoh hoh hoh.");
+ next();
+ mes("^3131ffHe continue reading");
+ mes("the letter.^000000");
+ close2();
+ cutin("", 255);
end;
} else if (lght_air == 6) {
- mes "[Tarlock]";
- mes "Yes, I finished.";
- mes "Even if I understand him";
- mes "I've a totally different";
- mes "point of view. But both";
- mes "of us are fearless.";
- next;
- mes "[Tarlock]";
- mes "Oh, I almost forgot,";
- mes "I'll teach you what you";
- mes "wanted to know.";
- next;
- mes "[Tarlock]";
- mes "The Airship's secret to float is...";
- mes "The large boiler is setted on fire,";
- mes "That moves the pistons, gears";
- mes "and turbines with the steam";
- mes "that is generated when the water";
- mes "passes within the boiler.";
- next;
- mes "[Tarlock]";
- mes "That turns the propeller.";
- mes "That's all. Did you understand?";
- next;
+ mes("[Tarlock]");
+ mes("Yes, I finished.");
+ mes("Even if I understand him");
+ mes("I've a totally different");
+ mes("point of view. But both");
+ mes("of us are fearless.");
+ next();
+ mes("[Tarlock]");
+ mes("Oh, I almost forgot,");
+ mes("I'll teach you what you");
+ mes("wanted to know.");
+ next();
+ mes("[Tarlock]");
+ mes("The Airship's secret to float is...");
+ mes("The large boiler is setted on fire,");
+ mes("That moves the pistons, gears");
+ mes("and turbines with the steam");
+ mes("that is generated when the water");
+ mes("passes within the boiler.");
+ next();
+ mes("[Tarlock]");
+ mes("That turns the propeller.");
+ mes("That's all. Did you understand?");
+ next();
select("Um? Only that? There's no more?");
- mes "[Tarlock]";
- mes "Ha ha ha!";
- mes "I explained it roughly to";
- mes "make it easier to understand";
- mes "by you. Still, you aren't";
- mes "pleased? I said it in plain";
- mes "english that everyone could";
- mes "understand.";
- next;
- mes "[Tarlock]";
- mes "Obviously, only with a steam";
- mes "is impossible to make this fly.";
- mes "Therefore, it uses an amplifier";
- mes "called ^ff0000Rune Mechanism^000000.";
- next;
+ mes("[Tarlock]");
+ mes("Ha ha ha!");
+ mes("I explained it roughly to");
+ mes("make it easier to understand");
+ mes("by you. Still, you aren't");
+ mes("pleased? I said it in plain");
+ mes("english that everyone could");
+ mes("understand.");
+ next();
+ mes("[Tarlock]");
+ mes("Obviously, only with a steam");
+ mes("is impossible to make this fly.");
+ mes("Therefore, it uses an amplifier");
+ mes("called ^ff0000Rune Mechanism^000000.");
+ next();
select("Uh? What's a Rune Mechanism?");
- mes "[Tarlock]";
- mes "It's a device that uses a";
- mes "magic stone as power source.";
- mes "However, I don't know how";
- mes "this work...";
- mes "I forgot the details probably";
- mes "because I didn't paid much attention.";
- next;
- mes "[Tarlock]";
- mes "The only I remember is";
- mes "that the energy is amplified";
- mes "while it passes through the";
- mes "Rune that is attached to a";
- mes "steam engine.";
- next;
- mes "[Tarlock]";
- mes "In fact, all this airship";
- mes "floats thanks to the power";
- mes "given by the stone, no";
- mes "exaggeration.";
- mes "It has really a strong power.";
- next;
- specialeffect2 EF_MAPPILLAR;
- mes "[Tarlock]";
- mes "Did you understand?";
- mes "I'll rest a little.";
- mes "I'm tired for reading";
- mes "and writing those long";
- mes "letters.";
- completequest 8035;
+ mes("[Tarlock]");
+ mes("It's a device that uses a");
+ mes("magic stone as power source.");
+ mes("However, I don't know how");
+ mes("this work...");
+ mes("I forgot the details probably");
+ mes("because I didn't paid much attention.");
+ next();
+ mes("[Tarlock]");
+ mes("The only I remember is");
+ mes("that the energy is amplified");
+ mes("while it passes through the");
+ mes("Rune that is attached to a");
+ mes("steam engine.");
+ next();
+ mes("[Tarlock]");
+ mes("In fact, all this airship");
+ mes("floats thanks to the power");
+ mes("given by the stone, no");
+ mes("exaggeration.");
+ mes("It has really a strong power.");
+ next();
+ specialeffect(EF_MAPPILLAR, AREA, playerattached());
+ mes("[Tarlock]");
+ mes("Did you understand?");
+ mes("I'll rest a little.");
+ mes("I'm tired for reading");
+ mes("and writing those long");
+ mes("letters.");
lght_air = 7;
+ completequest(8035);
if (RENEWAL_EXP)
- getexp 20000,1000;
+ getexp(20000, 1000);
else
- getexp 200000,10000;
- close2;
- cutin "",255;
+ getexp(200000, 10000);
+ close2();
+ cutin("", 255);
end;
} else if (lght_air == 7) {
- mes "[Tarlock]";
- mes "Didn't I teach you before?";
- mes "I won't explain such a long";
- mes "tale again!";
- close2;
- cutin "",255;
+ mes("[Tarlock]");
+ mes("Didn't I teach you before?");
+ mes("I won't explain such a long");
+ mes("tale again!");
+ close2();
+ cutin("", 255);
end;
- } else if (lght_air == 2 || lght_air == 3) {
- mes "[Tarlock]";
- mes "Hahahah! Don't worry, I'll";
- mes "tell you know this Airship";
- mes "flies once you deliver that";
- mes "letter to my brother, Ferlock,";
- mes "and bring back his reply.";
- close2;
- cutin "",255;
+ } else {
+ mes("[Tarlock]");
+ mes("Hahahah! Don't worry, I'll");
+ mes("tell you know this Airship");
+ mes("flies once you deliver that");
+ mes("letter to my brother, Ferlock,");
+ mes("and bring back his reply.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Tarlock]";
- mes "Hahaha! How this";
- mes "Airship flies? Yes, it's";
- mes "quite wonderful, isn't it?";
- mes "Although that's a secret,";
- mes "let me assure you that it's";
- mes "nothing weird or dangerous.";
+ mes("[Tarlock]");
+ mes("Hahaha! How this");
+ mes("Airship flies? Yes, it's");
+ mes("quite wonderful, isn't it?");
+ mes("Although that's a secret,");
+ mes("let me assure you that it's");
+ mes("nothing weird or dangerous.");
lght_air = 1;
- close2;
- cutin "",255;
+ close2();
+ cutin("", 255);
end;
case 3:
- mes "[Tarlock]";
- mes "Alright, then.";
- mes "Thanks for flying";
- mes "with us, and I hope";
- mes "you enjoy your travels.";
- close2;
- cutin "",255;
+ mes("[Tarlock]");
+ mes("Alright, then.");
+ mes("Thanks for flying");
+ mes("with us, and I hope");
+ mes("you enjoy your travels.");
+ close2();
+ cutin("", 255);
end;
}
}
//- Captain Ferlock :: lght_ymir -
airplane,236,163,5 script Airship Captain#03 4_M_REINDEER,{
- cutin "fly_trock.bmp",2;
+ cutin("fly_trock", 2);
if (hg_ma1 == 3 || hg_ma1 == 4) {
- mes "[Ferlock]";
- mes "Welcome to the airship. I am Ferlock, captain of this airship. What do you want from me? ";
- next;
- select("Ask him about Thierry");
- mes "[Ferlock]";
- mes "Hmm, this is the first time I hear of this name. I'm sure he's not the employee of this place.";
- next;
- select("Request for the passenger list.");
- mes "[Ferlock]";
- mes "The passenger list is not opened to public unfortunately. Sorry I couldn't help you. ";
- if (hg_ma1 == 3)
- close;
- next;
- select("Follow Kaci's request and tell him the story.");
- mes "^3355FFWhen you tell him why you need to find Thierry, the captain listens to you quietly and nods his head.^000000";
- next;
- mes "[Ferlock]";
- mes "Hmm... I understand what you mean. However, the rules says that the passenger list cannot be showed to public.";
- next;
- mes "[Ferlock]";
- mes "......However, rules can be broken which brings greater value than its existence. Ok, I will help you. Please wait for a while.";
- next;
- mes "^3355FFThe captain takes out a book and writes the name of 'Thierry' on the first page where nothing is written. The entry slowly disappears and the pages of the book start to flip magically^000000";
- next;
- mes "^3355FFThe book continues to flip and finally stops at one page. You see the record of Thierry boarding the airship on that page^000000";
- next;
- mes "[Ferlock]";
- mes "Haha, does it frighten you? This is a magically enchanted book. Once you've written the name in it, you will be able to find the answer you want in an instant.";
- next;
- mes "[Ferlock]";
- mes "It must have surprised you to find that the people of Schwaltzvalt make use of magical items too.";
- next;
- mes "[Ferlock]";
- mes "This is something I acquired from an old friend.... Hmm, but that has nothing to do with this.";
- next;
- mes "[Ferlock]";
- mes "Thierry... Let's see. He boarded the airship a month ago and headed for Hugel. Looks like he took the ship to Hugel the first day this flight was implemented.";
- next;
- mes "[Ferlock]";
- mes "....Oh, didn't you say that this friend of yours is involved with a research job? I remember now. It's that young man.";
- next;
- mes "[Ferlock]";
- mes "The flight to Hugel which had just been added to the schedule faced a great danger the first day since the airship had not prepared any counter-measures for sudden attacks by the dragons.";
- next;
- mes "[Ferlock]";
- mes "To think about it, I have to admit that I made a mistake by not taking the fact that the dragons make approaching Hugel dangerous into consideration.";
- next;
- mes "[Ferlock]";
- mes "Anyway, the ship was in critical condition due to an unexpected mechanical failure. Fortunately, a young skillful man managed to solve the problem. Now I remember his name; Thierry.";
- next;
- mes "[Ferlock]";
- mes "Now I can tell why he was so quiet and had such a sad face. You know where he was heading now. So, please bring the news to his fiance.";
- next;
- mes "[Ferlock]";
- mes "And if you ever meet him, please send him my gratitude and regards.";
- changequest 8045,8046;
+ mes("[Ferlock]");
+ mes("Welcome to the airship. I am the captain Ferlock.");
+ mes("Is there anything that I can help you with today?");
+ next();
+ select("I am looking for a man named Thierry.");
+ mes("[Ferlock]");
+ mes("Thierry? Well, I do not think that I know that person.");
+ mes("I can guarantee you at least that he is not working for me.");
+ next();
+ select("Will you let me check the history of passenger lists?");
+ mes("[Ferlock]");
+ mes("I am sorry, but I cannot release such personal information to an unauthorized person.");
+ if (hg_ma1 == 3) {
+ close2();
+ cutin("", 255);
+ end;
+ }
+ next();
+ select("Tell him the story of what happened.");
+ mes("- Captain Ferlock was carefully listening to you while you were explaining the reason why you have been looking for Thierry. -");
+ next();
+ mes("[Ferlock]");
+ mes("Ummm....I see, I fully understand the situation. But, this is my situation that I am not allowed to release our passenger lists to unauthorized people...");
+ next();
+ mes("[Ferlock]");
+ mes("*Sigh*....I guess that rules exist only to be broken one of these days... Okay, I will let you check our passenger lists. Please give me a moment.");
+ next();
+ mes("- Captain Ferlock took out a heavy book from somewhere, and wrote the name 'Thierry' on the first blank page. -");
+ mes("- As the letters slowly disappeared, pages of the book started being turned by themselves. -");
+ next();
+ mes("- The pages stopped turning at a page that the name 'Thierry' was written on. -");
+ next();
+ mes("[Ferlock]");
+ mes("Haha, you must be surprised by this, huh? As you see, this book is a magic book which you do not need to turn the pages to find a specific page.");
+ mes("Well, this is how we, Schwaltzvalt Republicans adopt magic in their lives.");
+ next();
+ mes("[Ferlock]");
+ mes("My old friend has given me this....well, it is not important at this moment anyways.");
+ next();
+ mes("[Ferlock]");
+ mes("Let's see, Thierry, Thierry.... Yes, he was in the airship about a month ago. He was heading to Hugel, and he was one of the very first passengers of the Hugel route.");
+ next();
+ mes("[Ferlock]");
+ mes("....Oh, did you say that he was good at researching stuffs? Now I remember him, he was the guy!");
+ next();
+ mes("[Ferlock]");
+ mes("It was the very first day that we operated the Hugel route. While we were heading to Hugel, a group of dragons raided our airship. ");
+ mes("We were unprepared for a such attack, so basically we were at the very dangerous moment.");
+ next();
+ mes("[Ferlock]");
+ mes("It was all my fault because I knew that dragons were one of the reasons why people had not dared to visit Hugel.");
+ mes("How stupid of me! Even until then, I did not even think twice about preparing our crews for those brutal dragons' attacks.");
+ next();
+ mes("[Ferlock]");
+ mes("So the dragons seriously damaged our airship, and we were about to fall into the ground. Then this young man came forward and repaired the airship as if he knew that it would be coming.");
+ mes("I am very sure that Thierry was that guy who saved our lives.");
+ next();
+ mes("[Ferlock]");
+ mes("At that time, I wondered what made him look so sad and depressed. And now I know why.");
+ mes("I am so glad that I decided to help you in finding this amazing guy. Now you can go tell his fiance where he is.");
+ next();
+ mes("[Ferlock]");
+ mes("If you meet him, please send my regard to him.");
hg_ma1 = 5;
- close2;
- cutin "",255;
+ changequest(8045, 8046);
+ close2();
+ cutin("", 255);
end;
} else if (hg_ma1 == 5) {
- mes "[Ferlock]";
- mes "You better get going and send the news to the fiance.";
- close2;
- cutin "",255;
+ mes("[Ferlock]");
+ mes("Please tell his fiance where he is.");
+ close2();
+ cutin("", 255);
end;
}
if (lght_air == 7 && lhz_heart == 11) {
- mes "[Ferlock]";
- mes "Ah, thank you for coming.";
- mes "Now, I wanted to ask you";
- mes "why you were investigating";
- mes "Ymir's Heart Piece. Are you";
- mes "merely curious, or did you";
- mes "have some special reason?";
- next;
- switch(select("Just curious...", "Well, there's someone I need to help...")) {
+ mes("[Ferlock]");
+ mes("Ah, thank you for coming.");
+ mes("Now, I wanted to ask you");
+ mes("why you were investigating");
+ mes("Ymir's Heart Piece. Are you");
+ mes("merely curious, or did you");
+ mes("have some special reason?");
+ next();
+ switch (select("Just curious...", "Well, there's someone I need to help...")) {
case 1:
- mes "[Ferlock]";
- mes "Just curious...?";
- mes "I don't know if satisfying";
- mes "your curiosity is worth the";
- mes "risks that you have already";
- mes "taken. You should be more ";
- mes "careful in the future...";
- close2;
- cutin "",255;
+ mes("[Ferlock]");
+ mes("Just curious...?");
+ mes("I don't know if satisfying");
+ mes("your curiosity is worth the");
+ mes("risks that you have already");
+ mes("taken. You should be more ");
+ mes("careful in the future...");
+ close2();
+ cutin("", 255);
end;
case 2:
- mes "[Ferlock]";
- mes "Well, I shouldn't be";
- mes "trusting you this much,";
- mes "but since you've helped";
- mes "me and my brother, I feel";
- mes "that you must be one of those altruistic adventurers. Very well.";
- next;
- mes "[Ferlock]";
- mes "If you promise that you'll";
- mes "never tell what I reveal to";
- mes "you, then I suppose I can";
- mes "tell you know about the Rune";
- mes "Stone and Ymir's Heart Piece.";
- next;
+ mes("[Ferlock]");
+ mes("Well, I shouldn't be");
+ mes("trusting you this much,");
+ mes("but since you've helped");
+ mes("me and my brother, I feel");
+ mes("that you must be one of those altruistic adventurers. Very well.");
+ next();
+ mes("[Ferlock]");
+ mes("If you promise that you'll");
+ mes("never tell what I reveal to");
+ mes("you, then I suppose I can");
+ mes("tell you know about the Rune");
+ mes("Stone and Ymir's Heart Piece.");
+ next();
select("I promise...");
- mes "[Ferlock]";
- mes "Alright, then. I expect you";
- mes "to keep your word. Now, you";
- mes "already know that the Airships";
- mes "are powered by Rune Stones, imitations of Ymir's Heart pieces.";
- next;
- mes "[Ferlock]";
- mes "Although Rune Stones are";
- mes "inferior to true Ymir Heart";
- mes "pieces, we can make as many";
- mes "as want. As for true Ymir Heart";
- mes "Pieces, they're difficult to find or effectively reproduce.";
- next;
- mes "[Ferlock]";
- mes "You may have already";
- mes "figured this out, but all";
- mes "Rune Stones are produced";
- mes "in the Einbroch Laboratory";
- mes "for use in the Airships. So";
- mes "you see what's going on?";
- next;
+ mes("[Ferlock]");
+ mes("Alright, then. I expect you");
+ mes("to keep your word. Now, you");
+ mes("already know that the Airships");
+ mes("are powered by Rune Stones, imitations of Ymir's Heart pieces.");
+ next();
+ mes("[Ferlock]");
+ mes("Although Rune Stones are");
+ mes("inferior to true Ymir Heart");
+ mes("pieces, we can make as many");
+ mes("as want. As for true Ymir Heart");
+ mes("Pieces, they're difficult to find or effectively reproduce.");
+ next();
+ mes("[Ferlock]");
+ mes("You may have already");
+ mes("figured this out, but all");
+ mes("Rune Stones are produced");
+ mes("in the Einbroch Laboratory");
+ mes("for use in the Airships. So");
+ mes("you see what's going on?");
+ next();
select("Wait, what's the Varmunt Project?");
- mes "[Ferlock]";
- mes "The Varmunt Project is";
- mes "a continuation of one of";
- mes "the projects started by the";
- mes "great Sage, Varmunt. Even as";
- mes "a child, he was renown as an";
- mes "incredible genius, a prodigy.";
- next;
- mes "[Ferlock]";
- mes "However, no matter how";
- mes "much academic success he";
- mes "enjoyed--he even became a";
- mes "tenured professor at Juno";
- mes "University--Varmunt was never able to finance his own research.";
- next;
- mes "[Ferlock]";
- mes "Eventually, he accepted an";
- mes "offer from Rekenber Co. to";
- mes "develop an energy source in";
- mes "exchange for funding. The";
- mes "result of his work for them is the invention of the Rune Stone.";
- next;
- mes "[Ferlock]";
- mes "However, the public isn't";
- mes "supposed to know that Varmunt";
- mes "invented the Rune Stones. Now,";
- mes "Varmunt disappeared before he";
- mes "could perfect the Rune Stone";
- mes "creation process.";
- next;
- mes "[Ferlock]";
- mes "Therefore, the Rune Stones";
- mes "we have now are unstable and";
- mes "become useless after a while.";
- mes "The Varmunt Project aims to";
- mes "correct these flaws and perfect";
- mes "the Ymir Heart replication...";
- next;
- mes "[Ferlock]";
- mes "Er, anyway, that's why";
- mes "I was at the Einbroch";
- mes "Laboratory today. My Rune";
- mes "Stone was close to empty,";
- mes "so I went there to pick up";
- mes "a fully charged one.";
- next;
- mes "[Ferlock]";
- mes "^333333*Phew...*^000000";
- mes "Would you give me";
- mes "a moment to catch";
- mes "my breath before";
- mes "I continue? Yes,";
- mes "there's a little more...";
+ mes("[Ferlock]");
+ mes("The Varmunt Project is");
+ mes("a continuation of one of");
+ mes("the projects started by the");
+ mes("great Sage, Varmunt. Even as");
+ mes("a child, he was renown as an");
+ mes("incredible genius, a prodigy.");
+ next();
+ mes("[Ferlock]");
+ mes("However, no matter how");
+ mes("much academic success he");
+ mes("enjoyed--he even became a");
+ mes("tenured professor at Juno");
+ mes("University--Varmunt was never able to finance his own research.");
+ next();
+ mes("[Ferlock]");
+ mes("Eventually, he accepted an");
+ mes("offer from Rekenber Co. to");
+ mes("develop an energy source in");
+ mes("exchange for funding. The");
+ mes("result of his work for them is the invention of the Rune Stone.");
+ next();
+ mes("[Ferlock]");
+ mes("However, the public isn't");
+ mes("supposed to know that Varmunt");
+ mes("invented the Rune Stones. Now,");
+ mes("Varmunt disappeared before he");
+ mes("could perfect the Rune Stone");
+ mes("creation process.");
+ next();
+ mes("[Ferlock]");
+ mes("Therefore, the Rune Stones");
+ mes("we have now are unstable and");
+ mes("become useless after a while.");
+ mes("The Varmunt Project aims to");
+ mes("correct these flaws and perfect");
+ mes("the Ymir Heart replication...");
+ next();
+ mes("[Ferlock]");
+ mes("Er, anyway, that's why");
+ mes("I was at the Einbroch");
+ mes("Laboratory today. My Rune");
+ mes("Stone was close to empty,");
+ mes("so I went there to pick up");
+ mes("a fully charged one.");
+ next();
+ mes("[Ferlock]");
+ mes("^333333*Phew...*^000000");
+ mes("Would you give me");
+ mes("a moment to catch");
+ mes("my breath before");
+ mes("I continue? Yes,");
+ mes("there's a little more...");
lhz_heart = 12;
- close2;
- cutin "",255;
+ close2();
+ cutin("", 255);
end;
}
} else if (lght_air == 7 && lhz_heart == 12) {
- mes "[Ferlock]";
- mes "Now, "+strcharinfo(PC_NAME)+",";
- mes "you must be wondering";
- mes "why I'm telling you all";
- mes "this. I believe that some";
- mes "party wishes to steal the";
- mes "Rune Stones from the Airships.";
- next;
- mes "[Ferlock]";
- mes "Have you noticed the";
- mes "Gremlins and Beholders";
- mes "that attack my brother's";
- mes "ship? Believe it or not,";
- mes "Gremlins are usually just";
- mes "harmless and mischievous.";
- next;
- mes "[Ferlock]";
- mes "Gremlin wings also aren't";
- mes "naturally powerful enough to";
- mes "enable them to fly. However,";
- mes "if someone implants Wills of";
- mes "the Darkness into them, their";
- mes "powers increase exponentially.";
- next;
- mes "[Ferlock]";
- mes "Although Gremlins tend";
- mes "not to attack humans unless";
- mes "provoked, and that they tend";
- mes "to shy away from people, they";
- mes "are being controlled to steal";
- mes "our Airships' Rune Stones.";
- next;
- mes "[Ferlock]";
- mes "Whoever is controlling the";
- mes "Gremlins also sends those";
- mes "Beholder monsters in order";
- mes "to monitor their progress";
- mes "and observe our resistance.";
- next;
- mes "[Ferlock]";
- mes "My brother and I have been";
- mes "investigating this matter, but";
- mes "so far, we haven't learned very";
- mes "much. Now, my Airship only";
- mes "provides domestic flights";
- mes "and hasn't been attacked.";
- next;
- mes "[Ferlock]";
- mes "Now, my brother's Airship";
- mes "specializes in international";
- mes "flights and suffers from the";
- mes "Gremlin invasions, so we are";
- mes "guessing the attackers are from outside the Schwaltzvalt Republic.";
- next;
- mes "[Ferlock]";
- mes "In any case, that is all";
- mes "I really know. Please keep";
- mes "this information to yourself";
- mes "and let me know if you learn anything new about this situation.";
- next;
- mes "[Ferlock]";
- mes "If I manage to uncover";
- mes "anything about the ones";
- mes "that are using the Wills";
- mes "of Darkness to control the";
- mes "Gremlins and steal our Rune";
- mes "Stones, I'll let you know.";
- next;
- mes "[Ferlock]";
- mes "Who is sending these";
- mes "monsters to invade our";
- mes "Airships, and for what";
- mes "purpose do they want the";
- mes "Rune Stones? Hmm. Well, this";
- mes "is goodbye for now, adventurer.";
- close2;
- specialeffect2 EF_ABSORBSPIRITS;
- completequest 8043;
+ mes("[Ferlock]");
+ mesf("Now, %s,", strcharinfo(PC_NAME));
+ mes("you must be wondering");
+ mes("why I'm telling you all");
+ mes("this. I believe that some");
+ mes("party wishes to steal the");
+ mes("Rune Stones from the Airships.");
+ next();
+ mes("[Ferlock]");
+ mes("Have you noticed the");
+ mes("Gremlins and Beholders");
+ mes("that attack my brother's");
+ mes("ship? Believe it or not,");
+ mes("Gremlins are usually just");
+ mes("harmless and mischievous.");
+ next();
+ mes("[Ferlock]");
+ mes("Gremlin wings also aren't");
+ mes("naturally powerful enough to");
+ mes("enable them to fly. However,");
+ mes("if someone implants Wills of");
+ mes("the Darkness into them, their");
+ mes("powers increase exponentially.");
+ next();
+ mes("[Ferlock]");
+ mes("Although Gremlins tend");
+ mes("not to attack humans unless");
+ mes("provoked, and that they tend");
+ mes("to shy away from people, they");
+ mes("are being controlled to steal");
+ mes("our Airships' Rune Stones.");
+ next();
+ mes("[Ferlock]");
+ mes("Whoever is controlling the");
+ mes("Gremlins also sends those");
+ mes("Beholder monsters in order");
+ mes("to monitor their progress");
+ mes("and observe our resistance.");
+ next();
+ mes("[Ferlock]");
+ mes("My brother and I have been");
+ mes("investigating this matter, but");
+ mes("so far, we haven't learned very");
+ mes("much. Now, my Airship only");
+ mes("provides domestic flights");
+ mes("and hasn't been attacked.");
+ next();
+ mes("[Ferlock]");
+ mes("Now, my brother's Airship");
+ mes("specializes in international");
+ mes("flights and suffers from the");
+ mes("Gremlin invasions, so we are");
+ mes("guessing the attackers are from outside the Schwaltzvalt Republic.");
+ next();
+ mes("[Ferlock]");
+ mes("In any case, that is all");
+ mes("I really know. Please keep");
+ mes("this information to yourself");
+ mes("and let me know if you learn anything new about this situation.");
+ next();
+ mes("[Ferlock]");
+ mes("If I manage to uncover");
+ mes("anything about the ones");
+ mes("that are using the Wills");
+ mes("of Darkness to control the");
+ mes("Gremlins and steal our Rune");
+ mes("Stones, I'll let you know.");
+ next();
+ mes("[Ferlock]");
+ mes("Who is sending these");
+ mes("monsters to invade our");
+ mes("Airships, and for what");
+ mes("purpose do they want the");
+ mes("Rune Stones? Hmm. Well, this");
+ mes("is goodbye for now, adventurer.");
+ close2();
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
lhz_heart = 13;
+ completequest(8043);
if (RENEWAL_EXP)
- getexp 70000,40000;
+ getexp(70000, 40000);
else
- getexp 700000,400000;
- cutin "",255;
+ getexp(700000, 400000);
+ cutin("", 255);
end;
} else if (lght_air == 7 && lhz_heart == 13) {
- mes "[Ferlock]";
- mes "I'll be quite busy with my";
- mes "captaining duties and my";
- mes "private investigation of the";
- mes "attempted Rune Stone robberies.";
- mes "Hopefully, we'll be able to meet again later. For now, take care.";
- close2;
- cutin "",255;
+ mes("[Ferlock]");
+ mes("I'll be quite busy with my");
+ mes("captaining duties and my");
+ mes("private investigation of the");
+ mes("attempted Rune Stone robberies.");
+ mes("Hopefully, we'll be able to meet again later. For now, take care.");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Ferlock]";
- mes "Hey there, welcome";
- mes "aboard the Airship. I'm";
- mes "Ferlock, your captain";
- mes "on this flight. How can";
- mes "I be of service to you?";
- next;
+ mes("[Ferlock]");
+ mes("Hey there, welcome");
+ mes("aboard the Airship. I'm");
+ mes("Ferlock, your captain");
+ mes("on this flight. How can");
+ mes("I be of service to you?");
+ next();
if (lght_air == 2) {
- .@question2$ = "Give him Tarlock's Letter.";
- .@question3$ = "Cancel.";
+ .@question2$ = _("Give him Tarlock's Letter.");
+ .@question3$ = _("Cancel.");
} else if (lght_air == 3) {
- .@question2$ = "Here are the items I've found.";
- .@question3$ = "Cancel.";
+ .@question2$ = _("Here are the items I've found.");
+ .@question3$ = _("Cancel.");
} else {
- .@question2$ = "Cancel.";
+ .@question2$ = _("Cancel.");
}
- switch(select("How does this Airship fly?", .@question2$, .@question3$)) {
+ switch (select("How does this Airship fly?", .@question2$, .@question3$)) {
case 1:
- mes "[Ferlock]";
- mes "I'm sorry, but I can't";
- mes "give you that kind of";
- mes "classified information.";
- mes "It's too important to the";
- mes "security and safety of";
- mes "this Airship, you see.";
- close2;
- cutin "",255;
+ mes("[Ferlock]");
+ mes("I'm sorry, but I can't");
+ mes("give you that kind of");
+ mes("classified information.");
+ mes("It's too important to the");
+ mes("security and safety of");
+ mes("this Airship, you see.");
+ close2();
+ cutin("", 255);
end;
case 2:
if (lght_air == 2) {
- changequest 8032,8033;
lght_air = 3;
- mes "^3131FFYou give Captain Ferlock";
- mes "the letter that his brother";
- mes "Tarlock has written for him.^000000";
- next;
- mes "[Ferlock]";
- mes "Oh, this is from my";
- mes "brother? Hey, thanks so";
- mes "much for bringing this to";
- mes "me for him. Ah, give me";
- mes "a minute to read all of";
- mes "this, would you now?";
- next;
- mes "[Ferlock]";
- mes "...";
- mes "So that's what he's been";
- mes "up to. Huh. Hahaha! Oh, that's";
- mes "funny. Ah, it's always good to";
- mes "hear from Tarlock. Anyway,";
- mes "I'm sorry to make you wait.";
- next;
- mes "[Ferlock]";
- mes "Anyway, my brother wrote";
- mes "about the usual stuff, but";
- mes "he mentioned that he was";
- mes "hoping to finally return a few";
- mes "things he borrowed from me.";
- mes "However, he lost them...";
- next;
- mes "[Ferlock]";
- mes "It turns that those nasty";
- mes "gremlins that sometimes";
- mes "attack his ship stole my";
- mes "things, so was he actually";
- mes "hoping that you would";
- mes "help me get them back.";
- next;
- mes "[Ferlock]";
- mes "Yeah, yeah. He specifically";
- mes "mentioned that I shouldn't";
- mes "give you my reply until you";
- mes "hunt those monsters and get";
- mes "my stuff back. I'm sorry, but";
- mes "I guess you owe big bro, huh?";
- next;
- mes "[Ferlock]";
- mes "Well, if you're willing to";
- mes "help me, would you get my";
- mes "^ff00002 Will of the Darkness^000000 and";
- mes "^ff00002 Prickly Fruit^000000 back for me?";
- next;
- mes "[Ferlock]";
- mes "The monsters that attack";
- mes "Tarlock's Airship should";
- mes "have them. I'd appreciate";
- mes "it if you'd help me out on";
- mes "this, adventurer. Thanks";
- mes "in advance and good luck~";
- close2;
- cutin "",255;
+ changequest(8032, 8033);
+ mes("^3131FFYou give Captain Ferlock");
+ mes("the letter that his brother");
+ mes("Tarlock has written for him.^000000");
+ next();
+ mes("[Ferlock]");
+ mes("Oh, this is from my");
+ mes("brother? Hey, thanks so");
+ mes("much for bringing this to");
+ mes("me for him. Ah, give me");
+ mes("a minute to read all of");
+ mes("this, would you now?");
+ next();
+ mes("[Ferlock]");
+ mes("...");
+ mes("So that's what he's been");
+ mes("up to. Huh. Hahaha! Oh, that's");
+ mes("funny. Ah, it's always good to");
+ mes("hear from Tarlock. Anyway,");
+ mes("I'm sorry to make you wait.");
+ next();
+ mes("[Ferlock]");
+ mes("Anyway, my brother wrote");
+ mes("about the usual stuff, but");
+ mes("he mentioned that he was");
+ mes("hoping to finally return a few");
+ mes("things he borrowed from me.");
+ mes("However, he lost them...");
+ next();
+ mes("[Ferlock]");
+ mes("It turns that those nasty");
+ mes("gremlins that sometimes");
+ mes("attack his ship stole my");
+ mes("things, so was he actually");
+ mes("hoping that you would");
+ mes("help me get them back.");
+ next();
+ mes("[Ferlock]");
+ mes("Yeah, yeah. He specifically");
+ mes("mentioned that I shouldn't");
+ mes("give you my reply until you");
+ mes("hunt those monsters and get");
+ mes("my stuff back. I'm sorry, but");
+ mes("I guess you owe big bro, huh?");
+ next();
+ mes("[Ferlock]");
+ mes("Well, if you're willing to");
+ mes("help me, would you get my");
+ mes("^ff00002 Will of the Darkness^000000 and");
+ mes("^ff00002 Prickly Fruit^000000 back for me?");
+ next();
+ mes("[Ferlock]");
+ mes("The monsters that attack");
+ mes("Tarlock's Airship should");
+ mes("have them. I'd appreciate");
+ mes("it if you'd help me out on");
+ mes("this, adventurer. Thanks");
+ mes("in advance and good luck~");
+ close2();
+ cutin("", 255);
end;
} else if (lght_air == 3) {
if (countitem(Will_Of_Darkness) >= 2 && countitem(Prickly_Fruit) >= 2) {
- delitem 7340, 2;
- delitem 576, 2;
- changequest 8033,8034;
+ delitem(Will_Of_Darkness, 2);
+ delitem(Prickly_Fruit, 2);
lght_air = 4;
- mes "[Ferlock]";
- mes "You brought the items!";
- mes "Thank you very much.";
- mes "Here, take this letter";
- mes "to my brother and give it";
- mes "to him.";
- next;
- mes "^3131ffYou received a letter from the Captain.^000000";
- next;
- mes "[Ferlock]";
- mes "Please give the best regards";
- mes "to my big brother.";
- mes "Well then, good bye.";
- close2;
- cutin "",255;
+ changequest(8033, 8034);
+ mes("[Ferlock]");
+ mes("Oh this is great! Finally,");
+ mes("I have my stuff back! Still,");
+ mes("I have no idea why Tarlock");
+ mes("wanted these things to begin");
+ mes("with. Oh well. Would you please take this reply to Tarlock for me?");
+ next();
+ mes("[Ferlock]");
+ mes("Thanks again");
+ mes("for all of your help!");
+ mes("I don't think I'd ever");
+ mes("see these things again");
+ mes("if it weren't for you~");
+ next();
+ mes("^3355FFYou have received");
+ mes("Captain Ferlock's letter");
+ mes("to deliver to his elder");
+ mes("brother, Captain Tarlock.^000000");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Ferlock]";
- mes "Oh, I'm sorry, but it looks";
- mes "like you're missing something.";
- mes "Would you please go and find";
- mes "^ff00002 Will of the Darkness^000000 and";
- mes "^ff00002 Prickly Fruit^000000? Thanks,";
- mes "brave adventurer~";
- close2;
- cutin "",255;
+ mes("[Ferlock]");
+ mes("Oh, I'm sorry, but it looks");
+ mes("like you're missing something.");
+ mes("Would you please go and find");
+ mes("^ff00002 Will of the Darkness^000000 and");
+ mes("^ff00002 Prickly Fruit^000000? Thanks,");
+ mes("brave adventurer~");
+ close2();
+ cutin("", 255);
end;
}
- mes "[Ferlock]";
- mes "Well, I hope that";
- mes "you enjoy your time";
- mes "here on the Airship";
- mes "and that you have a";
- mes "very pleasant journey.";
- close2;
- cutin "",255;
+ mes("[Ferlock]");
+ mes("Well, I hope that");
+ mes("you enjoy your time");
+ mes("here on the Airship");
+ mes("and that you have a");
+ mes("very pleasant journey.");
+ close2();
+ cutin("", 255);
end;
case 3:
- mes "[Ferlock]";
- mes "Well, I hope that";
- mes "you enjoy your time";
- mes "here on the Airship";
- mes "and that you have a";
- mes "very pleasant journey.";
- close2;
- cutin "",255;
+ mes("[Ferlock]");
+ mes("Well, I hope that");
+ mes("you enjoy your time");
+ mes("here on the Airship");
+ mes("and that you have a");
+ mes("very pleasant journey.");
+ close2();
+ cutin("", 255);
end;
}
}
//== Heart Fragment Quest :: lght_ymir =====================
-airplane,236,63,4 script Hallen 4_M_KID1,{
+airplane,236,63,4 script Hallen#yusa 4_M_KID1,{
if (hg_ma1 == 3) {
- mes "[Hallen]";
- mes "Sha Sha~ ";
- next;
- mes "[Hallen]";
- mes "Just let me handle this! Hehe. ";
- next;
- select("Ask whether he knows Thierry");
- mes "[Hallen]";
- mes "Hmm?! Thierry?! I'm not sure. Why don't you ask the crew of the airship.";
- mes "Kaci might know this person.";
- close;
+ mes("[Hallen]");
+ mes("If you need me to");
+ mes("do anything, just");
+ mes("give me a holler.");
+ mes("Bweh heh... hollah~");
+ next();
+ select("Hey, do you know a guy named Thierry?");
+ mes("[Hallen]");
+ mes("Thierry? Um...I don't think so. Why don't you go ask Kaci? She might know.");
+ close();
}
if (BaseLevel < 60) {
- mes "[Hallen]";
- mes "If you need me to";
- mes "do anything, just";
- mes "give me a holler.";
- mes "Bweh heh... hollah~";
- close;
+ mes("[Hallen]");
+ mes("If you need me to");
+ mes("do anything, just");
+ mes("give me a holler.");
+ mes("Bweh heh... hollah~");
+ close();
}
- if (!lhz_heart) {
- mes "[Hallen]";
- mes "Howdy, howdy~";
- mes "Welcome to the Airship.";
- next;
- switch(select("I'm not a passenger.", "Hey kid, what are you doing?")) {
+ if (lhz_heart == 0) {
+ mes("[Hallen]");
+ mes("Howdy, howdy~");
+ mes("Welcome to the Airship.");
+ next();
+ switch (select("I'm not a passenger.", "Hey kid, what are you doing?")) {
case 1:
- emotion e_what,0;
- mes "[Hallen]";
- mes "Does that mean you're";
- mes "one of the crewmen, then?";
- mes "I don't think we've met before,";
- mes "and I should be familiar with";
- mes "everyone working here by now...";
- next;
- emotion e_gasp,0;
- mes "[Hallen]";
- mes "Hey...!";
- mes "If you're on duty,";
- mes "shouldn't you be in";
- mes "uniform? I guess you";
- mes "don't work here after all!";
- mes "Heh, figured it out myself~";
- next;
- mes "[Hallen]";
- mes "Eh, I need to finish";
- mes "sweeping this deck. Then,";
- mes "on my break, I can play a";
- mes "little game for Apples with";
- mes "Kaci. That's how I roll, yo.";
- next;
+ emotion(e_what, false);
+ mes("[Hallen]");
+ mes("Does that mean you're");
+ mes("one of the crewmen, then?");
+ mes("I don't think we've met before,");
+ mes("and I should be familiar with");
+ mes("everyone working here by now...");
+ next();
+ emotion(e_gasp, false);
+ mes("[Hallen]");
+ mes("Hey...!");
+ mes("If you're on duty,");
+ mes("shouldn't you be in");
+ mes("uniform? I guess you");
+ mes("don't work here after all!");
+ mes("Heh, figured it out myself~");
+ next();
+ mes("[Hallen]");
+ mes("Eh, I need to finish");
+ mes("sweeping this deck. Then,");
+ mes("on my break, I can play a");
+ mes("little game for Apples with");
+ mes("Kaci. That's how I roll, yo.");
+ next();
break;
case 2:
- mes "[Hallen]";
- mes "Ummm... Isn't it obvious?";
- mes "I'm sweeping the deck. I'm";
- mes "the youngest crewman, so";
- mes "I get stuck with the lamest";
- mes "jobs. But once I'm done, it's";
- mes "Dice time with Kaci. Oh yeah~";
- next;
+ mes("[Hallen]");
+ mes("Ummm... Isn't it obvious?");
+ mes("I'm sweeping the deck. I'm");
+ mes("the youngest crewman, so");
+ mes("I get stuck with the lamest");
+ mes("jobs. But once I'm done, it's");
+ mes("Dice time with Kaci. Oh yeah~");
+ next();
break;
}
select("Kaci?");
- mes "[Hallen]";
- mes "Kaci... You know, the";
- mes "dealer of the Dice game?";
- mes "You should try it out: just";
- mes "roll some dice for a chance";
- mes "to win some Apples. Hey,";
- mes "you could get really lucky!";
- next;
- mes "[Hallen]";
- mes "Heh, there's one guy that";
- mes "won so many Apples from Kaci";
- mes "that he was able to become";
- mes "an Apple Merchant. Can you";
- mes "believe that? Yeah... Kaci";
- mes "doesn't like him so much...";
- close2;
+ mes("[Hallen]");
+ mes("Kaci... You know, the");
+ mes("dealer of the Dice game?");
+ mes("You should try it out: just");
+ mes("roll some dice for a chance");
+ mes("to win some Apples. Hey,");
+ mes("you could get really lucky!");
+ next();
+ mes("[Hallen]");
+ mes("Heh, there's one guy that");
+ mes("won so many Apples from Kaci");
+ mes("that he was able to become");
+ mes("an Apple Merchant. Can you");
+ mes("believe that? Yeah... Kaci");
+ mes("doesn't like him so much...");
+ close2();
lhz_heart = 1;
end;
} else if (lhz_heart == 1) {
- mes "[Hallen]";
- mes "Oh hey, it's you~";
- mes "We talked earlier,";
- mes "didn't we? Yeah...";
- mes "I'm still here sweeping";
- mes "this floor. It's gonna";
- mes "take quite a while.";
- next;
- emotion e_gasp,0;
- mes "[Hallen]";
- mes "It doesn't look like";
- mes "I'm gonna finish this";
- mes "anytime soon. Hey, do";
- mes "you think you could do";
- mes "me a favor since I can't";
- mes "really leave this joint?";
- next;
- switch(select("Sorry, but I'm busy...", "What is it?")) {
+ mes("[Hallen]");
+ mes("Oh hey, it's you~");
+ mes("We talked earlier,");
+ mes("didn't we? Yeah...");
+ mes("I'm still here sweeping");
+ mes("this floor. It's gonna");
+ mes("take quite a while.");
+ next();
+ emotion(e_gasp, false);
+ mes("[Hallen]");
+ mes("It doesn't look like");
+ mes("I'm gonna finish this");
+ mes("anytime soon. Hey, do");
+ mes("you think you could do");
+ mes("me a favor since I can't");
+ mes("really leave this joint?");
+ next();
+ switch (select("Sorry, but I'm busy...", "What is it?")) {
case 1:
- mes "[Hallen]";
- mes "Eh, alright. I guess";
- mes "I can understand. But";
- mes "still, I coulda made it";
- mes "worth your while, if you";
- mes "know what I mean~";
- close;
+ mes("[Hallen]");
+ mes("Eh, alright. I guess");
+ mes("I can understand. But");
+ mes("still, I coulda made it");
+ mes("worth your while, if you");
+ mes("know what I mean~");
+ close();
case 2:
- mes "[Hallen]";
- mes "Don't worry, it's not much";
- mes "work. I'm supposed to deliver";
- mes "letters from Juno Airport to";
- mes "the other crewmen, but I don't";
- mes "got the time. Now, I have";
- mes "this letter for Kaci here...";
- next;
- mes "[Hallen]";
- mes "Would you go and";
- mes "deliver this letter";
- mes "to her for me? It's";
- mes "from some guy named";
- mes "Mr. Mawong, her mentor";
- mes "or something like that.";
- next;
- mes "^3355FFHallen gave you";
- mes "Mawong's letter to";
- mes "be delivered to Kaci.^000000";
- setquest 8036;
+ mes("[Hallen]");
+ mes("Don't worry, it's not much");
+ mes("work. I'm supposed to deliver");
+ mes("letters from Juno Airport to");
+ mes("the other crewmen, but I don't");
+ mes("got the time. Now, I have");
+ mes("this letter for Kaci here...");
+ next();
+ mes("[Hallen]");
+ mes("Would you go and");
+ mes("deliver this letter");
+ mes("to her for me? It's");
+ mes("from some guy named");
+ mes("Mr. Mawong, her mentor");
+ mes("or something like that.");
+ next();
+ mes("^3355FFHallen gave you");
+ mes("Mawong's letter to");
+ mes("be delivered to Kaci.^000000");
lhz_heart = 2;
- next;
- mes "[Hallen]";
- mes "Hey, thanks a lot, pal~";
- mes "You can find Kaci hosting";
- mes "the Dice game in the Airship.";
- close;
+ setquest(8036);
+ next();
+ mes("[Hallen]");
+ mes("Hey, thanks a lot, pal~");
+ mes("You can find Kaci hosting");
+ mes("the Dice game in the Airship.");
+ close();
}
} else if (lhz_heart == 2) {
- mes "[Hallen]";
- mes "^333333*Sigh...*^000000";
- mes "I'm so sick and";
- mes "tired of sweeping.";
- mes "It's like I'm some";
- mes "kinda lame cabin boy.";
- mes "But... I guess I am!";
- next;
- mes "[Hallen]";
- mes "Oh hey, were you";
- mes "able to give that";
- mes "letter to Kaci yet?";
- mes "I think it's pretty";
- mes "important, so try not";
- mes "to take too long, okay?";
- close;
+ mes("[Hallen]");
+ mes("^333333*Sigh...*^000000");
+ mes("I'm so sick and");
+ mes("tired of sweeping.");
+ mes("It's like I'm some");
+ mes("kinda lame cabin boy.");
+ mes("But... I guess I am!");
+ next();
+ mes("[Hallen]");
+ mes("Oh hey, were you");
+ mes("able to give that");
+ mes("letter to Kaci yet?");
+ mes("I think it's pretty");
+ mes("important, so try not");
+ mes("to take too long, okay?");
+ close();
} else if (lhz_heart == 3) {
- mes "[Hallen]";
- mes "^333333*Sigh...*^000000";
- mes "I'm so sick and";
- mes "tired of sweeping.";
- mes "It's like I'm some";
- mes "kinda lame cabin boy.";
- mes "But... I guess I am!";
- close;
+ mes("[Hallen]");
+ mes("^333333*Sigh...*^000000");
+ mes("I'm so sick and");
+ mes("tired of sweeping.");
+ mes("It's like I'm some");
+ mes("kinda lame cabin boy.");
+ mes("But... I guess I am!");
+ close();
} else if (lhz_heart == 4) {
- mes "[Hallen]";
- mes "Hey, thanks for delivering";
- mes "that letter to Kaci for me.";
- mes "She wasn't too happy that";
- mes "I asked a passenger to do";
- mes "it, but she understood that";
- mes "I'm totally swamped with work.";
- next;
- mes "[Hallen]";
- mes "Wouldn't you agree";
- mes "that people should";
- mes "help each other in";
- mes "times of crisis?";
- next;
- switch(select("Not at all. Every man for himself!", "Yes, I do.")) {
+ mes("[Hallen]");
+ mes("Hey, thanks for delivering");
+ mes("that letter to Kaci for me.");
+ mes("She wasn't too happy that");
+ mes("I asked a passenger to do");
+ mes("it, but she understood that");
+ mes("I'm totally swamped with work.");
+ next();
+ mes("[Hallen]");
+ mes("Wouldn't you agree");
+ mes("that people should");
+ mes("help each other in");
+ mes("times of crisis?");
+ next();
+ switch (select("Not at all. Every man for himself!", "Yes, I do.")) {
case 1:
- mes "[Hallen]";
- mes "Wh-what...?";
- mes "I can't think";
- mes "that you really";
- mes "believe that...";
+ mes("[Hallen]");
+ mes("Wh-what...?");
+ mes("I can't think");
+ mes("that you really");
+ mes("believe that...");
lhz_heart = 5;
- close;
+ changequest(8038, 8039);
+ close();
case 2:
- mes "[Hallen]";
- mes "Aww, really?";
- mes "I knew that you'd";
- mes "feel the same way";
- mes "I do. You and me, we're";
- mes "on the same wavelength~";
- next;
- if (checkweight(Red_Potion,1) != 1) {
- mes "[Hallen]";
- mes "Oh... Hey, I was";
- mes "going to give you";
- mes "a little something,";
- mes "but you're carrying";
- mes "too much stuff right now...";
- close;
+ mes("[Hallen]");
+ mes("Aww, really?");
+ mes("I knew that you'd");
+ mes("feel the same way");
+ mes("I do. You and me, we're");
+ mes("on the same wavelength~");
+ next();
+ if (checkweight(Red_Potion, 1) == 0 || MaxWeight - Weight < 70) {
+ mes("[Hallen]");
+ mes("Oh... Hey, I was");
+ mes("going to give you");
+ mes("a little something,");
+ mes("but you're carrying");
+ mes("too much stuff right now...");
+ close();
}
lhz_heart = 5;
- getitem 501,1;
- mes "[Hallen]";
- mes "I know this isn't";
- mes "much, but I'd like you";
- mes "to have it. Besides, you";
- mes "never know what'll come in";
- mes "handy during an emergency.";
- mes "Alright then, see you later~";
- close;
+ getitem(Red_Potion, 1);
+ mes("[Hallen]");
+ mes("I know this isn't");
+ mes("much, but I'd like you");
+ mes("to have it. Besides, you");
+ mes("never know what'll come in");
+ mes("handy during an emergency.");
+ mes("Alright then, see you later~");
+ close();
}
} else if (lhz_heart == 5) {
- mes "[Hallen]";
- mes "Hey, hey~ How's it going?";
- mes "I know, I know, I'm supposed";
- mes "to be sweeping, and I'm not";
- mes "finished yet, but sometimes,";
- mes "you know, you just have to";
- mes "rest and take a break, yeah?";
- next;
- mes "[Hallen]";
- mes "Ahh, busy days like these";
- mes "remind me of working back";
- mes "home in Juno with my neighbor,";
- mes "Gyver. He's a genius inventor,";
- mes "you know, and sort of like";
- mes "a hero or role model to me.";
- next;
- mes "[Hallen]";
- mes "Guyver is so brilliant,";
- mes "he can pretty much make";
- mes "anything he wants. Someday,";
- mes "I want to reach his level, and";
- mes "create things that will help";
- mes "people and make them happy.";
- next;
- mes "[Hallen]";
- mes "That's pretty much my";
- mes "life ambition-- you know,";
- mes "the kind of thing I want to";
- mes "contribute to the world. Of";
- mes "course, I doubt I can compare";
- mes "to the great Sage Varmunt.";
- next;
+ mes("[Hallen]");
+ mes("Hey, hey~ How's it going?");
+ mes("I know, I know, I'm supposed");
+ mes("to be sweeping, and I'm not");
+ mes("finished yet, but sometimes,");
+ mes("you know, you just have to");
+ mes("rest and take a break, yeah?");
+ next();
+ mes("[Hallen]");
+ mes("Ahh, busy days like these");
+ mes("remind me of working back");
+ mes("home in Juno with my neighbor,");
+ mes("Gyver. He's a genius inventor,");
+ mes("you know, and sort of like");
+ mes("a hero or role model to me.");
+ next();
+ mes("[Hallen]");
+ mes("Guyver is so brilliant,");
+ mes("he can pretty much make");
+ mes("anything he wants. Someday,");
+ mes("I want to reach his level, and");
+ mes("create things that will help");
+ mes("people and make them happy.");
+ next();
+ mes("[Hallen]");
+ mes("That's pretty much my");
+ mes("life ambition-- you know,");
+ mes("the kind of thing I want to");
+ mes("contribute to the world. Of");
+ mes("course, I doubt I can compare");
+ mes("to the great Sage Varmunt.");
+ next();
select("Sage Varmunt?");
- mes "[Hallen]";
- mes "Yeah, Varmunt... He's like";
- mes "one of the greatest Sages in";
- mes "history. Well, nobody know too";
- mes "much about him, but 300 years";
- mes "ago, he was responsible for most ground breaking accomplishments.";
- next;
- mes "[Hallen]";
- mes "Supposedly, he single handedly";
- mes "revolutionized science. Many of";
- mes "the machines that are convenient to life today are his inventions.";
- mes "Sadly, he disappeared from history and no one know how he vanished.";
- next;
- mes "[Hallen]";
- mes "The great Sage Varmunt...";
- mes "It's a pretty well known";
- mes "legend in the Schwaltzvalt";
- mes "Republic. Anyway, for my";
- mes "project, I wanted to learn";
- mes "more about these Airships.";
- next;
- mes "[Hallen]";
- mes "These Airships are so huge";
- mes "and heavy, and I can scarcely";
- mes "believe that they can fly. How";
- mes "is it even possible? Well, if";
- mes "you could find out for me, ";
- mes "it'd be a really big help.";
- changequest 8038,8039;
+ mes("[Hallen]");
+ mes("Yeah, Varmunt... He's like");
+ mes("one of the greatest Sages in");
+ mes("history. Well, nobody know too");
+ mes("much about him, but 300 years");
+ mes("ago, he was responsible for most ground breaking accomplishments.");
+ next();
+ mes("[Hallen]");
+ mes("Supposedly, he single handedly");
+ mes("revolutionized science. Many of");
+ mes("the machines that are convenient to life today are his inventions.");
+ mes("Sadly, he disappeared from history and no one know how he vanished.");
+ next();
+ mes("[Hallen]");
+ mes("The great Sage Varmunt...");
+ mes("It's a pretty well known");
+ mes("legend in the Schwaltzvalt");
+ mes("Republic. Anyway, for my");
+ mes("project, I wanted to learn");
+ mes("more about these Airships.");
+ next();
+ mes("[Hallen]");
+ mes("These Airships are so huge");
+ mes("and heavy, and I can scarcely");
+ mes("believe that they can fly. How");
+ mes("is it even possible? Well, if");
+ mes("you could find out for me, ");
+ mes("it'd be a really big help.");
lhz_heart = 6;
- close;
+ changequest(8038, 8039);
+ close();
} else if (lhz_heart == 6) {
- mes "[Hallen]";
- mes "Hey, have you learned";
- mes "what makes such a big,";
- mes "heavy Airship like this fly";
- mes "for so long in the sky?";
- next;
+ mes("[Hallen]");
+ mes("Hey, have you learned");
+ mes("what makes such a big,");
+ mes("heavy Airship like this fly");
+ mes("for so long in the sky?");
+ next();
if (lght_air == 7) {
select("Umm, yeah, kind of.");
- mes "[Hallen]";
- mes "Really...?";
- mes "Are you serious?";
- mes "So what's the secret?";
- mes "Tell me, I'm dying to know!";
- next;
- mes "^3355FFYou tell Hallen everything";
- mes "that you've learned from";
- mes "Captain Tarlock, but you're";
- mes "careful not to make any";
- mes "mention of Ymir's Heart Piece.^000000";
- next;
- mes "[Hallen]";
- mes "So... The propellers are";
- mes "powered through steam?";
- mes "That doesn't make sense.";
- mes "No way, it can't be that simple. Besides, steam has its limits.";
- mes "Are you sure that's everything?";
- next;
+ mes("[Hallen]");
+ mes("Really...?");
+ mes("Are you serious?");
+ mes("So what's the secret?");
+ mes("Tell me, I'm dying to know!");
+ next();
+ mes("^3355FFYou tell Hallen everything");
+ mes("that you've learned from");
+ mes("Captain Tarlock, but you're");
+ mes("careful not to make any");
+ mes("mention of Ymir's Heart Piece.^000000");
+ next();
+ mes("[Hallen]");
+ mes("So... The propellers are");
+ mes("powered through steam?");
+ mes("That doesn't make sense.");
+ mes("No way, it can't be that simple. Besides, steam has its limits.");
+ mes("Are you sure that's everything?");
+ next();
select("Actually, there's another power source.");
- mes "^3355FFYou reveal what you";
- mes "learn about the Rune Stone,";
- mes "an imitation of Ymir's Heart";
- mes "Piece: Hallen is a well meaning";
- mes "kid who probably won't use this";
- mes "knowledge for evil purposes.";
- next;
- mes "[Hallen]";
- mes "A-awesome! So there is";
- mes "some special magic power";
- mes "source that helps this Airship";
- mes "fly! I knew it! Now, what was";
- mes "it called again? Ah, the";
- mes "Rune Stone, right?";
- next;
- mes "[Hallen]";
- mes "An imitation of Ymir's";
- mes "Heart Piece. Now where";
- mes "have I heard about that";
- mes "before? Mm, let me think...";
- changequest 8039,8040;
+ mes("^3355FFYou reveal what you");
+ mes("learn about the Rune Stone,");
+ mes("an imitation of Ymir's Heart");
+ mes("Piece: Hallen is a well meaning");
+ mes("kid who probably won't use this");
+ mes("knowledge for evil purposes.");
+ next();
+ mes("[Hallen]");
+ mes("A-awesome! So there is");
+ mes("some special magic power");
+ mes("source that helps this Airship");
+ mes("fly! I knew it! Now, what was");
+ mes("it called again? Ah, the");
+ mes("Rune Stone, right?");
+ next();
+ mes("[Hallen]");
+ mes("An imitation of Ymir's");
+ mes("Heart Piece. Now where");
+ mes("have I heard about that");
+ mes("before? Mm, let me think...");
lhz_heart = 7;
- close;
+ changequest(8039, 8040);
+ close();
} else {
select("Actually...");
- mes "[Hallen]";
- mes "You didn't learn anything";
- mes "about the Airship yet, huh?";
- mes "Maybe Captain Ferlock might";
- mes "know something, or any one";
- mes "of the other Airship captains.";
- mes "Hopefully, one will tell you...";
- next;
- mes "[Hallen]";
- mes "I know that the secrets of";
- mes "Airship flight is considered";
- mes "classified information, but if";
- mes "anyone can wrest those secrets,";
- mes "it'll be one of you adventurers. So please help me out here...";
- close;
+ mes("[Hallen]");
+ mes("You didn't learn anything");
+ mes("about the Airship yet, huh?");
+ mes("Maybe Captain Ferlock might");
+ mes("know something, or any one");
+ mes("of the other Airship captains.");
+ mes("Hopefully, one will tell you...");
+ next();
+ mes("[Hallen]");
+ mes("I know that the secrets of");
+ mes("Airship flight is considered");
+ mes("classified information, but if");
+ mes("anyone can wrest those secrets,");
+ mes("it'll be one of you adventurers. So please help me out here...");
+ close();
}
} else if (lhz_heart == 7) {
- mes "[Hallen]";
- mes "So the Rune Stone";
- mes "is an imitation of just";
- mes "a piece of Ymir's Heart.";
- mes "But where have I heard";
- mes "about that before...?";
- next;
- emotion e_gasp,0;
- mes "[Hallen]";
- mes "Oh, that's right!";
- mes "Kaci told me about a";
- mes "drunkard that always";
- mes "mentions Ymir's Heart";
- mes "when he plays the Dice";
- mes "game for Apples!";
- next;
+ mes("[Hallen]");
+ mes("So the Rune Stone");
+ mes("is an imitation of just");
+ mes("a piece of Ymir's Heart.");
+ mes("But where have I heard");
+ mes("about that before...?");
+ next();
+ emotion(e_gasp, false);
+ mes("[Hallen]");
+ mes("Oh, that's right!");
+ mes("Kaci told me about a");
+ mes("drunkard that always");
+ mes("mentions Ymir's Heart");
+ mes("when he plays the Dice");
+ mes("game for Apples!");
+ next();
if (Shinokas_Quest > 9) {
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "(^333333Wait, I met that guy when";
- mes "I was helping Shinokas. He";
- mes "was one of the directors of";
- mes "the Einbroch Laboratory that";
- mes "had a piece of Ymir's Heart.";
- mes "It's worth investigating...^000000)";
- next;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("(^333333Wait, I met that guy when");
+ mes("I was helping Shinokas. He");
+ mes("was one of the directors of");
+ mes("the Einbroch Laboratory that");
+ mes("had a piece of Ymir's Heart.");
+ mes("It's worth investigating...^000000)");
+ next();
+ }
+ mes("[Hallen]");
+ mes("Anyway, it's not much,");
+ mes("but let me give you a little");
+ mes("something for going through");
+ mes("the trouble of learning that");
+ mes("secret information for me...");
+ next();
+ if (checkweight(Red_Potion, 1) == 0 || MaxWeight - Weight < 70) {
+ mes("[Hallen]");
+ mes("Aw, nuts...");
+ mes("You don't have");
+ mes("enough room to");
+ mes("receive my little gift.");
+ mes("Please free up more space");
+ mes("in your inventory for me, okay?");
+ close();
}
- mes "[Hallen]";
- mes "Anyway, it's not much,";
- mes "but let me give you a little";
- mes "something for going through";
- mes "the trouble of learning that";
- mes "secret information for me...";
- next;
- if (checkweight(Red_Potion,1) != 1) {
- mes "[Hallen]";
- mes "Aw, nuts...";
- mes "You don't have";
- mes "enough room to";
- mes "receive my little gift.";
- mes "Please free up more space";
- mes "in your inventory for me, okay?";
- close;
+ if (Shinokas_Quest > 9) {
+ lhz_heart = 9;
+ changequest(8040, 8042);
+ } else {
+ lhz_heart = 8;
+ changequest(8040, 8041);
}
- if (Shinokas_Quest > 9) lhz_heart = 9;
- else lhz_heart = 8;
- changequest 8040,8041;
- getitem 501,1;
- mes "[Hallen]";
- mes "Here you go~";
- mes "I know it's pretty paltry";
- mes "compared to the rewards ";
- mes "you adventurers usually get,";
- mes "but hey... It's my thought that";
- mes "counts, right? See you later~";
- close;
+ getitem(Red_Potion, 1);
+ mes("[Hallen]");
+ mes("Here you go~");
+ mes("I know it's pretty paltry");
+ mes("compared to the rewards ");
+ mes("you adventurers usually get,");
+ mes("but hey... It's my thought that");
+ mes("counts, right? See you later~");
+ close();
} else if (lhz_heart == 8) {
- mes "[Hallen]";
- mes "Hey, why don't you";
- mes "ask Kaci about that";
- mes "drunkard that's always";
- mes "playing her Dice game?";
- mes "You might learn more about";
- mes "Ymir's Heart Piece, you know?";
- close;
+ mes("[Hallen]");
+ mes("Hey, why don't you");
+ mes("ask Kaci about that");
+ mes("drunkard that's always");
+ mes("playing her Dice game?");
+ mes("You might learn more about");
+ mes("Ymir's Heart Piece, you know?");
+ close();
} else {
- mes "[Hallen]";
- mes "Thanks for helping me";
- mes "out that last time. I guess";
- mes "learning about the Rune Stone";
- mes "kinda inspired me to build an";
- mes "Airship of my own someday...";
- close;
+ mes("[Hallen]");
+ mes("Thanks for helping me");
+ mes("out that last time. I guess");
+ mes("learning about the Rune Stone");
+ mes("kinda inspired me to build an");
+ mes("Airship of my own someday...");
+ close();
}
}
-airplane,33,69,4 script Kaci 1_F_MERCHANT_01,{
+airplane,33,69,4 script Kaci#airplane 1_F_MERCHANT_01,{
if (hg_ma1 == 3) {
- mes "[Kaci]";
- mes "Hello there. My name is Kaci. If you feel bored boarding the airship, why don't you play a game of dice with me.";
- next;
- select("Ask whether she knows Thierry");
- mes "[Kaci]";
- mes "Thierry ....That name sounds familiar...";
- next;
- mes "[Kaci]";
- mes "....................";
- mes ".............";
- mes ".......";
- mes "...";
- next;
- mes "[Kaci]";
- mes "Ahhh! Thierry Thierry Thierry !!";
- next;
- mes "^3355FFShe seems to recall something and starts to call out the name loudly.^000000";
- next;
- mes "[Kaci]";
- mes "Hahaha, I'm sorry about that. It has been a while since I last heard that name...";
- next;
- mes "[Kaci]";
- mes "He was the youngster who lived beside my master when I was learning how games work. I still remember that he is very bright and that he did different kinds of researches.";
- next;
- mes "[Kaci]";
- mes "I also recall that he likes the Euslan's sister who's being taught about the game by my master too. I wonder how the two of them are getting along nowadays.";
- next;
- mes "^3355FFI tell the girl that Euslan has engaged with Thierry and in order to cure Euslan, Thierry boarded an airship but his whereabouts is a mystery now.^000000";
- next;
- mes "[Kaci]";
- mes "Oh, how could Euslan fall sick? Oh...";
- next;
- mes "^3355FFKaci is so shocked to learn about Thierry that she loses herself in her thoughts for a while until regaining conciousness.^000000";
- next;
- mes "[Kaci]";
- mes "Honestly, I would like to help but I haven't heard anything new from them since we haven't seen eachother for such a long time.";
- next;
- mes "[Kaci]";
- mes "Isn't there any other way?";
- next;
- mes "[Kaci]";
- mes "Ah...! The captain might know something. He is the one who manages the list of the passengers.";
- next;
- mes "[Kaci]";
- mes "However, the passenger list cannot be shown to the public...";
- next;
- mes "[Kaci]";
- mes "However, I think the captain will be willing to help if you tell him the whole story. You should give it a try.";
- next;
- mes "[Kaci]";
- mes "As for Euslan, please tell her about me and let her know that I hope she gets well soon.";
- next;
- mes "^3355FFSince she's begging, I guess I should send her message.";
- changequest 8044,8045;
+ mes("[Kaci]");
+ mes("You must be sooo");
+ mes("bored, adventurer~");
+ mes("How would you like");
+ mes("to play a game of Dice?");
+ next();
+ select("Do you know a guy named Thierry?");
+ mes("[Kaci]");
+ mes("Thierry? Um...that sounds familiar...");
+ next();
+ mes("[Kaci]");
+ mes("....................");
+ mes(".............");
+ mes(".......");
+ mes("...");
+ next();
+ mes("[Kaci]");
+ mes("Oh, right! Thierry, Thierry, Thierry! Right?");
+ next();
+ mes("[Kaci]");
+ mes("- She suddenly called out the name several times, -");
+ mes("- so you were startled and dropped your half eaten apple. -");
+ next();
+ mes("[Kaci]");
+ mes("Oops, sorry, if I startled you. I could not remember the name because it has been a while since I heard of his name the last time.");
+ next();
+ mes("[Kaci]");
+ mes("Thierry was a guy living in the next door while I was learning games and tricks from Mr. Mawong.");
+ mes("I remember that he was a very smart guy and was doing many research stuffs.");
+ next();
+ mes("[Kaci]");
+ mes("Oh yeah, and he was in love with Eukran's sister.");
+ mes("And Eukran and I were studying games together under Mr. Mawong at that time.");
+ mes("Hmm...I wonder how they have been doing.");
+ next();
+ mes("- You told her that Euslan and Thierry got engaged, but Thierry had to leave her to find medicine for her illness. -");
+ next();
+ mes("[Kaci]");
+ mes("Oh...gosh...I can't believe that Euslan is has become ill....Oh......");
+ next();
+ mes("- Kaci seemed to be shocked by such devastating news. -");
+ mes("- She was mumbling something for a while, and then came back to her senses again. -");
+ next();
+ mes("[Kaci]");
+ mes("I am so sorry for her...I really want to give here some help...but, it has been a while for me since I saw them. So, I don't know where he is.");
+ next();
+ mes("[Kaci]");
+ mes("But, let me think if...");
+ next();
+ mes("[Kaci]");
+ mes("Oh, right! The airship captain might be able to help you, because he is the one who is in charge of the passenger list.");
+ next();
+ mes("[Kaci]");
+ mes("Although the passenger list is classified and strictly restricted from releasing to public...");
+ next();
+ mes("[Kaci]");
+ mes("But, if you tell him the story, he might be able to help you. Please go ask him if you can.");
+ next();
+ mes("[Kaci]");
+ mes("And if you see Euslan again, please send my regard and blessing to her.");
+ next();
+ mes("- You promised her to send her regards and blessings to Euslan. -");
hg_ma1 = 4;
- close;
+ changequest(8044, 8045);
+ close();
} else if (hg_ma1 == 4) {
- mes "[Kaci]";
- mes "You can ask the captain for the whereabouts of Thierry. I am sure that the captain will be willing to help if you tell him what happened.";
- close;
+ mes("[Kaci]");
+ mes("The airship captain might be able to help you in finding Thierry's whereabouts.");
+ close();
} else if (lhz_heart == 2) {
- mes "[Kaci]";
- mes "You must be sooo";
- mes "bored, adventurer~";
- mes "How would you like";
- mes "to play a game of Dice?";
- next;
+ mes("[Kaci]");
+ mes("You must be sooo");
+ mes("bored, adventurer~");
+ mes("How would you like");
+ mes("to play a game of Dice?");
+ next();
select("Give her the letter from Hallen.");
- mes "[Kaci]";
- mes "Oh, Hallen must have";
- mes "asked you to deliver this.";
- mes "He should be doing this sort";
- mes "of thing himself, instead of";
- mes "asking customers for favors!";
- mes "But still, he's really busy...";
- next;
- changequest 8036,8037;
+ mes("[Kaci]");
+ mes("Oh, Hallen must have");
+ mes("asked you to deliver this.");
+ mes("He should be doing this sort");
+ mes("of thing himself, instead of");
+ mes("asking customers for favors!");
+ mes("But still, he's really busy...");
+ next();
lhz_heart = 3;
- mes "[Kaci]";
- mes "Thank you for bringing";
- mes "this to me. If you ever";
- mes "need a little favor from";
- mes "me, feel free to ask me,";
- mes "alright? See you later~";
- close;
+ changequest(8036, 8037);
+ mes("[Kaci]");
+ mes("Thank you for bringing");
+ mes("this to me. If you ever");
+ mes("need a little favor from");
+ mes("me, feel free to ask me,");
+ mes("alright? See you later~");
+ close();
} else if (lhz_heart == 3) {
- mes "[Kaci]";
- mes "Oh, hello. Thanks for";
- mes "delivering that letter from";
- mes "Mr. Mawong to me, especially";
- mes "since Hallen was too busy to";
- mes "do it himself. Reading that";
- mes "letter really made my day~";
- next;
-L_Ask:
- switch(select("Ask about Hallen", "Ask about Mawong", "Ask about the Airship")) {
- case 1:
- .@mesa = 1;
- mes "[Kaci]";
- mes "Hallen? Well, he and I are";
- mes "pretty close. Did you know";
- mes "that we're cousins? In fact,";
- mes "his dad, my uncle, brought";
- mes "me as a child after my father";
- mes "passed away 20 years ago.";
- next;
- mes "[Kaci]";
- mes "There was some kind of";
- mes "mine explosion accident in";
- mes "Einbech. I don't remember.";
- mes "Anyway, me and Hallen are";
- mes "like sister and brother, and";
- mes "we always stick together.";
- next;
- mes "[Kaci]";
- mes "When Captain Ferlock saw me";
- mes "host a Dice game by coincidence";
- mes "and then hired me to work on his Airship, Hallen insisted on coming";
- mes "along. He's stubborn like that,";
- mes "but he's also very sweet.";
- next;
- break;
- case 2:
- .@mesb = 1;
- mes "[Kaci]";
- mes "Mr. Mawong? Oh, don't get";
- mes "the wrong idea! He's my";
- mes "mentor, the one who taught";
- mes "me how to play all of these";
- mes "wonderful games. He's pretty";
- mes "famous around Juno, you know.";
- next;
- mes "[Kaci]";
- mes "I used to be so depressed,";
- mes "not caring about the world";
- mes "at all, after my father died.";
- mes "Then, I ran into Mr. Mawong,";
- mes "and he taught me how to find";
- mes "the joy in life once again.";
- next;
- mes "[Kaci]";
- mes "Because of him, I decided";
- mes "to learn his games and to";
- mes "help people forget their";
- mes "worries and just enjoy";
- mes "themselves, even if it's";
- mes "just for a little while.";
- next;
- break;
- case 3:
- .@mesc = 1;
- mes "[Kaci]";
- mes "The Airship? It's so";
- mes "huge and beautiful, and";
- mes "I'm always amazed that it";
- mes "can fly so gracefully through";
- mes "the air. I've always wanted to live someplace close to the sky...";
- next;
- mes "[Kaci]";
- mes "A place where I can see";
- mes "the clouds and bask in the";
- mes "sun. So, when Captain Ferlock";
- mes "invited me to work here, it was";
- mes "like a dream come true~";
- next;
- break;
+ mes("[Kaci]");
+ mes("Oh, hello. Thanks for");
+ mes("delivering that letter from");
+ mes("Mr. Mawong to me, especially");
+ mes("since Hallen was too busy to");
+ mes("do it himself. Reading that");
+ mes("letter really made my day~");
+ next();
+ while (true) {
+ switch (select("Ask about Hallen", "Ask about Mawong", "Ask about the Airship")) {
+ case 1:
+ .@mesa = 1;
+ mes("[Kaci]");
+ mes("Hallen? Well, he and I are");
+ mes("pretty close. Did you know");
+ mes("that we're cousins? In fact,");
+ mes("his dad, my uncle, brought");
+ mes("me as a child after my father");
+ mes("passed away 20 years ago.");
+ next();
+ mes("[Kaci]");
+ mes("There was some kind of");
+ mes("mine explosion accident in");
+ mes("Einbech. I don't remember.");
+ mes("Anyway, me and Hallen are");
+ mes("like sister and brother, and");
+ mes("we always stick together.");
+ next();
+ mes("[Kaci]");
+ mes("When Captain Ferlock saw me");
+ mes("host a Dice game by coincidence");
+ mes("and then hired me to work on his Airship, Hallen insisted on coming");
+ mes("along. He's stubborn like that,");
+ mes("but he's also very sweet.");
+ next();
+ break;
+ case 2:
+ .@mesb = 1;
+ mes("[Kaci]");
+ mes("Mr. Mawong? Oh, don't get");
+ mes("the wrong idea! He's my");
+ mes("mentor, the one who taught");
+ mes("me how to play all of these");
+ mes("wonderful games. He's pretty");
+ mes("famous around Juno, you know.");
+ next();
+ mes("[Kaci]");
+ mes("I used to be so depressed,");
+ mes("not caring about the world");
+ mes("at all, after my father died.");
+ mes("Then, I ran into Mr. Mawong,");
+ mes("and he taught me how to find");
+ mes("the joy in life once again.");
+ next();
+ mes("[Kaci]");
+ mes("Because of him, I decided");
+ mes("to learn his games and to");
+ mes("help people forget their");
+ mes("worries and just enjoy");
+ mes("themselves, even if it's");
+ mes("just for a little while.");
+ next();
+ break;
+ case 3:
+ .@mesc = 1;
+ mes("[Kaci]");
+ mes("The Airship? It's so");
+ mes("huge and beautiful, and");
+ mes("I'm always amazed that it");
+ mes("can fly so gracefully through");
+ mes("the air. I've always wanted to live someplace close to the sky...");
+ next();
+ mes("[Kaci]");
+ mes("A place where I can see");
+ mes("the clouds and bask in the");
+ mes("sun. So, when Captain Ferlock");
+ mes("invited me to work here, it was");
+ mes("like a dream come true~");
+ next();
+ break;
+ }
+ mes("[Kaci]");
+ mes("Please don't hesitate");
+ mes("to ask me anything if");
+ mes("you need a small favor,");
+ mes("or if you're just curious");
+ mes("about me in general~");
+ next();
+ if (.@mesa && .@mesb && .@mesc)
+ break;
}
- mes "[Kaci]";
- mes "Please don't hesitate";
- mes "to ask me anything if";
- mes "you need a small favor,";
- mes "or if you're just curious";
- mes "about me in general~";
- next;
- if (!.@mesa || !.@mesb || !.@mesc) goto L_Ask;
- mes "[Kaci]";
- mes "By the way, if Hallen";
- mes "bothers you with another";
- mes "request, please refuse to";
- mes "help him next time, okay?";
- mes "I won't allow him to get";
- mes "spoiled! Ho ho ho ho~";
- next;
- mes "[Kaci]";
- mes "Well, I better get";
- mes "back to work now.";
- mes "Have a nice day,";
- mes "and I'll see you later~";
- changequest 8037,8038;
+ mes("[Kaci]");
+ mes("By the way, if Hallen");
+ mes("bothers you with another");
+ mes("request, please refuse to");
+ mes("help him next time, okay?");
+ mes("I won't allow him to get");
+ mes("spoiled! Ho ho ho ho~");
+ next();
+ mes("[Kaci]");
+ mes("Well, I better get");
+ mes("back to work now.");
+ mes("Have a nice day,");
+ mes("and I'll see you later~");
+ changequest(8037, 8038);
lhz_heart = 4;
- close;
+ close();
} else if (lhz_heart == 8) {
- mes "[Kaci]";
- mes "Hello, "+strcharinfo(PC_NAME)+".";
- mes "It's nice to see you again.";
- mes "So is there anything I can";
- mes "help you with today?";
- next;
+ mes("[Kaci]");
+ mesf("Hello, %s.", strcharinfo(PC_NAME));
+ mes("It's nice to see you again.");
+ mes("So is there anything I can");
+ mes("help you with today?");
+ next();
select("Who's that drunk over there?");
- mes "[Kaci]";
- mes "Oh, him? He's one of my";
- mes "regulars, some guy who's";
- mes "supposed to be an Einbroch";
- mes "Lab Director. He keeps losing";
- mes "Apples whenever he plays Dice:";
- mes "I think he's a gambling addict~";
- next;
- mes "[Kaci]";
- mes "In fact, his losses make up";
- mes "for all the Apples I lost when";
- mes "that Apple Merchant played here. Now, it's a legendary tale that";
- mes "we all think fondly of, but at";
- mes "the time, it nearly broke me.";
- next;
- mes "[Kaci]";
- mes "Anyway, aside from the fact";
- mes "that the Einbroch Lab Director";
- mes "is kind of a whiny person when";
- mes "he's drunk, and a poor gambler,";
- mes "I don't know much about him.";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "(^333333Einbroch Laboratory...";
- mes "It's so suspicious. That";
- mes "director knows about Ymir's";
- mes "Heart Piece, so they must be";
- mes "keeping something really";
- mes "important over there.^000000)";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "(^333333I better investigate";
- mes "that laboratory in Einbroch";
- mes "as soon as I can, even if it's";
- mes "a heavily restricted area.^000000)";
- changequest 8041,8042;
+ mes("[Kaci]");
+ mes("Oh, him? He's one of my");
+ mes("regulars, some guy who's");
+ mes("supposed to be an Einbroch");
+ mes("Lab Director. He keeps losing");
+ mes("Apples whenever he plays Dice:");
+ mes("I think he's a gambling addict~");
+ next();
+ mes("[Kaci]");
+ mes("In fact, his losses make up");
+ mes("for all the Apples I lost when");
+ mes("that Apple Merchant played here. Now, it's a legendary tale that");
+ mes("we all think fondly of, but at");
+ mes("the time, it nearly broke me.");
+ next();
+ mes("[Kaci]");
+ mes("Anyway, aside from the fact");
+ mes("that the Einbroch Lab Director");
+ mes("is kind of a whiny person when");
+ mes("he's drunk, and a poor gambler,");
+ mes("I don't know much about him.");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("(^333333Einbroch Laboratory...");
+ mes("It's so suspicious. That");
+ mes("director knows about Ymir's");
+ mes("Heart Piece, so they must be");
+ mes("keeping something really");
+ mes("important over there.^000000)");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("(^333333I better investigate");
+ mes("that laboratory in Einbroch");
+ mes("as soon as I can, even if it's");
+ mes("a heavily restricted area.^000000)");
lhz_heart = 9;
- close;
+ changequest(8041, 8042);
+ close();
}
- mes "[Kaci]";
- mes "You must be sooo";
- mes "bored, adventurer~";
- mes "How would you like";
- mes "to play a game of Dice?";
- next;
- callfunc "applegamble","Kaci";
+ mes("[Kaci]");
+ mes("You must be sooo");
+ mes("bored, adventurer~");
+ mes("How would you like");
+ mes("to play a game of Dice?");
+ next();
+ callfunc("applegamble", "Kaci");
end;
}
-ein_in01,279,25,0 script #lab01_heart HIDDEN_WARP_NPC,1,1,{
+ein_in01,279,25,0 script #lab01_yusa HIDDEN_WARP_NPC,1,1,{
end;
OnTouch:
- if (lhz_heart == 9)
- {
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "(^333333I've... I've just";
- mes "got to investigate";
- mes "that laboratory and";
- mes "see if anything funny";
- mes "is going on in there.^000000)";
- close;
+ if (lhz_heart == 9) {
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("(^333333I've... I've just");
+ mes("got to investigate");
+ mes("that laboratory and");
+ mes("see if anything funny");
+ mes("is going on in there.^000000)");
+ close();
}
}
-ein_in01,264,17,0 script #lab02_heart HIDDEN_WARP_NPC,1,1,{
+ein_in01,264,17,0 script #lab02_yusa HIDDEN_WARP_NPC,1,1,{
end;
OnTouch:
- if (lhz_heart == 9)
- {
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "What the...";
- mes "It's some sort of";
- mes "weird device. The label";
- mes "here says, ''Password";
- mes "Checker?'' Well, this";
- mes "might come in handy later.";
- next;
- mes "^3355FFYou decide to bring";
- mes "the Password Checker";
- mes "device with you into";
- mes "the laboratory.^000000";
+ if (lhz_heart == 9) {
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("What the...");
+ mes("It's some sort of");
+ mes("weird device. The label");
+ mes("here says, ''Password");
+ mes("Checker?'' Well, this");
+ mes("might come in handy later.");
+ next();
+ mes("^3355FFYou decide to bring");
+ mes("the Password Checker");
+ mes("device with you into");
+ mes("the laboratory.^000000");
lhz_heart = 10;
- close;
+ close();
}
}
@@ -3026,68 +3487,67 @@ ein_in01,263,35,3 script Ferlock#lab 4_M_REINDEER,{
end;
OnInit:
- disablenpc "Ferlock#lab";
- stopnpctimer;
+ disablenpc("Ferlock#lab");
+ stopnpctimer();
end;
OnEnter:
- enablenpc "Ferlock#lab";
- initnpctimer;
+ enablenpc("Ferlock#lab");
+ initnpctimer();
end;
OnTimer120000:
- donpcevent "Ferlock#lab::OnInit";
+ donpcevent("Ferlock#lab::OnInit");
end;
}
-ein_in01,261,35,0 script lab03#heart HIDDEN_WARP_NPC,1,1,{
+ein_in01,261,35,0 script lab03_yusa HIDDEN_WARP_NPC,1,1,{
end;
OnTouch:
if (lhz_heart == 9) {
- mes "[Security System]";
- mes "^FF0000Unauthorized person";
- mes "detected. Password";
- mes "Checker not detected.";
- mes "Access denied.^000000";
- close;
+ mes("[Security System]");
+ mes("^FF0000Unauthorized person");
+ mes("detected. Password");
+ mes("Checker not detected.");
+ mes("Access denied.^000000");
+ close();
} else if (lhz_heart == 10) {
- mes "[Security System]";
- mes "^FF0000Enter the 3 digit password.";
- mes "You will be allowed 5 tries";
- mes "within 3 minutes to enter";
- mes "the correct password, or";
- mes "the password will reset.^000000";
- next;
- mes "[Password Checker]";
- mes "^333333Hint:";
- mes "Do not use the";
- mes "number 0, and do";
- mes "not enter any number";
- mes "more than once. Make";
- mes "sure the password is 3 digits.";
+ mes("[Security System]");
+ mes("^FF0000Enter the 3 digit password.");
+ mes("You will be allowed 5 tries");
+ mes("within 3 minutes to enter");
+ mes("the correct password, or");
+ mes("the password will reset.^000000");
+ next();
+ mes("[Password Checker]");
+ mes("^333333Hint:");
+ mes("Do not use the");
+ mes("number 0, and do");
+ mes("not enter any number");
+ mes("more than once. Make");
+ mes("sure the password is 3 digits.");
@retry = 0;
- next;
- while (1) {
- @yagu100 = rand(1,9);
- @yagu10 = rand(1,9);
- @yagu1 = rand(1,9);
+ next();
+ while (true) {
+ @yagu100 = rand(1, 9);
+ @yagu10 = rand(1, 9);
+ @yagu1 = rand(1, 9);
if (((@yagu100 != @yagu10) && (@yagu100 != @yagu1)) && (@yagu10 != @yagu1)) {
break;
}
}
- while (1) {
- while (1) {
-L_Retry:
- next;
- input @input;
+ while (true) {
+ while (true) {
+ next();
+ input(@input);
if (@input < 100 || @input > 999) {
- mes "[Security System]";
- mes "^FF0000Error.";
- mes "The password entered";
- mes "exceeds the number digit";
- mes "limit. You must only enter";
- mes "3 digit passwords.^000000";
- close;
+ mes("[Security System]");
+ mes("^FF0000Error.");
+ mes("The password entered");
+ mes("exceeds the number digit");
+ mes("limit. You must only enter");
+ mes("3 digit passwords.^000000");
+ close();
}
@input100 = @input / 100;
@input10 = (@input % 100) / 10;
@@ -3096,22 +3556,22 @@ L_Retry:
if ((@input100 != @input10) && (@input100 != @input1) && (@input10 != @input1)) {
break;
}
- mes "[Security System]";
- mes "^FF0000Error.";
- mes "You cannot enter the";
- mes "number 0, or use any";
- mes "other number more than";
- mes "once. Please try again.^000000";
- next;
+ mes("[Security System]");
+ mes("^FF0000Error.");
+ mes("You cannot enter the");
+ mes("number 0, or use any");
+ mes("other number more than");
+ mes("once. Please try again.^000000");
+ next();
}
}
++@retry;
- mes "[Security System]";
- mes "^ff0000"+strcharinfo(PC_NAME)+"^000000";
- mes "has entered the following:";
- mes "^0000ff"+@input100+"^000000 - ^0000ff"+@input10+"^000000 - ^0000ff"+@input1+"^000000.";
- mes "Please wait for authorization to complete.";
- next;
+ mes("[Security System]");
+ mesf("^ff0000%s^000000", strcharinfo(PC_NAME));
+ mes("has entered the following:");
+ mesf("^0000ff%d^000000 - ^0000ff%d^000000 - ^0000ff%d^000000.", @input100, @input10, @input1);
+ mes("Please wait for authorization to complete.");
+ next();
@strike = 0;
@ball = 0;
if (@yagu100 == @input100) @strike += 1;
@@ -3121,104 +3581,111 @@ L_Retry:
if ((@yagu10 == @input100) || (@yagu10 == @input1)) @ball += 1;
if ((@yagu1 == @input100) || (@yagu1 == @input10)) @ball += 1;
if (@strike == 3) {
- mes "[Security System]";
- mes "Authorization complete.";
- mes "Archive access granted.";
- next;
- mes "^3355FFThe archive door opens,";
- mes "revealing a series of";
- mes "filed documents. Out";
- mes "of all of them, one of the";
- mes "files grabs your attention.^000000";
- next;
- mes "Varmunt Project No. 3";
- mes "Security Level : Grade 1-C";
- mes " ";
- mes "Caution: Only project members";
- mes "of the Ymir Heart Synthesization project are authorized to view";
- mes "this classified document.";
- next;
- mes "Varmunt Project No. 3";
- mes "Security Level : Grade 1-C";
- mes " ";
- mes "All others found reading";
- mes "this document are subject";
- mes "to punishment or dismissal.";
- next;
- mes "^3355FFYou perceive the sound of";
- mes "footsteps and quickly try to";
- mes "return the document to its";
- mes "original place. However,";
- mes "the person that has come";
- mes "to the archive has already";
- mes "seen you holding the file.^000000";
- next;
- donpcevent "Ferlock#lab::OnEnter";
- mes "[Ferlock]";
- mes "Excuse me, but are";
- mes "you an employee here?";
- mes "I've come to pick up a";
- mes "new Rune Stone for the";
- mes "Airship. Wait, wait...";
- mes "You look familiar...";
- next;
- emotion e_omg,0,"Ferlock#lab";
- mes "[Ferlock]";
- mes "That's right, aren't you the";
- mes "one who brought me my";
- mes "brother's letter? Yeah, you";
- mes "were asking me about the";
- mes "Airship's flight mechanics.";
- mes "So you're not an employee...";
- next;
- mes "[Ferlock]";
- mes "Boy, you must be more than";
- mes "curious to be looking up that";
- mes "information in a restricted";
- mes "area. But don't worry, you";
- mes "must have your reasons,";
- mes "so I won't call the guards.";
- next;
- mes "[Ferlock]";
- mes "Still, you better get out";
- mes "of here. The guards patrol";
- mes "this place regularly, so you're";
- mes "almost sure to get caught. Hmm,";
- mes "come and see me later at the";
- mes "Airship, alright? Now hurry!";
- close2;
- donpcevent "Ferlock#lab::OnInit";
- changequest 8042,8043;
+ mes("[Security System]");
+ mes("Authorization complete.");
+ mes("Archive access granted.");
+ next();
+ mes("^3355FFThe archive door opens,");
+ mes("revealing a series of");
+ mes("filed documents. Out");
+ mes("of all of them, one of the");
+ mes("files grabs your attention.^000000");
+ next();
+ mes("Varmunt Project No. 3");
+ mes("Security Level : Grade 1-C");
+ mes(" ");
+ mes("Caution: Only project members");
+ mes("of the Ymir Heart Synthesization project are authorized to view");
+ mes("this classified document.");
+ next();
+ mes("Varmunt Project No. 3");
+ mes("Security Level : Grade 1-C");
+ mes(" ");
+ mes("All others found reading");
+ mes("this document are subject");
+ mes("to punishment or dismissal.");
+ next();
+ mes("^3355FFYou perceive the sound of");
+ mes("footsteps and quickly try to");
+ mes("return the document to its");
+ mes("original place. However,");
+ mes("the person that has come");
+ mes("to the archive has already");
+ mes("seen you holding the file.^000000");
+ next();
+ donpcevent("Ferlock#lab::OnEnter");
+ mes("[Ferlock]");
+ mes("Excuse me, but are");
+ mes("you an employee here?");
+ mes("I've come to pick up a");
+ mes("new Rune Stone for the");
+ mes("Airship. Wait, wait...");
+ mes("You look familiar...");
+ next();
+ emotion(e_omg, false, "Ferlock#lab");
+ mes("[Ferlock]");
+ mes("That's right, aren't you the");
+ mes("one who brought me my");
+ mes("brother's letter? Yeah, you");
+ mes("were asking me about the");
+ mes("Airship's flight mechanics.");
+ mes("So you're not an employee...");
+ next();
+ mes("[Ferlock]");
+ mes("Boy, you must be more than");
+ mes("curious to be looking up that");
+ mes("information in a restricted");
+ mes("area. But don't worry, you");
+ mes("must have your reasons,");
+ mes("so I won't call the guards.");
+ next();
+ mes("[Ferlock]");
+ mes("Still, you better get out");
+ mes("of here. The guards patrol");
+ mes("this place regularly, so you're");
+ mes("almost sure to get caught. Hmm,");
+ mes("come and see me later at the");
+ mes("Airship, alright? Now hurry!");
+ close2();
+ donpcevent("Ferlock#lab::OnInit");
+ changequest(8042, 8043);
lhz_heart = 11;
end;
}
- mes "[Password Checker]";
- mes " ";
- mes "^333333Total of correct numbers";
- mes "in correct sequence: ^ff0000"+@strike+"^333333";
- mes "Total of correct numbers misplaced: ^ff0000"+@ball+"^333333.";
- mes "Please use these results";
- mes "to make a more accurate guess.^000000";
- next;
+ mes("[Password Checker]");
+ mes(" ");
+ mes("^333333Total of correct numbers");
+ mesf("in correct sequence: ^ff0000%d^333333", @strike);
+ mesf("Total of correct numbers misplaced: ^ff0000%d^333333.", @ball);
+ mes("Please use these results");
+ mes("to make a more accurate guess.^000000");
+ next();
if (@retry > 4) {
- mes "[Security System]";
- mes "^FF0000The correct password";
- mes "for this session was";
- mes "^000000"+@yagu100+"^FF0000 - ^000000"+@yagu10+"^000000 - ^000000"+@yagu1+"^FF0000.";
- mes "Password will now be reset.^000000";
- close;
+ mes("[Security System]");
+ mes("^FF0000The correct password");
+ mes("for this session was");
+ mesf("^000000%d^FF0000 - ^000000%d^000000 - ^000000%d^FF0000.", @yagu100, @yagu10, @yagu1);
+ mes("Password will now be reset.^000000");
+ close();
}
- mes "[Security System]";
- mes "Beeeeep!";
- mes "Incorrect password.";
- mes " ";
+ mes("[Security System]");
+ mes("Beeeeep!");
+ mes("Incorrect password.");
+ mes(" ");
switch (@retry) {
- case 1: mes "Initialing 2nd attempt...^000000"; break;
- case 2: mes "Initialing 3rd attempt...^000000"; break;
- case 3: mes "Initialing 4th attempt...^000000"; break;
- case 4: mes "Initialing final attempt...^000000"; break;
+ case 1:
+ mes("Initialing 2nd attempt...^000000");
+ break;
+ case 2:
+ mes("Initialing 3rd attempt...^000000");
+ break;
+ case 3:
+ mes("Initialing 4th attempt...^000000");
+ break;
+ case 4:
+ mes("Initialing final attempt...^000000");
+ break;
}
- goto L_Retry;
}
}
end;
diff --git a/npc/quests/quests_ayothaya.txt b/npc/quests/quests_ayothaya.txt
index dba9c5d14..f196069a9 100644
--- a/npc/quests/quests_ayothaya.txt
+++ b/npc/quests/quests_ayothaya.txt
@@ -52,7 +52,7 @@ ayothaya,233,105,3 script Powerful-Looking Woman 4_F_THAIAYO,2,2,{
mes "[Shuda]";
mes "You haven't";
mes "found him yet?";
- mes "Then where the";
+ mes "Then where the hell";
mes "is he, then?!";
next;
mes "[Shuda]";
@@ -278,7 +278,7 @@ ayothaya,233,105,3 script Powerful-Looking Woman 4_F_THAIAYO,2,2,{
next;
mes "[Powerful-Looking Woman]";
mes "Let me introduce myself.";
- mes "My name is Shuda, I've lived in Ayotaya all my life. Since you don't have anything to do, I have";
+ mes "My name is Shuda, I've lived in Ayothaya all my life. Since you don't have anything to do, I have";
mes "a favor to ask of you.";
next;
mes "[Shuda]";
@@ -357,7 +357,7 @@ ayothaya,233,105,3 script Powerful-Looking Woman 4_F_THAIAYO,2,2,{
mes "[Shuda]";
mes "And her savior";
mes "would be known as";
- mes "the hero of Ayotaya.";
+ mes "the hero of Ayothaya.";
next;
mes "[" +strcharinfo(PC_NAME)+ "]";
mes " ...Say what?!";
@@ -1179,7 +1179,7 @@ ayothaya,193,171,3 script Old Man#02 4_M_THAIOLD,{
mes "Ah! I think, in his intense fear, he was screaming something about some kind of '^FF0000Shuda^000000,' or whatever. But what could it possibly mean?";
next;
mes "[Tham]";
- mes "Oh well, don't worry. All of our villagers aren't like that. Anyway, I hope you enjoy your travels in Ayotaya.";
+ mes "Oh well, don't worry. All of our villagers aren't like that. Anyway, I hope you enjoy your travels in Ayothaya.";
thai_find = 4;
changequest 12031,12032;
close;
@@ -1201,7 +1201,7 @@ ayothaya,193,171,3 script Old Man#02 4_M_THAIOLD,{
mes "Ah...";
mes "While you're here,";
mes "why don't you taste some";
- mes "authentic Ayotayan cuisine";
+ mes "authentic Ayothayan cuisine";
mes "for yourself?";
next;
mes "[Tham]";
@@ -1211,7 +1211,7 @@ ayothaya,193,171,3 script Old Man#02 4_M_THAIOLD,{
mes "restaurants around here.";
next;
mes "[Tham]";
- mes "Anyway, I'm sure that you'll like it. I hope that you come visit Ayotaya as often as you can~";
+ mes "Anyway, I'm sure that you'll like it. I hope that you come visit Ayothaya as often as you can~";
close;
} else if (.@randayo > 4 && .@randayo < 7) {
mes "[Tham]";
@@ -2111,9 +2111,9 @@ ayothaya,196,265,3 script Einon#ayo 4_M_THAIOLD,{
mes "of this village is?";
next;
mes "[Einon]";
- mes "Ayotaya is world famous";
+ mes "Ayothaya is world famous";
mes "for its regional cuisine, but";
- mes "out of all Ayotayan dishes,";
+ mes "out of all Ayothayan dishes,";
mes "'^3131FFTom Yum Goong^000000' is the best.";
next;
mes "[Einon]";
@@ -2166,7 +2166,7 @@ ayothaya,196,265,3 script Einon#ayo 4_M_THAIOLD,{
close;
}
mes "[Einon]";
- mes "Golden Ayotaya...";
+ mes "Golden Ayothaya...";
mes "Although I've grown";
mes "up in this village,";
mes "I still think my village";
@@ -2498,7 +2498,7 @@ ayo_in01,145,163,3 script Cook#ayo 4_F_THAIGIRL,{
mes "Thank you for all the trouble that you have been though to get these ingredients. It would make me happy if you shared Tom Yum Goong with your friends.";
next;
mes "[Mali the Spicy]";
- mes "Share the flavor of Ayotaya, and let them know how beautiful our land is. It was good to see you, take care now~";
+ mes "Share the flavor of Ayothaya, and let them know how beautiful our land is. It was good to see you, take care now~";
close;
}
mes "[Mali the Spicy]";
@@ -3048,7 +3048,7 @@ ayothaya,213,94,7 script Merchant#ayo 4_M_THAIAYO,{
mes "it has a very strong flavor. It's also hot and spicy, so you should be careful when you eat one.";
next;
mes "[Merchant Thongdum]";
- mes "The people of Ayotaya enjoy sensational food with distinct, spicy flavors. In Ayotayan cuisine, we use things like Chilis, garlic, ginger and cilantro.";
+ mes "The people of Ayothaya enjoy sensational food with distinct, spicy flavors. In Ayothayan cuisine, we use things like Chilis, garlic, ginger and cilantro.";
next;
mes "[Merchant Thongdum]";
mes "I'm selling Chilis,";
diff --git a/npc/quests/quests_ein.txt b/npc/quests/quests_ein.txt
index f7d702277..f5b2e14a6 100644
--- a/npc/quests/quests_ein.txt
+++ b/npc/quests/quests_ein.txt
@@ -474,20 +474,479 @@ einbech,97,167,5 script Cavitar 4_M_EINOLD,{
//== Uwe Kleine :: ein_anoz ================================
einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
+ function F_AboutEinbroch {
+ mes "[Uwe]";
+ mes "Einbroch was originally";
+ mes "built to support Einbech's";
+ mes "mining efforts. Because it's";
+ mes "small and crowded with people,";
+ mes "there's no room to build the ore refining factories over there.";
+ next;
+ mes "[Uwe]";
+ mes "Since Einbroch used to be";
+ mes "an empty lot, it was perfect";
+ mes "for building factories. That's";
+ mes "what my grandfather told me a";
+ mes "long time ago. Anyway, Einbroch quickly grew into a major city.";
+ next;
+ mes "[Uwe]";
+ mes "Now people think that this";
+ mes "city was never planned to be";
+ mes "just an extension of Einbech.";
+ mes "See that rampart over there?";
+ mes "It doesn't connect to Einbech at all! No protection for them...";
+ next;
+ mes "[Uwe]";
+ mes "It's like the government";
+ mes "lost all interest in Einbech.";
+ mes "Even the miners there have";
+ mes "been moving here to work in ";
+ mes "the factories. But more people hasn't made this city more lively.";
+ next;
+ mes "[Uwe]";
+ mes "Einbroch may look modern";
+ mes "and exciting now, but soon";
+ mes "you'll see that there's no sign";
+ mes "of warmth or life. So... Just don't live here in your old age.";
+ next;
+ .@choice2$ = "I won't. Thanks for the advice.";
+ if (BaseClass == Job_Blacksmith)
+ .@choice2$ = "But I like the city life~";
+ switch (select("Then why are you here?", .@choice2$)) {
+ case 1:
+ if (BaseClass == Job_Blacksmith) {
+ mes "[Uwe]";
+ mes "Well, sugar honey,";
+ mes "I've been waiting for";
+ mes "someone. But... It looks";
+ mes "like that person won't be";
+ mes "coming back anyway.";
+ next;
+ mes "[Uwe]";
+ mes "Oooh, but let's not talk";
+ mes "about that. Next time you";
+ mes "drop by, we'll talk about";
+ mes "something more fun, 'kay?";
+ close;
+ }
+ mes "[Uwe]";
+ mes "Well, I have some";
+ mes "precious memories of";
+ mes "this place. Once, there was";
+ mes "a man who lived here who";
+ mes "was just like a father to me.";
+ next;
+ mes "[Uwe]";
+ mes "Oh, but I'm sure that";
+ mes "you don't want to hear";
+ mes "about that. Next time you";
+ mes "drop by, we'll talk about";
+ mes "something more fun, 'kay?";
+ mes "Buhbye for now, cutie~";
+ close;
+ case 2:
+ if (BaseClass != Job_Blacksmith) {
+ mes "[Uwe]";
+ mes "Oh, that is such";
+ mes "a good decision,";
+ mes "sugar honey! Oh, you";
+ mes "cutie adventurers are";
+ mes "so precious, so lovable.";
+ mes "^333333*Tee hee hee~*^000000";
+ next;
+ mes "[Uwe]";
+ mes "Well, that was";
+ mes "a fun talk. Come";
+ mes "back and visit, 'kay?";
+ mes "I'll miss you until";
+ mes "the next time~";
+ close;
+ }
+ mes "[Uwe]";
+ mes "Big cities can be nice,";
+ mes "but you never get to enjoy";
+ mes "the sensation of stepping";
+ mes "barefoot through the grass,";
+ mes "or the magnificent sight of";
+ mes "the shining stars at night.";
+ next;
+ mes "[Uwe]";
+ mes "And the people who live";
+ mes "in the cities can be so";
+ mes "uptight! I've known more";
+ mes "than a few who look down";
+ mes "on people from smaller towns.";
+ next;
+ mes "[Uwe]";
+ mes "It's sad to see some";
+ mes "people will always be";
+ mes "that ignorant. I... I just";
+ mes "can't believe those people";
+ mes "can be sooo close minded!";
+ next;
+ mes "[Uwe]";
+ mes "Oh...!";
+ mes "I'm sorry, I guess";
+ mes "I went a little overboard.";
+ mes "^666666*Titter*^000000 Next time you drop";
+ mes "by, we'll talk about something";
+ mes "more fun, 'kay? Buhbye~";
+ close;
+ }
+ }
+
+ function F_ForgeWeapon {
+ mes "[Uwe]";
+ mes "Well...";
+ mes "I actually just";
+ mes "do smithing work";
+ mes "to create my own";
+ mes "cooking tools.";
+ next;
+ mes "[Uwe]";
+ mes "Oh, I understand";
+ mes "that somebody needs";
+ mes "to fight the monsters,";
+ mes "but I'm the wrong person";
+ mes "to ask for forging weapons.";
+ mes "I... am a strict pacifist~";
+ next;
+ mes "[Uwe]";
+ mes "Just go look";
+ mes "around for a little";
+ mes "bit, I'm sure you'll";
+ mes "find a Blacksmith";
+ mes "who's willing to forge";
+ mes "you a good weapon~";
+ close;
+ }
+
+ function F_Cancel {
+ mes "[Uwe]";
+ mes "Oh...?";
+ mes "Well, feel";
+ mes "free to visit";
+ mes "me whenever";
+ mes "you want, 'kay?";
+ close;
+ }
+
+ function F_RandCloseMsg {
+ switch (rand(1, 3)) {
+ case 1:
+ mes "...Ho ho~";
+ close;
+ case 2:
+ mes "...*Tee Hee~*";
+ close;
+ case 3:
+ mes "...Behbie~";
+ close;
+ }
+ }
+
+ function F_Ingredients {
+ mes "[Uwe]";
+ mes "Now for beginners,";
+ mes "learning to select";
+ mes "and use ingredients";
+ mes "is one of the most";
+ mes "important fundamentals.";
+ next;
+ mes "[Uwe]";
+ mes "Cooking is like forging";
+ mes "since specific ingredients";
+ mes "are needed to make specialty";
+ mes "items or dishes. You can't just";
+ mes "skip them if you really need";
+ mes "them, right? Right!";
+ next;
+ mes "[Uwe]";
+ mes "Once you make up your";
+ mes "mind to do something,";
+ mes "focus on finishing it, 'kay?";
+ mes "Never cut corners and always";
+ mes "dedicate yourself to make the";
+ mes "very best finished product~";
+ if (ein_cook == 7 && BaseClass == Job_Blacksmith)
+ ein_cook += 10;
+ next;
+ mes "[Uwe]";
+ mes "Well, that was";
+ mes "a fun talk. Come";
+ mes "back and visit, 'kay?";
+ mes "I'll miss you until";
+ mes "the next time~";
+ F_RandCloseMsg();
+ }
+
+ function F_Cooking {
+ mes "[Uwe]";
+ mes "Mm...?";
+ mes "Did you just";
+ mes "say that you";
+ mes "want to learn";
+ mes "the art of cooking?";
+ next;
+ mes "[Uwe]";
+ mes "I'm sorry, but I can't";
+ mes "really give culinary";
+ mes "lessons. But I will";
+ mes "give good advice for";
+ mes "hopeful beginners.";
+ next;
+ mes "[Uwe]";
+ mes "Now...";
+ mes "For your tuition";
+ mes "I'll need-- Gosh,";
+ mes "there's just so many";
+ mes "things. Get some paper,";
+ mes "and a pen for this list...";
+ next;
+ ein_cook += 100;
+ mes "[Uwe]";
+ mes "Just kidding!";
+ mes "^333333*Titter~*^000000 I don't need";
+ mes "much to make some";
+ mes "cooking utensils. Bring";
+ mes "6 ^0000FFLarge Jellopy^000000. That's it!";
+ next;
+ mes "[Uwe]";
+ mes "In return, I will give you";
+ mes "1 Coal and some useful";
+ mes "cooking advice for novices.";
+ mes "I give this advice for free to";
+ mes "my smithing colleages, though...";
+ next;
+ mes "[Uwe]";
+ mes "Why ^EEA9B8don't^000000 you";
+ mes "become a Blacksmith?";
+ mes "I'm much more confident";
+ mes "in that field. ^333333*Tee hee~*^000000";
+ next;
+ mes "[Uwe]";
+ mes "Well, I'll be";
+ mes "waiting right";
+ mes "here until you";
+ mes "come back.";
+ F_RandCloseMsg();
+ }
+
+ function F_Heart {
+ mes "[Uwe]";
+ mes "Ah, heart. Just like forging,";
+ mes "you need passion and desire";
+ mes "to create something special.";
+ mes "Every smith and cook knows that";
+ mes "you can do anything if you have";
+ mes "the will and the commitment.";
+ next;
+ mes "[Uwe]";
+ mes "Well, that's all";
+ mes "I really have to";
+ mes "say about that. But";
+ mes "come back and chat";
+ mes "whenever you please.";
+ F_RandCloseMsg();
+ }
+
+ function F_Skills {
+ mes "[Uwe]";
+ mes "When you're beginning to learn";
+ mes "skills, you can't let yourself be discouraged! Practice makes";
+ mes "perfect, you know? But never";
+ mes "use your lack of skills as an";
+ mes "excuse if you happen to fail...";
+ next;
+ mes "[Uwe]";
+ mes "Effort is also an essential";
+ mes "in forging and cooking! Now,";
+ mes "on the other hand, if you put";
+ mes "in all the effort but didn't learn any of the skills, you'll still get nowhere fast, right? Right!";
+ next;
+ mes "[Uwe]";
+ mes "The key is to always";
+ mes "give 100% effort and work";
+ mes "on improving your skills.";
+ mes "Before you know it, you'll";
+ mes "be a respected master!";
+ next;
+ mes "[Uwe]";
+ mes "Well, that was";
+ mes "a fun talk. Come";
+ mes "back and visit, 'kay?";
+ mes "I'll miss you until";
+ mes "the next time~";
+ F_RandCloseMsg();
+ }
+
+ function F_Tools {
+ mes "[Uwe]";
+ mes "Cooking is a little";
+ mes "easier if you have";
+ mes "nicer tools to use,";
+ mes "but that's it. Tools by";
+ mes "themselves can't make";
+ mes "just anybody a master.";
+ next;
+ mes "[Uwe]";
+ mes "In the end, the best";
+ mes "tools are the ones you're";
+ mes "most comfortable with using.";
+ mes "In fact, I still use the old knife I used back when I was just";
+ mes "a little novice chef~";
+ next;
+ mes "[Uwe]";
+ mes "Oh, while we're on";
+ mes "the subject of tools,";
+ mes "I just received some";
+ mes "new hammers today.";
+ mes "Would you like a couple?";
+ next;
+ if (checkweight(Spawn, 50) == 0) {
+ mes "[Uwe]";
+ mes "Mmmm...?";
+ mes "You're holding too many";
+ mes "things. I can't give you any";
+ mes "hammers if you don't have";
+ mes "room. Hurry, put your extra";
+ mes "stuff in your Kafra Storage~";
+ close;
+ }
+ ein_cook += 10;
+ getitem Golden_Hammer, 1;
+ getitem Iron_Hammer, 1;
+ next;
+ mes "[Uwe]";
+ mes "Well, I hope";
+ mes "you like them~";
+ F_RandCloseMsg();
+ }
+
+ function F_ToolsWithoutReward {
+ mes "[Uwe]";
+ mes "Cooking is a little";
+ mes "easier if you have";
+ mes "nicer tools to use,";
+ mes "but that's it. Tools by";
+ mes "themselves can't make";
+ mes "just anybody a master.";
+ next;
+ mes "[Uwe]";
+ mes "In the end, the best";
+ mes "tools are the ones you're";
+ mes "most comfortable with using.";
+ mes "In fact, I still use the old knife I used back when I was just";
+ mes "a little novice chef~";
+ next;
+ mes "[Uwe]";
+ mes "Well, that was";
+ mes "a fun talk. Come";
+ mes "back and visit, 'kay?";
+ mes "I'll miss you until";
+ mes "the next time~";
+ F_RandCloseMsg();
+ }
+
+ function F_OverWeight {
+ mes "[Uwe]";
+ mes "Oh, I was going to give";
+ mes "you a little something,";
+ mes "but you've carrying too";
+ mes "many things. Why don't";
+ mes "you put some of it away";
+ mes "in your Kafra Storage?";
+ close;
+ }
+
+ function F_LargeJellopyForCoal {
+ if (countitem(Large_Jellopy) > 5) {
+ if (checkweight(Spawn, 199) == 0)
+ F_OverWeight();
+ mes "[Uwe]";
+ mes "Thank you ^EEA9B8so^000000 much!";
+ mes "Here's the Coal I promised~";
+ mes "Oh, and take these Mini Furnaces. They were just lying around, so you know, I thought, well, why don't you take them? *Tee hee hee~*";
+ delitem Large_Jellopy, 6;
+ ein_cook = 219;
+ getitem Coal, 1;
+ getitem Portable_Furnace, 10;
+ next;
+ mes "[Uwe]";
+ mes "I hope you enjoy!";
+ mes "Personally, I think the";
+ mes "best part of smithing";
+ mes "is standing over the flaming";
+ mes "heat and getting all ^EEA9B8hot and";
+ mes "sweaty^000000. Ooh, how exciting~!";
+ close;
+ } else if (countitem(Large_Jellopy) > 0) {
+ mes "[Uwe]";
+ mes "Ooh, you're missing";
+ mes "some. I guess you can";
+ mes "still give them to me, but";
+ mes "you'd get less of a reward";
+ if (Sex == SEX_MALE) {
+ mes "...you ^EEA9B8naughty boy^000000.";
+ } else {
+ mes "...you ^EEA9B8naughty girl^000000.";
+ }
+ next;
+ .@choice = select("Give him all.", "Cancel.");
+ if (.@choice == 1) {
+ mes "[Uwe]";
+ mes "Just kidding~";
+ mes "Don't be so nervous, I don't really need those anymore. But since I know you're hard working, I'll throw in a little something extra...";
+ next;
+ mes "[Uwe]";
+ mesf("I usually give you cutie %ss 10 Mini Furnaces, but you can have ^EEA9B811^000000." /* TODO: HULD Plural Table for jobname() */
+ "There's the little something extra I was talking about.", jobname(Class));
+ } else {
+ mes "[Uwe]";
+ mes "Well... Then... Anyway,";
+ mes "Congratulation to becoming";
+ mesf("a %s!!", jobname(Class));
+ mes "This is my present for it.";
+ if (Sex == SEX_MALE) {
+ mes "...you ^EEA9B8naughty boy^000000.";
+ } else {
+ mes "...you ^EEA9B8naughty girl^000000.";
+ }
+ }
+ if (checkweight(Knife, 1) == 0 ||
+ checkweight(Spawn, (.@choice == 1 ? 220 : 200)) == 0)
+ F_OverWeight();
+ ein_cook = 219;
+ getitem Portable_Furnace, (.@choice == 1 ? 11 : 10);
+ next;
+ mes "[Uwe]";
+ mes "I know it's not very extravagant, but these will come in handy next time you're smithing. So make the best use of them, 'kay?";
+ close;
+ } else {
+ mes "[Uwe]";
+ mes "^666666You didn't bring";
+ mes "any Large Jellopy...?^000000.";
+ ein_cook = 219;
+ next;
+ mes "[Uwe]";
+ mes "It's fine! It's not like I feel ^EEA9B8betrayed^000000 or anything, but I don't need them anymore! Since we're both in the business of smithing, I just hope that you remember to follow through on your favors, 'kay? Buhbye~";
+ close;
+ }
+ }
+
EinUwe = 0;
if (BaseClass == Job_Blacksmith) {
if (ein_cook > 999) {
- .@ccc = ein_cook-1000;
- if (.@ccc > 199) {
+ if (ein_cook > 1199) {
mes "[Uwe]";
mes "Oh hello hello~";
mes "It's been a long";
mes "time since we've talked,";
mes "you cutie adventurer~";
next;
- switch(select("So... You're a chef.", "Yes, I tried my best.")) {
+ switch (select("So... You're a chef.", "Yes, I tried my best.")) {
case 1:
- mes "["+ strcharinfo(PC_NAME) +"]";
+ mesf("[%s]", strcharinfo(PC_NAME));
mes "So...";
mes "You're a chef.";
next;
@@ -505,18 +964,10 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
next;
break;
}
- if (checkweight(Spawn,200) == 0) {
- mes "[Uwe]";
- mes "Oh, I was going to give";
- mes "you a little something,";
- mes "but you've carrying too";
- mes "many things. Why don't";
- mes "you put some of it away";
- mes "in your Kafra Storage?";
- close;
- }
+ if (checkweight(Spawn, 200) == 0)
+ F_OverWeight();
ein_cook = 219;
- getitem Portable_Furnace,10;
+ getitem Portable_Furnace, 10;
mes "[Uwe]";
mes "I had these lying";
mes "around, so why don't";
@@ -529,13 +980,8 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "Alright then~";
mes "Hope you enjoy";
mes "your Mini Furances";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
- }
- else if (.@ccc > 99) {
+ F_RandCloseMsg();
+ } else if (ein_cook > 1099) { //6 Large Jellopy for Coal Part
mes "[Uwe]";
mes "Oh hello hello~";
mes "It's been a long";
@@ -550,155 +996,12 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "Did you already forget";
mes "the 6 Large Jellopy?";
next;
- switch(select("There you go.", "I want to quit.", "Can I do it later?")) {
+ switch (select("There you go.", "I want to quit.", "Can I do it later?")) {
case 1:
- if (countitem(Large_Jellopy) > 5) {
- if (checkweight(Spawn,199) == 0) {
- mes "[Uwe]";
- mes "Oh, I was going to give";
- mes "you a little something,";
- mes "but you've carrying too";
- mes "many things. Why don't";
- mes "you put some of it away";
- mes "in your Kafra Storage?";
- close;
- }
- mes "[Uwe]";
- mes "Thank you ^EEA9B8so^000000 much!";
- mes "Here's the Coal I promised~";
- mes "Oh, and take these Mini Furnaces. They were just lying around, so you know, I thought, well, why don't you take them? *Tee hee hee~*";
- delitem Large_Jellopy,6;
- ein_cook = 219;
- getitem Coal,1;
- getitem Portable_Furnace,10;
- next;
- mes "[Uwe]";
- mes "I hope you enjoy!";
- mes "Personally, I think the";
- mes "best part of smithing";
- mes "is standing over the flaming";
- mes "heat and getting all ^EEA9B8hot and";
- mes "sweaty^000000. Ooh, how exciting~!";
- close;
- }
- else if (countitem(Large_Jellopy) > 0) {
- mes "[Uwe]";
- mes "Ooh, you're missing";
- mes "some. I guess you can";
- mes "still give them to me, but";
- mes "you'd get less of a reward";
- if (Sex == SEX_MALE) {
- mes "...you ^EEA9B8naughty boy^000000.";
- }
- else {
- mes "...you ^EEA9B8naughty girl^000000.";
- }
- switch(select("Give him all.", "Cancel.")) {
- case 1:
- if (checkweight(Knife,1) == 0) {
- mes "[Uwe]";
- mes "Oh, I was going to give";
- mes "you a little something,";
- mes "but you've carrying too";
- mes "many things. Why don't";
- mes "you put some of it away";
- mes "in your Kafra Storage?";
- close;
- }
- mes "[Uwe]";
- mes "Just kidding~";
- mes "Don't be so nervous, I don't really need those anymore. But since I know you're hard working, I'll throw in a little something extra...";
- next;
- if (checkweight(Spawn,220) == 0) {
- mes "[Uwe]";
- mes "Oh, I was going to give";
- mes "you a little something,";
- mes "but you've carrying too";
- mes "many things. Why don't";
- mes "you put some of it away";
- mes "in your Kafra Storage?";
- close;
- }
- mes "[Uwe]";
- if (Class == Job_Whitesmith) {
- mes "I usually give you cutie MasterSmiths 10 Mini Furnaces, but you can have ^EEA9B811^000000. There's the little something extra I was talking about.";
- }
- else {
- mes "I usually give you cutie Blacksmiths 10 Mini Furnaces, but you can have ^EEA9B811^000000. There's the little something extra I was talking about.";
- }
- ein_cook = 219;
- getitem Portable_Furnace,11;
- next;
- mes "[Uwe]";
- mes "I know it's not very extravagant, but these will come in handy next time you're smithing. So make the best use of them, 'kay?";
- close;
- case 2:
- if (checkweight(Knife,1) == 0) {
- mes "[Uwe]";
- mes "Oh, I was going to give";
- mes "you a little something,";
- mes "but you've carrying too";
- mes "many things. Why don't";
- mes "you put some of it away";
- mes "in your Kafra Storage?";
- close;
- }
- mes "[Uwe]";
- mes "Well... Then... Anyway,";
- mes "Congratulation to became";
- if (Class == Job_Whitesmith) {
- mes "a Master Smith!!";
- }
- else {
- mes "a Black Smith!!";
- }
- mes "This is my present for it.";
- if (Sex == SEX_MALE) {
- mes "...you ^EEA9B8naughty boy^000000.";
- }
- else {
- mes "...you ^EEA9B8naughty girl^000000.";
- }
- break;
- }
- if (checkweight(Spawn,100) == 0) {
- next;
- mes "Oh, I was going to give";
- mes "you a little something,";
- mes "but you've carrying too";
- mes "many things. Why don't";
- mes "you put some of it away";
- mes "in your Kafra Storage?";
- close;
- }
- ein_cook = 219;
- getitem Portable_Furnace,5;
- next;
- mes "[Uwe]";
- mes "I know it's not very extravagant, but these will come in handy next time you're smithing. So make the best use of them, 'kay?";
- close;
- }
- else {
- mes "[Uwe]";
- mes "^666666You didn't bring";
- mes "any Large Jellopy...?^000000.";
- ein_cook = 219;
- next;
- mes "[Uwe]";
- mes "It's fine! It's not like I feel ^EEA9B8betrayed^000000 or anything, but I don't need them anymore! Since we're both in the business of smithing, I just hope that you remember to follow through on your favors, 'kay? Buhbye~";
- close;
- }
+ F_LargeJellopyForCoal();
case 2:
- if (checkweight(Spawn,200) == 0) {
- mes "[Uwe]";
- mes "Oh, I was going to give";
- mes "you a little something,";
- mes "but you've carrying too";
- mes "many things. Why don't";
- mes "you put some of it away";
- mes "in your Kafra Storage?";
- close;
- }
+ if (checkweight(Spawn, 200) == 0)
+ F_OverWeight();
mes "[Uwe]";
mes "Quit...?";
mes "Oh well, at least you're honest. But let me give you a little something, since we're both fellow smiths.";
@@ -710,12 +1013,11 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "been very, very bad.";
if (Sex == SEX_MALE) {
mes "...You ^EEA9B8naughty boy^000000.";
- }
- else {
+ } else {
mes "...You ^EEA9B8naughty girl^000000.";
}
ein_cook = 219;
- getitem Portable_Furnace,10;
+ getitem Portable_Furnace, 10;
next;
mes "[Uwe]";
mes "I know it's not very extravagant, but these will come in handy next time you're smithing. So make the best use of them, 'kay?";
@@ -724,144 +1026,26 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "[Uwe]";
mes "Oooh, you came back later than I thought, so I don't need really need them anymore. Then again, just holding onto them doesn't sound right either...";
next;
- switch(select("Here you go~", "I want to quit.")) {
+ switch (select("Here you go~", "I want to quit.")) {
case 1:
- if (checkweight(Spawn,199) == 0) {
- mes "[Uwe]";
- mes "Oh, I was going to give";
- mes "you a little something,";
- mes "but you've carrying too";
- mes "many things. Why don't";
- mes "you put some of it away";
- mes "in your Kafra Storage?";
- close;
- }
- if (countitem(Large_Jellopy) > 5) {
- mes "[Uwe]";
- mes "Thank you ^EEA9B8so^000000 much!";
- mes "Here's the Coal I promised~";
- mes "Oh, and take these Mini Furnaces. They were just lying around, so you know, I thought, well, why don't you take them? *Tee hee hee~*";
- delitem Large_Jellopy,6;
- ein_cook = 219;
- getitem Coal,1;
- getitem Portable_Furnace,10;
- close;
- }
- else if (countitem(Large_Jellopy) > 0) {
- mes "[Uwe]";
- mes "Ooh, you're missing";
- mes "some. I guess you can";
- mes "still give them to me, but";
- mes "you'd get less of a reward";
- if (Sex == SEX_MALE) {
- mes "...You ^EEA9B8naughty boy^000000.";
- }
- else {
- mes "...You ^EEA9B8naughty girl^000000.";
- }
- switch(select("Give them all.", "Cancel.")) {
- case 1:
- if (checkweight(Spawn,220) == 0) {
- mes "[Uwe]";
- mes "Oh, I was going to give";
- mes "you a little something,";
- mes "but you've carrying too";
- mes "many things. Why don't";
- mes "you put some of it away";
- mes "in your Kafra Storage?";
- close;
- }
- mes "[Uwe]";
- mes "Just kidding~";
- mes "Don't be so nervous, I don't really need those anymore. But since I know you're hard working, I'll throw in a little something extra...";
- next;
- mes "[Uwe]";
- if (Class == Job_Whitesmith) {
- mes "I usually give you cutie MasterSmiths 10 Mini Furnaces, but you can have ^EEA9B811^000000. There's the little something extra I was talking about.";
- }
- else {
- mes "I usually give you cutie Blacksmiths 10 Mini Furnaces, but you can have ^EEA9B811^000000. There's the little something extra I was talking about.";
- }
- ein_cook = 219;
- getitem Portable_Furnace,11;
- next;
- mes "[Uwe]";
- mes "I know it's not very extravagant, but these will come in handy next time you're smithing. So make the best use of them, 'kay?";
- close;
- case 2:
- if (checkweight(Spawn,200) == 0) {
- mes "[Uwe]";
- mes "Oh, I was going to give";
- mes "you a little something,";
- mes "but you've carrying too";
- mes "many things. Why don't";
- mes "you put some of it away";
- mes "in your Kafra Storage?";
- close;
- }
- mes "[Uwe]";
- mes "Okay.";
- mes "Anyway~!";
- mes "When you do get all";
- mes "that Large Jellopy,";
- mes "just come back to me.";
- if (Sex == SEX_MALE) {
- mes "...you ^EEA9B8naughty boy^000000.";
- }
- else {
- mes "...you ^EEA9B8naughty girl^000000.";
- }
- ein_cook = 219;
- getitem Portable_Furnace,10;
- next;
- mes "[Uwe]";
- mes "This Portable Furnace is not expensive";
- mes "but very important item for smiths, right?";
- mes "Use it!";
- mes "And visit me someday again. Huhuhu..";
- close;
- }
- }
- else {
- mes "[Uwe]";
- mes "^666666You didn't bring";
- mes "any Large Jellopy...?^000000.";
- ein_cook = 219;
- next;
- mes "[Uwe]";
- mes "It's fine! It's not like I feel ^EEA9B8betrayed^000000 or anything, but I don't need them anymore! Since we're both in the business of smithing, I just hope that you remember to follow through on your favors, 'kay? Buhbye~";
- close;
- }
+ F_LargeJellopyForCoal();
case 2:
- if (checkweight(Spawn,200) == 0) {
- mes "[Uwe]";
- mes "Oh, I was going to give";
- mes "you a little something,";
- mes "but you've carrying too";
- mes "many things. Why don't";
- mes "you put some of it away";
- mes "in your Kafra Storage?";
- close;
- }
+ if (checkweight(Spawn, 200) == 0)
+ F_OverWeight();
mes "[Uwe]";
mes "Well... Then... Anyway,";
- mes "Congratulation to became";
- if (Class == Job_Whitesmith) {
- mes "a Master Smith!!";
- mes "This is my present for it. Huhuhu.";
- }
- else {
- mes "a Black Smith!!";
+ mes "Congratulation to becoming";
+ mesf("a %s!!", jobname(Class));
mes "This is my present for it. Huhuhu.";
+ if (Class != Job_Whitesmith) {
if (Sex == SEX_MALE) {
mes "...You ^EEA9B8naughty boy^000000.";
- }
- else {
+ } else {
mes "...You ^EEA9B8naughty girl^000000.";
}
}
ein_cook = 219;
- getitem Portable_Furnace,10;
+ getitem Portable_Furnace, 10;
next;
mes "[Uwe]";
mes "I know it's not very extravagant, but these will come in handy next time you're smithing. So make the best use of them, 'kay?";
@@ -875,7 +1059,7 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "Cooking is such a joy~!";
mes "The scents, the flavors, the sensation of sheer ^EEA9B8satiation^000000...";
next;
- switch(select("Um, isn't this a forge?", "Ignore him.")) {
+ switch (select("Um, isn't this a forge?", "Ignore him.")) {
case 1:
mes "[Uwe]";
mes "Is this a forge?";
@@ -898,12 +1082,11 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "important factor in cooking,";
if (Sex == SEX_MALE) {
mes "you ^EEA9B8naughty little man^000000?";
- }
- else {
+ } else {
mes "you ^EEA9B8naughty, naughty girl^000000?";
}
next;
- switch(select("Heart.", "Ingredients.", "Skills.", "Tools.")) {
+ switch (select("Heart.", "Ingredients.", "Skills.", "Tools.")) {
case 1:
mes "[Uwe]";
mes "...";
@@ -935,7 +1118,7 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "so please have one, 'kay?";
mes "Welcome to Einbroch, cutie~";
ein_cook = 1;
- getitem Emveretarcon,1;
+ getitem Emveretarcon, 1;
break;
case 2:
mes "[Uwe]";
@@ -959,7 +1142,7 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "Steel. Why don't you have 2 of";
mes "them as my little way of saying, ''Welcome to Einbroch, cutie~!''";
ein_cook = 3;
- getitem Iron,2;
+ getitem Iron, 2;
break;
case 3:
mes "[Uwe]";
@@ -996,7 +1179,7 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "so please have one, 'kay?";
mes "Welcome to Einbroch, cutie~";
ein_cook = 5;
- getitem Emveretarcon,1;
+ getitem Emveretarcon, 1;
break;
case 4:
mes "[Uwe]";
@@ -1025,7 +1208,7 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "my way of saying ''Welcome";
mes "to Einbroch, sugar honey~''";
ein_cook = 7;
- getitem Iron_Hammer,1;
+ getitem Iron_Hammer, 1;
break;
}
next;
@@ -1035,11 +1218,7 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "come and see me";
mes "anytime, alright?";
mes "So don't be shy";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_RandCloseMsg();
case 2:
mes "[Uwe]";
mes "Hmmm...?";
@@ -1049,438 +1228,62 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "and people to see. Ah well~";
close;
}
- }
- else if (ein_cook < 10) {
+ } else if (ein_cook < 10) {
mes "[Uwe]";
mes "Oh! Hello again,";
mes "you cutie adventurer.";
mes "So tell me, what brings";
- mes "you here, "+strcharinfo(PC_NAME)+"?";
+ mesf("you here, %s?", strcharinfo(PC_NAME));
next;
- switch(select("Ask about Cooking.", "Ask about Einbroch.", "Cancel.")) {
+ switch (select("Ask about Cooking.", "Ask about Einbroch.", "Cancel.")) {
case 1:
+ if (ein_cook % 2 == 0)
+ close; //Yes, there's really nothing defined for this in the Aegis Script
+ mes "[Uwe]";
+ mes "Ooh, cooking!";
+ mes "So what did you";
+ mes "want to ask me...?";
+ next;
if (ein_cook == 1) {
- mes "[Uwe]";
- mes "Ooh, cooking!";
- mes "So what did you";
- mes "want to ask me...?";
- next;
- switch(select("Ingredients", "Skills", "Tools", "Cancel")) {
+ switch (select("Ingredients", "Skills", "Tools", "Cancel")) {
case 1:
- mes "[Uwe]";
- mes "Now for beginners,";
- mes "learning to select";
- mes "and use ingredients";
- mes "is one of the most";
- mes "important fundamentals.";
- next;
- mes "[Uwe]";
- mes "Cooking is like forging";
- mes "since specific ingredients";
- mes "are needed to make specialty";
- mes "items or dishes. You can't just";
- mes "skip them if you really need";
- mes "them, right? Right!";
- next;
- mes "[Uwe]";
- mes "Once you make up your";
- mes "mind to do something,";
- mes "focus on finishing it, 'kay?";
- mes "Never cut corners and always";
- mes "dedicate yourself to make the";
- mes "very best finished product~";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Ingredients();
case 2:
- mes "[Uwe]";
- mes "When you're beginning to learn";
- mes "skills, you can't let yourself be discouraged! Practice makes";
- mes "perfect, you know? But never";
- mes "use your lack of skills as an";
- mes "excuse if you happen to fail...";
- next;
- mes "[Uwe]";
- mes "Effort is also an essential";
- mes "in forging and cooking! Now,";
- mes "on the other hand, if you put";
- mes "in all the effort but didn't learn any of the skills, you'll still get nowhere fast, right? Right!";
- next;
- mes "[Uwe]";
- mes "The key is to always";
- mes "give 100% effort and work";
- mes "on improving your skills.";
- mes "Before you know it, you'll";
- mes "be a respected master!";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "Hohohohoho."; close;
- case 2: mes "Umhohohoho.*"; close;
- case 3: mes "Umho."; close;
- }
+ F_Skills();
case 3:
- mes "[Uwe]";
- mes "Cooking is a little";
- mes "easier if you have";
- mes "nicer tools to use,";
- mes "but that's it. Tools by";
- mes "themselves can't make";
- mes "just anybody a master.";
- next;
- mes "[Uwe]";
- mes "In the end, the best";
- mes "tools are the ones you're";
- mes "most comfortable with using.";
- mes "In fact, I still use the old knife I used back when I was just";
- mes "a little novice chef~";
- next;
- mes "[Uwe]";
- mes "Oh, while we're on";
- mes "the subject of tools,";
- mes "I just received some";
- mes "new hammers today.";
- mes "Would you like a couple?";
- next;
- if (checkweight(Spawn,50) == 0) {
- mes "[Uwe]";
- mes "Mmmm...?";
- mes "You're holding too many";
- mes "things. I can't give you any";
- mes "hammers if you don't have";
- mes "room. Hurry, put your extra";
- mes "stuff in your Kafra Storage~";
- close;
- }
- ein_cook = 11;
- getitem Golden_Hammer,1;
- getitem Iron_Hammer,1;
- mes "[Uwe]";
- mes "Well, I hope";
- mes "you like them~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Tools();
case 4:
- mes "[Uwe]";
- mes "Oh...?";
- mes "Well, feel";
- mes "free to visit";
- mes "me whenever";
- mes "you want, 'kay?";
- close;
+ F_Cancel();
}
- }
- else if (ein_cook == 3) {
- mes "[Uwe]";
- mes "Ooh, cooking!";
- mes "So what did you";
- mes "want to ask me...?";
- next;
- switch(select("Heart", "Skills", "Tools", "Cancel.")) {
+ } else if (ein_cook == 3) {
+ switch (select("Heart", "Skills", "Tools", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Ah, heart. Just like forging,";
- mes "you need passion and desire";
- mes "to create something special.";
- mes "Every smith and cook knows that";
- mes "you can do anything if you have";
- mes "the will and the commitment.";
- next;
- mes "[Uwe]";
- mes "Well, that's all";
- mes "I really have to";
- mes "say about that. But";
- mes "come back and chat";
- mes "whenever you please.";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Heart();
case 2:
- mes "[Uwe]";
- mes "When you're beginning to learn";
- mes "skills, you can't let yourself be discouraged! Practice makes";
- mes "perfect, you know? But never";
- mes "use your lack of skills as an";
- mes "excuse if you happen to fail...";
- next;
- mes "[Uwe]";
- mes "Effort is also an essential";
- mes "in forging and cooking! Now,";
- mes "on the other hand, if you put";
- mes "in all the effort but didn't learn any of the skills, you'll still get nowhere fast, right? Right!";
- next;
- mes "[Uwe]";
- mes "The key is to always";
- mes "give 100% effort and work";
- mes "on improving your skills.";
- mes "Before you know it, you'll";
- mes "be a respected master!";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "Hohohohoho."; close;
- case 2: mes "Umhohohoho.*"; close;
- case 3: mes "Umho."; close;
- }
+ F_Skills();
case 3:
- mes "[Uwe]";
- mes "Cooking is a little";
- mes "easier if you have";
- mes "nicer tools to use,";
- mes "but that's it. Tools by";
- mes "themselves can't make";
- mes "just anybody a master.";
- next;
- mes "[Uwe]";
- mes "In the end, the best";
- mes "tools are the ones you're";
- mes "most comfortable with using.";
- mes "In fact, I still use the old knife I used back when I was just";
- mes "a little novice chef~";
- next;
- mes "[Uwe]";
- mes "Oh, while we're on";
- mes "the subject of tools,";
- mes "I just received some";
- mes "new hammers today.";
- mes "Would you like a couple?";
- next;
- if (checkweight(Spawn,50) == 0) {
- mes "[Uwe]";
- mes "Mmmm...?";
- mes "You're holding too many";
- mes "things. I can't give you any";
- mes "hammers if you don't have";
- mes "room. Hurry, put your extra";
- mes "stuff in your Kafra Storage~";
- close;
- }
- ein_cook = 13;
- getitem Golden_Hammer,1;
- getitem Iron_Hammer,1;
- mes "[Uwe]";
- mes "Well, I hope";
- mes "you like them~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Tools();
case 4:
- mes "[Uwe]";
- mes "Oh...?";
- mes "Well, feel";
- mes "free to visit";
- mes "me whenever";
- mes "you want, 'kay?";
- close;
+ F_Cancel();
}
- }
- else if (ein_cook == 5) {
- mes "[Uwe]";
- mes "Ooh, cooking!";
- mes "So what did you";
- mes "want to ask me...?";
- next;
- switch(select("Heart", "Ingredients", "Tools", "Cancel")) {
+ } else if (ein_cook == 5) {
+ switch (select("Heart", "Ingredients", "Tools", "Cancel")) {
case 1:
- mes "[Uwe]";
- mes "Ah, heart. Just like forging,";
- mes "you need passion and desire";
- mes "to create something special.";
- mes "Every smith and cook knows that";
- mes "you can do anything if you have";
- mes "the will and the commitment.";
- next;
- mes "[Uwe]";
- mes "Well, that's all";
- mes "I really have to";
- mes "say about that. But";
- mes "come back and chat";
- mes "whenever you please.";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Heart();
case 2:
- mes "[Uwe]";
- mes "Now for beginners,";
- mes "learning to select";
- mes "and use ingredients";
- mes "is one of the most";
- mes "important fundamentals.";
- next;
- mes "[Uwe]";
- mes "Cooking is like forging";
- mes "since specific ingredients";
- mes "are needed to make specialty";
- mes "items or dishes. You can't just";
- mes "skip them if you really need";
- mes "them, right? Right!";
- next;
- mes "[Uwe]";
- mes "Once you make up your";
- mes "mind to do something,";
- mes "focus on finishing it, 'kay?";
- mes "Never cut corners and always";
- mes "dedicate yourself to make the";
- mes "very best finished product~";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Ingredients();
case 3:
- mes "[Uwe]";
- mes "Cooking is a little";
- mes "easier if you have";
- mes "nicer tools to use,";
- mes "but that's it. Tools by";
- mes "themselves can't make";
- mes "just anybody a master.";
- next;
- mes "[Uwe]";
- mes "In the end, the best";
- mes "tools are the ones you're";
- mes "most comfortable with using.";
- mes "In fact, I still use the old knife I used back when I was just";
- mes "a little novice chef~";
- next;
- mes "[Uwe]";
- mes "Oh, while we're on";
- mes "the subject of tools,";
- mes "I just received some";
- mes "new hammers today.";
- mes "Would you like a couple?";
- next;
- if (checkweight(Spawn,50) == 0) {
- mes "[Uwe]";
- mes "Mmmm...?";
- mes "You're holding too many";
- mes "things. I can't give you any";
- mes "hammers if you don't have";
- mes "room. Hurry, put your extra";
- mes "stuff in your Kafra Storage~";
- close;
- }
- ein_cook = 15;
- getitem Golden_Hammer,1;
- getitem Iron_Hammer,1;
- next;
- mes "[Uwe]";
- mes "Well, I hope";
- mes "you like them~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Tools();
case 4:
- mes "[Uwe]";
- mes "Oh...?";
- mes "Well, feel";
- mes "free to visit";
- mes "me whenever";
- mes "you want, 'kay?";
- close;
+ F_Cancel();
}
- }
- else if (ein_cook == 7) {
- mes "[Uwe]";
- mes "Ooh, cooking!";
- mes "So what did you";
- mes "want to ask me...?";
- next;
- switch(select("Heart", "Ingredients", "Skills", "Cancel.")) {
+ } else if (ein_cook == 7) {
+ switch (select("Heart", "Ingredients", "Skills", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Ah, heart. Just like forging,";
- mes "you need passion and desire";
- mes "to create something special.";
- mes "Every smith and cook knows that";
- mes "you can do anything if you have";
- mes "the will and the commitment.";
- next;
- mes "[Uwe]";
- mes "Well, that's all";
- mes "I really have to";
- mes "say about that. But";
- mes "come back and chat";
- mes "whenever you please.";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Heart();
case 2:
- mes "[Uwe]";
- mes "Now for beginners,";
- mes "learning to select";
- mes "and use ingredients";
- mes "is one of the most";
- mes "important fundamentals.";
- next;
- mes "[Uwe]";
- mes "Cooking is like forging";
- mes "since specific ingredients";
- mes "are needed to make specialty";
- mes "items or dishes. You can't just";
- mes "skip them if you really need";
- mes "them, right? Right!";
- next;
- mes "[Uwe]";
- mes "Once you make up your";
- mes "mind to do something,";
- mes "focus on finishing it, 'kay?";
- mes "Never cut corners and always";
- mes "dedicate yourself to make the";
- mes "very best finished product~";
- ein_cook = 17;
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
- case 3:
+ F_Ingredients();
+ case 3: //Yes, the part is suddenly different here in the Aegis Script as well.
mes "[Uwe]";
mes "'I couldn't do it cuz";
mes "I'm not skillful with it.'";
@@ -1518,458 +1321,56 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "[Uwe]";
mes "Well, I hope";
mes "you like them~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_RandCloseMsg();
case 4:
- mes "[Uwe]";
- mes "Oh...?";
- mes "Well, feel";
- mes "free to visit";
- mes "me whenever";
- mes "you want, 'kay?";
- close;
+ F_Cancel();
}
- }
- else if (ein_cook == 9) {
- mes "[Uwe]";
- mes "Ooh, cooking!";
- mes "So what did you";
- mes "want to ask me...?";
- next;
- switch(select("Heart", "Ingredients", "Skills", "Tools", "Cancel.")) {
+ } else if (ein_cook == 9) {
+ switch (select("Heart", "Ingredients", "Skills", "Tools", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Ah, heart. Just like forging,";
- mes "you need passion and desire";
- mes "to create something special.";
- mes "Every smith and cook knows that";
- mes "you can do anything if you have";
- mes "the will and the commitment.";
- next;
- mes "[Uwe]";
- mes "Well, that's all";
- mes "I really have to";
- mes "say about that. But";
- mes "come back and chat";
- mes "whenever you please.";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Heart();
case 2:
- mes "[Uwe]";
- mes "Now for beginners,";
- mes "learning to select";
- mes "and use ingredients";
- mes "is one of the most";
- mes "important fundamentals.";
- next;
- mes "[Uwe]";
- mes "Cooking is like forging";
- mes "since specific ingredients";
- mes "are needed to make specialty";
- mes "items or dishes. You can't just";
- mes "skip them if you really need";
- mes "them, right? Right!";
- next;
- mes "[Uwe]";
- mes "Once you make up your";
- mes "mind to do something,";
- mes "focus on finishing it, 'kay?";
- mes "Never cut corners and always";
- mes "dedicate yourself to make the";
- mes "very best finished product~";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Ingredients();
case 3:
- mes "[Uwe]";
- mes "When you're beginning to learn";
- mes "skills, you can't let yourself be discouraged! Practice makes";
- mes "perfect, you know? But never";
- mes "use your lack of skills as an";
- mes "excuse if you happen to fail...";
- next;
- mes "[Uwe]";
- mes "Effort is also an essential";
- mes "in forging and cooking! Now,";
- mes "on the other hand, if you put";
- mes "in all the effort but didn't learn any of the skills, you'll still get nowhere fast, right? Right!";
- next;
- mes "[Uwe]";
- mes "The key is to always";
- mes "give 100% effort and work";
- mes "on improving your skills.";
- mes "Before you know it, you'll";
- mes "be a respected master!";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "Hohohohoho."; close;
- case 2: mes "Umhohohoho.*"; close;
- case 3: mes "Umho."; close;
- }
+ F_Skills();
case 4:
- mes "[Uwe]";
- mes "Cooking is a little";
- mes "easier if you have";
- mes "nicer tools to use,";
- mes "but that's it. Tools by";
- mes "themselves can't make";
- mes "just anybody a master.";
- next;
- mes "[Uwe]";
- mes "In the end, the best";
- mes "tools are the ones you're";
- mes "most comfortable with using.";
- mes "In fact, I still use the old knife I used back when I was just";
- mes "a little novice chef~";
- next;
- mes "[Uwe]";
- mes "Oh, while we're on";
- mes "the subject of tools,";
- mes "I just received some";
- mes "new hammers today.";
- mes "Would you like a couple?";
- next;
- if (checkweight(Spawn,50) == 0) {
- mes "[Uwe]";
- mes "Mmmm...?";
- mes "You're holding too many";
- mes "things. I can't give you any";
- mes "hammers if you don't have";
- mes "room. Hurry, put your extra";
- mes "stuff in your Kafra Storage~";
- close;
- }
- ein_cook = 19;
- getitem Golden_Hammer,1;
- getitem Iron_Hammer,1;
- next;
- mes "[Uwe]";
- mes "Well, I hope";
- mes "you like them~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Tools();
case 5:
- mes "[Uwe]";
- mes "Oh...?";
- mes "Well, feel";
- mes "free to visit";
- mes "me whenever";
- mes "you want, 'kay?";
- close;
+ F_Cancel();
}
}
case 2:
- mes "[Uwe]";
- mes "Einbroch was originally";
- mes "built to support Einbech's";
- mes "mining efforts. Because it's";
- mes "small and crowded with people,";
- mes "there's no room to build the ore refining factories over there.";
- next;
- mes "[Uwe]";
- mes "Since Einbroch used to be";
- mes "an empty lot, it was perfect";
- mes "for building factories. That's";
- mes "what my grandfather told me a";
- mes "long time ago. Anyway, Einbroch quickly grew into a major city.";
- next;
- mes "[Uwe]";
- mes "Now people think that this";
- mes "city was never planned to be";
- mes "just an extension of Einbech.";
- mes "See that rampart over there?";
- mes "It doesn't connect to Einbech at all! No protection for them...";
- next;
- mes "[Uwe]";
- mes "It's like the government";
- mes "lost all interest in Einbech.";
- mes "Even the miners there have";
- mes "been moving here to work in ";
- mes "the factories. But more people hasn't made this city more lively.";
- next;
- mes "[Uwe]";
- mes "Einbroch may look modern";
- mes "and exciting now, but soon";
- mes "you'll see that there's no sign";
- mes "of warmth or life. So... Just don't live here in your old age.";
- next;
- switch(select("Then why are you here?", "But I like the city life~")) {
- case 1:
- mes "[Uwe]";
- mes "Well, sugar honey,";
- mes "I've been waiting for";
- mes "someone. But... It looks";
- mes "like that person won't be";
- mes "coming back anyway.";
- next;
- mes "[Uwe]";
- mes "Oooh, but let's not talk";
- mes "about that. Next time you";
- mes "drop by, we'll talk about";
- mes "something more fun, 'kay?";
- close;
- case 2:
- mes "[Uwe]";
- mes "Big cities can be nice,";
- mes "but you never get to enjoy";
- mes "the sensation of stepping";
- mes "barefoot through the grass,";
- mes "or the magnificent sight of";
- mes "the shining stars at night.";
- next;
- mes "[Uwe]";
- mes "And the people who live";
- mes "in the cities can be so";
- mes "uptight! I've known more";
- mes "than a few who look down";
- mes "on people from smaller towns.";
- next;
- mes "[Uwe]";
- mes "It's sad to see some";
- mes "people will always be";
- mes "that ignorant. I... I just";
- mes "can't believe those people";
- mes "can be sooo close minded!";
- next;
- mes "[Uwe]";
- mes "Oh...!";
- mes "I'm sorry, I guess";
- mes "I went a little overboard.";
- mes "^666666*Titter*^000000 Next time you drop";
- mes "by, we'll talk about something";
- mes "more fun, 'kay? Buhbye~";
- close;
- }
+ F_AboutEinbroch();
case 3:
- mes "[Uwe]";
- mes "Oh...?";
- mes "Well, feel";
- mes "free to visit";
- mes "me whenever";
- mes "you want, 'kay?";
- close;
+ F_Cancel();
}
- }
- else if ((ein_cook < 20) || (ein_cook == 219)) {
+ } else if (ein_cook < 20 || ein_cook == 219) {
mes "[Uwe]";
mes "Oh, welcome back.";
mes "So how's the weapon";
mes "forging coming along?";
next;
- switch(select("Talk about Cooking", "Talk about Einbroch", "Talk about Cooking Utensils", "Cancel")) {
+ switch (select("Talk about Cooking", "Talk about Einbroch", "Talk about Cooking Utensils", "Cancel")) {
case 1:
mes "[Uwe]";
mes "Ooh, cooking!";
mes "So what did you";
mes "want to ask me...?";
next;
- switch(select("Heart", "Ingredients", "Skills", "Tools", "Cancel.")) {
+ switch (select("Heart", "Ingredients", "Skills", "Tools", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Ah, heart. Just like forging,";
- mes "you need passion and desire";
- mes "to create something special.";
- mes "Every smith and cook knows that";
- mes "you can do anything if you have";
- mes "the will and the commitment.";
- next;
- mes "[Uwe]";
- mes "Well, that's all";
- mes "I really have to";
- mes "say about that. But";
- mes "come back and chat";
- mes "whenever you please.";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Heart();
case 2:
- mes "[Uwe]";
- mes "Now for beginners,";
- mes "learning to select";
- mes "and use ingredients";
- mes "is one of the most";
- mes "important fundamentals.";
- next;
- mes "[Uwe]";
- mes "Cooking is like forging";
- mes "since specific ingredients";
- mes "are needed to make specialty";
- mes "items or dishes. You can't just";
- mes "skip them if you really need";
- mes "them, right? Right!";
- next;
- mes "[Uwe]";
- mes "Once you make up your";
- mes "mind to do something,";
- mes "focus on finishing it, 'kay?";
- mes "Never cut corners and always";
- mes "dedicate yourself to make the";
- mes "very best finished product~";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Ingredients();
case 3:
- mes "[Uwe]";
- mes "When you're beginning to learn";
- mes "skills, you can't let yourself be discouraged! Practice makes";
- mes "perfect, you know? But never";
- mes "use your lack of skills as an";
- mes "excuse if you happen to fail...";
- next;
- mes "[Uwe]";
- mes "Effort is also an essential";
- mes "in forging and cooking! Now,";
- mes "on the other hand, if you put";
- mes "in all the effort but didn't learn any of the skills, you'll still get nowhere fast, right? Right!";
- next;
- mes "[Uwe]";
- mes "The key is to always";
- mes "give 100% effort and work";
- mes "on improving your skills.";
- mes "Before you know it, you'll";
- mes "be a respected master!";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Skills();
case 4:
- mes "[Uwe]";
- mes "Cooking is a little";
- mes "easier if you have";
- mes "nicer tools to use,";
- mes "but that's it. Tools by";
- mes "themselves can't make";
- mes "just anybody a master.";
- next;
- mes "[Uwe]";
- mes "In the end, the best";
- mes "tools are the ones you're";
- mes "most comfortable with using.";
- mes "In fact, I still use the old knife I used back when I was just";
- mes "a little novice chef~";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_ToolsWithoutReward();
case 5:
- mes "[Uwe]";
- mes "Oh...?";
- mes "Well, feel";
- mes "free to visit";
- mes "me whenever";
- mes "you want, 'kay?";
- close;
+ F_Cancel();
}
case 2:
- mes "[Uwe]";
- mes "Einbroch was originally";
- mes "built to support Einbech's";
- mes "mining efforts. Because it's";
- mes "small and crowded with people,";
- mes "there's no room to build the ore refining factories over there.";
- next;
- mes "[Uwe]";
- mes "Since Einbroch used to be";
- mes "an empty lot, it was perfect";
- mes "for building factories. That's";
- mes "what my grandfather told me a";
- mes "long time ago. Anyway, Einbroch quickly grew into a major city.";
- next;
- mes "[Uwe]";
- mes "Now people think that this";
- mes "city was never planned to be";
- mes "just an extension of Einbech.";
- mes "See that rampart over there?";
- mes "It doesn't connect to Einbech at all! No protection for them...";
- next;
- mes "[Uwe]";
- mes "It's like the government";
- mes "lost all interest in Einbech.";
- mes "Even the miners there have";
- mes "been moving here to work in ";
- mes "the factories. But more people hasn't made this city more lively.";
- next;
- mes "[Uwe]";
- mes "Einbroch may look modern";
- mes "and exciting now, but soon";
- mes "you'll see that there's no sign";
- mes "of warmth or life. So... Just don't live here in your old age.";
- next;
- switch(select("Then why are you here?", "But I like the city life~")) {
- case 1:
- mes "[Uwe]";
- mes "Well, sugar honey,";
- mes "I've been waiting for someone. But... It looks like that person won't be coming back anyway.";
- next;
- mes "[Uwe]";
- mes "Oooh, but let's not talk about that. Next time you drop by, we'll talk about something more fun, 'kay? Buhbye~";
- close;
- case 2:
- mes "[Uwe]";
- mes "Well, big cities are nice, but you never get to enjoy the sensation of stepping barefoot through the grass, or the clear sight of the stars at night.";
- next;
- mes "[Uwe]";
- mes "And the people who live in cities can be so uptight! I've known more than a few who look down on people who live in smaller towns.";
- next;
- mes "[Uwe]";
- mes "It's sad to see some people will always be that ignorant. I... I just can't believe people can be sooo close minded!";
- next;
- mes "[Uwe]";
- mes "Oh...!";
- mes "I'm sorry, I guess I went a little overboard. ^666666*Titter*^000000 Next time you drop by, we'll talk about something more fun, 'kay? Buhbye~";
- close;
- }
+ F_AboutEinbroch();
case 3:
mes "[Uwe]";
mes "Cooking utensils?";
@@ -1995,19 +1396,18 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "30 ^0000FFJubilee^000000 and 4 ^0000FFLarge Jellopy^000000.";
mes "Then, I'll trade you 1 Coal for all of those. How does it sound?";
next;
- switch(select("Sure.", "No, thanks.")) {
+ switch (select("Sure.", "No, thanks.")) {
case 1:
- if ((countitem(Jubilee) > 29) && (countitem(Large_Jellopy) > 3)) {
- delitem Jubilee,30;
- delitem Large_Jellopy,4;
- getitem Coal,1;
+ if (countitem(Jubilee) > 29 && countitem(Large_Jellopy) > 3) {
+ delitem Jubilee, 30;
+ delitem Large_Jellopy, 4;
+ getitem Coal, 1;
mes "[Uwe]";
mes "Hooray!";
mes "Thank you";
mes "^EEA9B8soooo^000000 much!";
close;
- }
- else {
+ } else {
mes "[Uwe]";
mes "Hmmm...?";
mes "You don't have";
@@ -2031,22 +1431,15 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
close;
}
case 4:
- mes "[Uwe]";
- mes "Oh...?";
- mes "Well, feel";
- mes "free to visit";
- mes "me whenever";
- mes "you want, 'kay?";
- close;
+ F_Cancel();
}
- }
- else if (ein_cook > 299) {
+ } else if (ein_cook > 299) {
if (Class == Job_Whitesmith) {
mes "[Uwe]";
mes "Oooh...!";
mes "Congratulations!";
mes "You finally became";
- mes "a cutie MasterSmith!";
+ mesf("a cutie %s!", jobname(Class));
next;
mes "[Uwe]";
mes "Mmmm...";
@@ -2057,14 +1450,13 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "cookies I just baked~";
next;
ein_cook = 9;
- getitem Well_Baked_Cookie,5;
+ getitem Well_Baked_Cookie, 5;
mes "[Uwe]";
mes "Okay, enjoy!";
mes "I hope you have";
mes "a good time smithing!";
close;
- }
- else {
+ } else {
mes "[Uwe]";
mes "Hmmm?";
mes "Oh, it's you~";
@@ -2082,40 +1474,24 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
close;
}
}
- }
- else {
- .@aaa = ein_cook % 2;
- if (.@aaa == 1) {
- .@bbb = ein_cook;
- if (.@bbb > 99) {
- .@bbb -= 100;
- if (.@bbb > 99) {
- .@bbb -= 100;
- if (.@bbb > 99) {
- .@ccc = 3;
- }
- else {
- .@ccc = 2;
- }
- }
- else {
- .@ccc = 1;
- }
- }
- else {
- .@ccc = 0;
- }
- if (.@ccc < 3) {
+ } else {
+ if (ein_cook % 2 == 1) {
+ if (ein_cook >= 300) {
+ mes "[Uwe]";
+ mes "Ah, hello again,";
+ mes "cutie adventurer.";
+ mes "How can I help you?";
+ next;
+ } else {
mes "[Uwe]";
mes "Hm...?";
mes "I never forget a face,";
mes "but somehow I feel like";
mes "we've met somewhere before...";
next;
- if (.@ccc == 0) {
+ if (ein_cook < 100) {
ein_cook += 300;
- }
- else if (.@ccc == 2) {
+ } else if (ein_cook < 300) {
ein_cook += 100;
}
mes "[Uwe]";
@@ -2129,442 +1505,66 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "What brings to";
if (Sex == SEX_MALE) {
mes "me, you ^EEA9B8naughty boy^000000?";
- }
- else {
+ } else {
mes "me, you ^EEA9B8naughty girl^000000?";
}
next;
}
- else if (.@ccc == 3) {
- mes "[Uwe]";
- mes "Ah, hello again,";
- mes "cutie adventurer.";
- mes "How can I help you?";
- next;
- }
- switch(select("Ask about Einbroch.", "Ask about Cooking.", "Cancel.")) {
+ switch (select("Ask about Einbroch.", "Ask about Cooking.", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Einbroch was originally";
- mes "built to support Einbech's";
- mes "mining efforts. Because it's";
- mes "small and crowded with people,";
- mes "there's no room to build the ore refining factories over there.";
- next;
- mes "[Uwe]";
- mes "Since Einbroch used to be";
- mes "an empty lot, it was perfect";
- mes "for building factories. That's";
- mes "what my grandfather told me a";
- mes "long time ago. Anyway, Einbroch quickly grew into a major city.";
- next;
- mes "[Uwe]";
- mes "Now people think that this";
- mes "city was never planned to be";
- mes "just an extension of Einbech.";
- mes "See that rampart over there?";
- mes "It doesn't connect to Einbech at all! No protection for them...";
- next;
- mes "[Uwe]";
- mes "It's like the government";
- mes "lost all interest in Einbech.";
- mes "Even the miners there have";
- mes "been moving here to work in ";
- mes "the factories. But more people hasn't made this city more lively.";
- next;
- mes "[Uwe]";
- mes "Einbroch may look modern";
- mes "and exciting now, but soon";
- mes "you'll see that there's no sign";
- mes "of warmth or life. So... Just don't live here in your old age.";
- next;
- switch(select("Then why are you here?", "I won't. Thanks for the advice.")) {
- case 1:
- mes "[Uwe]";
- mes "Well, I have some";
- mes "precious memories of";
- mes "this place. Once, there was";
- mes "a man who lived here who";
- mes "was just like a father to me.";
- next;
- mes "[Uwe]";
- mes "Oh, but I'm sure that";
- mes "you don't want to hear";
- mes "about that. Next time you";
- mes "drop by, we'll talk about";
- mes "something more fun, 'kay?";
- mes "Buhbye for now, cutie~";
- close;
- case 2:
- mes "[Uwe]";
- mes "Oh, that is such";
- mes "a good decision,";
- mes "sugar honey! Oh, you";
- mes "cutie adventurers are";
- mes "so precious, so lovable.";
- mes "^333333*Tee hee hee~*^000000";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- close;
- }
+ F_AboutEinbroch();
case 2:
mes "[Uwe]";
mes "Ooh, cooking!";
mes "So what did you";
mes "want to ask me...?";
next;
- switch(select("Heart", "Ingredients", "Skills", "Tools", "Cancel.")) {
+ switch (select("Heart", "Ingredients", "Skills", "Tools", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Ah, heart. Just like forging,";
- mes "you need passion and desire";
- mes "to create something special.";
- mes "Every smith and cook knows that";
- mes "you can do anything if you have";
- mes "the will and the commitment.";
- next;
- mes "[Uwe]";
- mes "Well, that's all";
- mes "I really have to";
- mes "say about that. But";
- mes "come back and chat";
- mes "whenever you please.";
- break;
+ F_Heart();
case 2:
- mes "[Uwe]";
- mes "Now for beginners,";
- mes "learning to select";
- mes "and use ingredients";
- mes "is one of the most";
- mes "important fundamentals.";
- next;
- mes "[Uwe]";
- mes "Cooking is like forging";
- mes "since specific ingredients";
- mes "are needed to make specialty";
- mes "items or dishes. You can't just";
- mes "skip them if you really need";
- mes "them, right? Right!";
- next;
- mes "[Uwe]";
- mes "Once you make up your";
- mes "mind to do something,";
- mes "focus on finishing it, 'kay?";
- mes "Never cut corners and always";
- mes "dedicate yourself to make the";
- mes "very best finished product~";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- break;
+ F_Ingredients();
case 3:
- mes "[Uwe]";
- mes "When you're beginning to learn";
- mes "skills, you can't let yourself be discouraged! Practice makes";
- mes "perfect, you know? But never";
- mes "use your lack of skills as an";
- mes "excuse if you happen to fail...";
- next;
- mes "[Uwe]";
- mes "Effort is also an essential";
- mes "in forging and cooking! Now,";
- mes "on the other hand, if you put";
- mes "in all the effort but didn't learn any of the skills, you'll still get nowhere fast, right? Right!";
- next;
- mes "[Uwe]";
- mes "The key is to always";
- mes "give 100% effort and work";
- mes "on improving your skills.";
- mes "Before you know it, you'll";
- mes "be a respected master!";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- break;
+ F_Skills();
case 4:
- mes "[Uwe]";
- mes "Cooking is a little";
- mes "easier if you have";
- mes "nicer tools to use,";
- mes "but that's it. Tools by";
- mes "themselves can't make";
- mes "just anybody a master.";
- next;
- mes "[Uwe]";
- mes "In the end, the best";
- mes "tools are the ones you're";
- mes "most comfortable with using.";
- mes "In fact, I still use the old knife I used back when I was just";
- mes "a little novice chef~";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- break;
+ F_ToolsWithoutReward();
case 5:
- mes "[Uwe]";
- mes "Oh...?";
- mes "Well, feel";
- mes "free to visit";
- mes "me whenever";
- mes "you want, 'kay?";
- close;
- }
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; break;
- case 2: mes "...*Tee Hee~*"; break;
- case 3: mes "...Behbie~";
+ F_Cancel();
}
- close;
-
case 3:
- mes "[Uwe]";
- mes "Oh...?";
- mes "Well, feel";
- mes "free to visit";
- mes "me whenever";
- mes "you want, 'kay?";
- close;
+ F_Cancel();
}
}
if (ein_cook > 999) {
- .@eee = ein_cook-1000;
- if (.@eee > 199) {
+ if (ein_cook > 1199) {
mes "[Uwe]";
mes "Ah, hello again,";
mes "cutie adventurer.";
mes "How can I help you?";
next;
- switch(select("Talk about Einbroch.", "Ask him to forge a Weapon.", "Talk about Cooking.", "Cancel.")) {
+ switch (select("Talk about Einbroch.", "Ask him to forge a Weapon.", "Talk about Cooking.", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Einbroch was originally";
- mes "built to support Einbech's";
- mes "mining efforts. Because it's";
- mes "small and crowded with people,";
- mes "there's no room to build the ore refining factories over there.";
- next;
- mes "[Uwe]";
- mes "Since Einbroch used to be";
- mes "an empty lot, it was perfect";
- mes "for building factories. That's";
- mes "what my grandfather told me a";
- mes "long time ago. Anyway, Einbroch quickly grew into a major city.";
- next;
- mes "[Uwe]";
- mes "Now people think that this";
- mes "city was never planned to be";
- mes "just an extension of Einbech.";
- mes "See that rampart over there?";
- mes "It doesn't connect to Einbech at all! No protection for them...";
- next;
- mes "[Uwe]";
- mes "It's like the government";
- mes "lost all interest in Einbech.";
- mes "Even the miners there have";
- mes "been moving here to work in ";
- mes "the factories. But more people hasn't made this city more lively.";
- next;
- mes "[Uwe]";
- mes "Einbroch may look modern";
- mes "and exciting now, but soon";
- mes "you'll see that there's no sign";
- mes "of warmth or life. So... Just don't live here in your old age.";
- next;
- switch(select("Then why are you here?", "I won't. Thanks for the advice.")) {
- case 1:
- mes "[Uwe]";
- mes "Well, I have some";
- mes "precious memories of";
- mes "this place. Once, there was";
- mes "a man who lived here who";
- mes "was just like a father to me.";
- next;
- mes "[Uwe]";
- mes "Oh, but I'm sure that";
- mes "you don't want to hear";
- mes "about that. Next time you";
- mes "drop by, we'll talk about";
- mes "something more fun, 'kay?";
- mes "Buhbye for now, cutie~";
- close;
- case 2:
- mes "[Uwe]";
- mes "Oh, that is such";
- mes "a good decision,";
- mes "sugar honey! Oh, you";
- mes "cutie adventurers are";
- mes "so precious, so lovable.";
- mes "^333333*Tee hee hee~*^000000";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- close;
- }
+ F_AboutEinbroch();
case 2:
- mes "[Uwe]";
- mes "Well...";
- mes "I actually just";
- mes "do smithing work";
- mes "to create my own";
- mes "cooking tools.";
- next;
- mes "[Uwe]";
- mes "Oh, I understand";
- mes "that somebody needs";
- mes "to fight the monsters,";
- mes "but I'm the wrong person";
- mes "to ask for forging weapons.";
- mes "I... am a strict pacifist~";
- next;
- mes "[Uwe]";
- mes "Just go look";
- mes "around for a little";
- mes "bit, I'm sure you'll";
- mes "find a Blacksmith";
- mes "who's willing to forge";
- mes "you a good weapon~";
- close;
+ F_ForgeWeapon();
case 3:
mes "[Uwe]";
mes "Ooh, cooking!";
mes "So what did you";
mes "want to ask me...?";
next;
- switch(select("Heart", "Ingredients", "Skills", "Tools", "Cancel.")) {
+ switch (select("Heart", "Ingredients", "Skills", "Tools", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Ah, heart. Just like forging,";
- mes "you need passion and desire";
- mes "to create something special.";
- mes "Every smith and cook knows that";
- mes "you can do anything if you have";
- mes "the will and the commitment.";
- next;
- mes "[Uwe]";
- mes "Well, that's all";
- mes "I really have to";
- mes "say about that. But";
- mes "come back and chat";
- mes "whenever you please.";
- break;
+ F_Heart();
case 2:
- mes "[Uwe]";
- mes "Now for beginners,";
- mes "learning to select";
- mes "and use ingredients";
- mes "is one of the most";
- mes "important fundamentals.";
- next;
- mes "[Uwe]";
- mes "Cooking is like forging";
- mes "since specific ingredients";
- mes "are needed to make specialty";
- mes "items or dishes. You can't just";
- mes "skip them if you really need";
- mes "them, right? Right!";
- next;
- mes "[Uwe]";
- mes "Once you make up your";
- mes "mind to do something,";
- mes "focus on finishing it, 'kay?";
- mes "Never cut corners and always";
- mes "dedicate yourself to make the";
- mes "very best finished product~";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- break;
+ F_Ingredients();
case 3:
- mes "[Uwe]";
- mes "When you're beginning to learn";
- mes "skills, you can't let yourself be discouraged! Practice makes";
- mes "perfect, you know? But never";
- mes "use your lack of skills as an";
- mes "excuse if you happen to fail...";
- next;
- mes "[Uwe]";
- mes "Effort is also an essential";
- mes "in forging and cooking! Now,";
- mes "on the other hand, if you put";
- mes "in all the effort but didn't learn any of the skills, you'll still get nowhere fast, right? Right!";
- next;
- mes "[Uwe]";
- mes "The key is to always";
- mes "give 100% effort and work";
- mes "on improving your skills.";
- mes "Before you know it, you'll";
- mes "be a respected master!";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- break;
+ F_Skills();
case 4:
- mes "[Uwe]";
- mes "Cooking is a little";
- mes "easier if you have";
- mes "nicer tools to use,";
- mes "but that's it. Tools by";
- mes "themselves can't make";
- mes "just anybody a master.";
- next;
- mes "[Uwe]";
- mes "In the end, the best";
- mes "tools are the ones you're";
- mes "most comfortable with using.";
- mes "In fact, I still use the old knife I used back when I was just";
- mes "a little novice chef~";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- break;
+ F_ToolsWithoutReward();
case 5:
- mes "[Uwe]";
- mes "Oh...?";
- mes "Well, feel";
- mes "free to visit";
- mes "me whenever";
- mes "you want, 'kay?";
- close;
- }
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
+ F_Cancel();
}
-
case 4:
mes "[Uwe]";
mes "Alright then,";
@@ -2573,8 +1573,7 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "Hohohohoho~";
close;
}
- }
- else if (.@eee > 99) {
+ } else if (ein_cook > 1099) {
mes "[Uwe]";
mes "Oh hello hello~";
mes "It's been a long";
@@ -2589,118 +1588,27 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "Did you already forget";
mes "the 6 Large Jellopy?";
next;
- switch(select("Talk about Einbroch.", "Ask him to forge a Weapon.", "Give him the Materials.", "Cancel.")) {
+ switch (select("Talk about Einbroch.", "Ask him to forge a Weapon.", "Give him the Materials.", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Einbroch was originally";
- mes "built to support Einbech's";
- mes "mining efforts. Because it's";
- mes "small and crowded with people,";
- mes "there's no room to build the ore refining factories over there.";
- next;
- mes "[Uwe]";
- mes "Since Einbroch used to be";
- mes "an empty lot, it was perfect";
- mes "for building factories. That's";
- mes "what my grandfather told me a";
- mes "long time ago. Anyway, Einbroch quickly grew into a major city.";
- next;
- mes "[Uwe]";
- mes "Now people think that this";
- mes "city was never planned to be";
- mes "just an extension of Einbech.";
- mes "See that rampart over there?";
- mes "It doesn't connect to Einbech at all! No protection for them...";
- next;
- mes "[Uwe]";
- mes "It's like the government";
- mes "lost all interest in Einbech.";
- mes "Even the miners there have";
- mes "been moving here to work in ";
- mes "the factories. But more people hasn't made this city more lively.";
- next;
- mes "[Uwe]";
- mes "Einbroch may look modern";
- mes "and exciting now, but soon";
- mes "you'll see that there's no sign";
- mes "of warmth or life. So... Just don't live here in your old age.";
- next;
- switch(select("Then why are you here?", "I won't. Thanks for the advice.")) {
- case 1:
- mes "[Uwe]";
- mes "Well, I have some";
- mes "precious memories of";
- mes "this place. Once, there was";
- mes "a man who lived here who";
- mes "was just like a father to me.";
- next;
- mes "[Uwe]";
- mes "Oh, but I'm sure that";
- mes "you don't want to hear";
- mes "about that. Next time you";
- mes "drop by, we'll talk about";
- mes "something more fun, 'kay?";
- mes "Buhbye for now, cutie~";
- close;
- case 2:
- mes "[Uwe]";
- mes "Oh, that is such";
- mes "a good decision,";
- mes "sugar honey! Oh, you";
- mes "cutie adventurers are";
- mes "so precious, so lovable.";
- mes "^333333*Tee hee hee~*^000000";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- close;
- }
+ F_AboutEinbroch();
case 2:
- mes "[Uwe]";
- mes "Well...";
- mes "I actually just";
- mes "do smithing work";
- mes "to create my own";
- mes "cooking tools.";
- next;
- mes "[Uwe]";
- mes "Oh, I understand";
- mes "that somebody needs";
- mes "to fight the monsters,";
- mes "but I'm the wrong person";
- mes "to ask for forging weapons.";
- mes "I... am a strict pacifist~";
- next;
- mes "[Uwe]";
- mes "Just go look";
- mes "around for a little";
- mes "bit, I'm sure you'll";
- mes "find a Blacksmith";
- mes "who's willing to forge";
- mes "you a good weapon~";
- close;
+ F_ForgeWeapon();
case 3:
if (countitem(Large_Jellopy) > 5) {
mes "[Uwe]";
mes "Thank you ^EEA9B8so^000000 much!";
mes "Here's the Coal I promised~";
- delitem Large_Jellopy,6;
+ delitem Large_Jellopy, 6;
ein_cook += 100;
- getitem Coal,1;
+ getitem Coal, 1;
next;
- }
- else {
+ } else {
mes "[Uwe]";
mes "Huh...?";
if (countitem(Large_Jellopy) == 0) {
mes "You brought";
mes "none at all...?";
- }
- else {
+ } else {
mes "This isn't enough";
mes "Large Jellopy...!";
}
@@ -2715,121 +1623,15 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "honey. Now what would you like";
mes "to hear more about? Hmm...?";
next;
- switch(select("Heart", "Materials", "Skills", "Tools", "Cancel.")) {
+ switch (select("Heart", "Materials", "Skills", "Tools", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Ah, heart. Just like forging,";
- mes "you need passion and desire";
- mes "to create something special.";
- mes "Every smith and cook knows that";
- mes "you can do anything if you have";
- mes "the will and the commitment.";
- next;
- mes "[Uwe]";
- mes "Well, that's all";
- mes "I really have to";
- mes "say about that. But";
- mes "come back and chat";
- mes "whenever you please.";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Heart();
case 2:
- mes "[Uwe]";
- mes "Now for beginners,";
- mes "learning to select";
- mes "and use ingredients";
- mes "is one of the most";
- mes "important fundamentals.";
- next;
- mes "[Uwe]";
- mes "Cooking is like forging";
- mes "since specific ingredients";
- mes "are needed to make specialty";
- mes "items or dishes. You can't just";
- mes "skip them if you really need";
- mes "them, right? Right!";
- next;
- mes "[Uwe]";
- mes "Once you make up your";
- mes "mind to do something,";
- mes "focus on finishing it, 'kay?";
- mes "Never cut corners and always";
- mes "dedicate yourself to make the";
- mes "very best finished product~";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Ingredients();
case 3:
- mes "[Uwe]";
- mes "When you're beginning to learn";
- mes "skills, you can't let yourself be discouraged! Practice makes";
- mes "perfect, you know? But never";
- mes "use your lack of skills as an";
- mes "excuse if you happen to fail...";
- next;
- mes "[Uwe]";
- mes "Effort is also an essential";
- mes "in forging and cooking! Now,";
- mes "on the other hand, if you put";
- mes "in all the effort but didn't learn any of the skills, you'll still get nowhere fast, right? Right!";
- next;
- mes "[Uwe]";
- mes "The key is to always";
- mes "give 100% effort and work";
- mes "on improving your skills.";
- mes "Before you know it, you'll";
- mes "be a respected master!";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "Hohohohoho."; close;
- case 2: mes "Umhohohoho.*"; close;
- case 3: mes "Umho."; close;
- }
+ F_Skills();
case 4:
- mes "[Uwe]";
- mes "Cooking is a little";
- mes "easier if you have";
- mes "nicer tools to use,";
- mes "but that's it. Tools by";
- mes "themselves can't make";
- mes "just anybody a master.";
- next;
- mes "[Uwe]";
- mes "In the end, the best";
- mes "tools are the ones you're";
- mes "most comfortable with using.";
- mes "In fact, I still use the old knife I used back when I was just";
- mes "a little novice chef~";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_ToolsWithoutReward();
case 5:
mes "[Uwe]";
mes "Alright then,";
@@ -2847,160 +1649,18 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "Hohohohoho~";
close;
}
- }
- else {
+ } else {
mes "[Uwe]";
mes "Hello, cutie~";
mes "How can I help you?";
next;
- switch(select("Talk about Einbroch.", "Ask him to forge a Weapon.", "Master, I want to learn cooking.", "Cancel.")) {
+ switch (select("Talk about Einbroch.", "Ask him to forge a Weapon.", "Master, I want to learn cooking.", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Einbroch was originally";
- mes "built to support Einbech's";
- mes "mining efforts. Because it's";
- mes "small and crowded with people,";
- mes "there's no room to build the ore refining factories over there.";
- next;
- mes "[Uwe]";
- mes "Since Einbroch used to be";
- mes "an empty lot, it was perfect";
- mes "for building factories. That's";
- mes "what my grandfather told me a";
- mes "long time ago. Anyway, Einbroch quickly grew into a major city.";
- next;
- mes "[Uwe]";
- mes "Now people think that this";
- mes "city was never planned to be";
- mes "just an extension of Einbech.";
- mes "See that rampart over there?";
- mes "It doesn't connect to Einbech at all! No protection for them...";
- next;
- mes "[Uwe]";
- mes "It's like the government";
- mes "lost all interest in Einbech.";
- mes "Even the miners there have";
- mes "been moving here to work in ";
- mes "the factories. But more people hasn't made this city more lively.";
- next;
- mes "[Uwe]";
- mes "Einbroch may look modern";
- mes "and exciting now, but soon";
- mes "you'll see that there's no sign";
- mes "of warmth or life. So... Just don't live here in your old age.";
- next;
- switch(select("Then why are you here?", "I won't. Thanks for the advice.")) {
- case 1:
- mes "[Uwe]";
- mes "Well, I have some";
- mes "precious memories of";
- mes "this place. Once, there was";
- mes "a man who lived here who";
- mes "was just like a father to me.";
- next;
- mes "[Uwe]";
- mes "Oh, but I'm sure that";
- mes "you don't want to hear";
- mes "about that. Next time you";
- mes "drop by, we'll talk about";
- mes "something more fun, 'kay?";
- mes "Buhbye for now, cutie~";
- close;
- case 2:
- mes "[Uwe]";
- mes "Oh, that is such";
- mes "a good decision,";
- mes "sugar honey! Oh, you";
- mes "cutie adventurers are";
- mes "so precious, so lovable.";
- mes "^333333*Tee hee hee~*^000000";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- close;
- }
+ F_AboutEinbroch();
case 2:
- mes "[Uwe]";
- mes "Well...";
- mes "I actually just";
- mes "do smithing work";
- mes "to create my own";
- mes "cooking tools.";
- next;
- mes "[Uwe]";
- mes "Oh, I understand";
- mes "that somebody needs";
- mes "to fight the monsters,";
- mes "but I'm the wrong person";
- mes "to ask for forging weapons.";
- mes "I... am a strict pacifist~";
- next;
- mes "[Uwe]";
- mes "Just go look";
- mes "around for a little";
- mes "bit, I'm sure you'll";
- mes "find a Blacksmith";
- mes "who's willing to forge";
- mes "you a good weapon~";
- close;
+ F_ForgeWeapon();
case 3:
- mes "[Uwe]";
- mes "Mm...?";
- mes "Did you just";
- mes "say that you";
- mes "want to learn";
- mes "the art of cooking?";
- next;
- mes "[Uwe]";
- mes "I'm sorry, but I can't";
- mes "really give culinary";
- mes "lessons. But I will";
- mes "give good advice for";
- mes "hopeful beginners.";
- next;
- mes "[Uwe]";
- mes "Now...";
- mes "For your tuition";
- mes "I'll need-- Gosh,";
- mes "there's just so many";
- mes "things. Get some paper,";
- mes "and a pen for this list...";
- next;
- ein_cook += 100;
- mes "[Uwe]";
- mes "Just kidding!";
- mes "^333333*Titter~*^000000 I don't need";
- mes "much to make some";
- mes "cooking utensils. Bring";
- mes "6 ^0000FFLarge Jellopy^000000. That's it!";
- next;
- mes "[Uwe]";
- mes "In return, I will give you";
- mes "1 Coal and some useful";
- mes "cooking advice for novices.";
- mes "I give this advice for free to";
- mes "my smithing colleages, though...";
- next;
- mes "[Uwe]";
- mes "Why ^EEA9B8don't^000000 you";
- mes "become a Blacksmith?";
- mes "I'm much more confident";
- mes "in that field. ^333333*Tee hee~*^000000";
- next;
- mes "[Uwe]";
- mes "Well, I'll be";
- mes "waiting right";
- mes "here until you";
- mes "come back.";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Cooking();
case 4:
mes "[Uwe]";
mes "Take care,";
@@ -3009,13 +1669,12 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
close;
}
}
- }
- else if (ein_cook == 0) {
+ } else if (ein_cook == 0) {
mes "[Uwe]";
mes "Cooking is such a joy~!";
mes "The scents, the flavors, the sensation of sheer ^EEA9B8satiation^000000...";
next;
- switch(select("Um, isn't this a forge?", "Ignore him.")) {
+ switch (select("Um, isn't this a forge?", "Ignore him.")) {
case 1:
mes "[Uwe]";
ein_cook = 1000;
@@ -3037,159 +1696,17 @@ einbroch,215,180,6 script Uwe Kleine#ein 4_M_03,{
mes "adooooooooorable";
if (Sex == SEX_MALE) {
mes "hunk of a man?";
- }
- else {
+ } else {
mes "womanly woman?";
}
next;
- switch(select("Talk about Einbroch.", "Ask him to forge a Weapon.", "Master, I want to learn cooking.", "Cancel.")) {
+ switch (select("Talk about Einbroch.", "Ask him to forge a Weapon.", "Master, I want to learn cooking.", "Cancel.")) {
case 1:
- mes "[Uwe]";
- mes "Einbroch was originally";
- mes "built to support Einbech's";
- mes "mining efforts. Because it's";
- mes "small and crowded with people,";
- mes "there's no room to build the ore refining factories over there.";
- next;
- mes "[Uwe]";
- mes "Since Einbroch used to be";
- mes "an empty lot, it was perfect";
- mes "for building factories. That's";
- mes "what my grandfather told me a";
- mes "long time ago. Anyway, Einbroch quickly grew into a major city.";
- next;
- mes "[Uwe]";
- mes "Now people think that this";
- mes "city was never planned to be";
- mes "just an extension of Einbech.";
- mes "See that rampart over there?";
- mes "It doesn't connect to Einbech at all! No protection for them...";
- next;
- mes "[Uwe]";
- mes "It's like the government";
- mes "lost all interest in Einbech.";
- mes "Even the miners there have";
- mes "been moving here to work in ";
- mes "the factories. But more people hasn't made this city more lively.";
- next;
- mes "[Uwe]";
- mes "Einbroch may look modern";
- mes "and exciting now, but soon";
- mes "you'll see that there's no sign";
- mes "of warmth or life. So... Just don't live here in your old age.";
- next;
- switch(select("Then why are you here?", "I won't. Thanks for the advice.")) {
- case 1:
- mes "[Uwe]";
- mes "Well, I have some";
- mes "precious memories of";
- mes "this place. Once, there was";
- mes "a man who lived here who";
- mes "was just like a father to me.";
- next;
- mes "[Uwe]";
- mes "Oh, but I'm sure that";
- mes "you don't want to hear";
- mes "about that. Next time you";
- mes "drop by, we'll talk about";
- mes "something more fun, 'kay?";
- mes "Buhbye for now, cutie~";
- close;
- case 2:
- mes "[Uwe]";
- mes "Oh, that is such";
- mes "a good decision,";
- mes "sugar honey! Oh, you";
- mes "cutie adventurers are";
- mes "so precious, so lovable.";
- mes "^333333*Tee hee hee~*^000000";
- next;
- mes "[Uwe]";
- mes "Well, that was";
- mes "a fun talk. Come";
- mes "back and visit, 'kay?";
- mes "I'll miss you until";
- mes "the next time~";
- close;
- }
+ F_AboutEinbroch();
case 2:
- mes "[Uwe]";
- mes "Well...";
- mes "I actually just";
- mes "do smithing work";
- mes "to create my own";
- mes "cooking tools.";
- next;
- mes "[Uwe]";
- mes "Oh, I understand";
- mes "that somebody needs";
- mes "to fight the monsters,";
- mes "but I'm the wrong person";
- mes "to ask for forging weapons.";
- mes "I... am a strict pacifist~";
- next;
- mes "[Uwe]";
- mes "Just go look";
- mes "around for a little";
- mes "bit, I'm sure you'll";
- mes "find a Blacksmith";
- mes "who's willing to forge";
- mes "you a good weapon~";
- close;
+ F_ForgeWeapon();
case 3:
- mes "[Uwe]";
- mes "Mm...?";
- mes "Did you just";
- mes "say that you";
- mes "want to learn";
- mes "the art of cooking?";
- next;
- mes "[Uwe]";
- mes "I'm sorry, but I can't";
- mes "really give culinary";
- mes "lessons. But I will";
- mes "give good advice for";
- mes "hopeful beginners.";
- next;
- mes "[Uwe]";
- mes "Now...";
- mes "For your tuition";
- mes "I'll need-- Gosh,";
- mes "there's just so many";
- mes "things. Get some paper,";
- mes "and a pen for this list...";
- next;
- ein_cook += 100;
- mes "[Uwe]";
- mes "Just kidding!";
- mes "^333333*Titter~*^000000 I don't need";
- mes "much to make some";
- mes "cooking utensils. Bring";
- mes "6 ^0000FFLarge Jellopy^000000. That's it!";
- next;
- mes "[Uwe]";
- mes "In return, I will give you";
- mes "1 Coal and some useful";
- mes "cooking advice for novices.";
- mes "I give this advice for free to";
- mes "my smithing colleages, though...";
- next;
- mes "[Uwe]";
- mes "Why ^EEA9B8don't^000000 you";
- mes "become a Blacksmith?";
- mes "I'm much more confident";
- mes "in that field. ^333333*Tee hee~*^000000";
- next;
- mes "[Uwe]";
- mes "Well, I'll be";
- mes "waiting right";
- mes "here until you";
- mes "come back.";
- switch(rand(1,3)) {
- case 1: mes "...Ho ho~"; close;
- case 2: mes "...*Tee Hee~*"; close;
- case 3: mes "...Behbie~"; close;
- }
+ F_Cooking();
case 4:
mes "[Uwe]";
mes "Take care,";
@@ -3216,7 +1733,7 @@ einbroch,1,1,0 script Einbroch Smog Alert FAKE_NPC,{
OnEnable:
$@AlrdEinPoll = 1;
- mapannounce "einbroch","This is a state of emercency! Harmful smog is reaching high levels of saturation. Residents of Einbroch must find shelter immediately.",bc_map;
+ mapannounce "einbroch","This is a state of emergency! Harmful smog is reaching high levels of saturation. Residents of Einbroch must find shelter immediately.",bc_map;
enablenpc "Einbroch Smog Alert";
hideonnpc "Centzu#ein";
hideonnpc "Khowropher#ein";
@@ -3576,7 +2093,7 @@ ein_in01,67,242,3 script Zelmeto 4_M_REPAIR,{
mes "[Zelmeto]";
mes "^333333*Whew*^000000";
mes "I haven't given that much";
- mes "inspriration in a while, but";
+ mes "inspiration in a while, but";
mes "your help was well worth it.";
mes "I'm going to start the repairs, but once again, I'd like to thank you.";
close;
@@ -3616,7 +2133,7 @@ ein_in01,67,242,3 script Zelmeto 4_M_REPAIR,{
mes "^333333*Sigh*^000000";
mes "My proposal was rejected";
mes "by our superintendant. But";
- mes "maintainance and repairs";
+ mes "maintenance and repairs";
mes "are crucial for peak operating";
mes "efficiency and worker safety!";
next;
@@ -3791,7 +2308,7 @@ ein_in01,67,242,3 script Zelmeto 4_M_REPAIR,{
mes "[Zelmeto]";
mes "Now, the pipe I want";
mes "you to inspect is located";
- mes "near those large caultrons";
+ mes "near those large cauldrons";
mes "of molten metal. You should";
mes "be able to find it pretty easily.";
next;
@@ -4260,7 +2777,7 @@ einbech,165,105,7 script Buender Hikeman#ein 4_M_EINOLD,{
case 1:
mes "[Buender Hikeman]";
mes "How dare you...";
- mes "How dare you treat ";
+ mes "How dare you treat me";
mes "after destroying all the";
mes "happiness in my life!";
next;
@@ -4741,7 +3258,6 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
close;
}
else if (Shinokas_Quest == 2) {
- einbech = 0;
mes "[Sick Old Man]";
mes "...!";
next;
@@ -4787,7 +3303,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "^3355FFIt doesn't seem";
mes "like this old man";
mes "is telling the truth...^000000";
- einbech = 0;
+ .@einbech = 0;
next;
}
else {
@@ -4924,7 +3440,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
next;
mes "[Shinokas]";
mes "After I destroyed the tunnel,";
- mes "they targeted me and I ended";
+ mes "they targeted me and I ended up";
mes "spending the rest of my life being pursued and running from place to place. What the hell was that ^3131FFore^000000 and why was it so important?";
next;
mes "[Shinokas]";
@@ -7131,7 +5647,7 @@ ein_in01,191,102,5 script Kaijeta#ein 4_F_EINOLD,{
mes "[Kaijeta]";
mes "I can't bear to see the";
mes "petty hatred between our";
- mes "two towns stop my son from";
+ mes "two towns stopping my son from";
mes "seeing the woman he loves...";
changequest 8081,8082;
close;
diff --git a/npc/quests/quests_gonryun.txt b/npc/quests/quests_gonryun.txt
index ff0044737..08b3c6803 100644
--- a/npc/quests/quests_gonryun.txt
+++ b/npc/quests/quests_gonryun.txt
@@ -200,7 +200,7 @@ gon_in,17,93,5 script Chief#gon 4_M_TWMASKMAN,{
mes "Haven't found it yet?";
mes "There's no rush, take it easy.";
mes "You have to take care of";
- mes "youself first before";
+ mes "yourself first before";
mes "doing favors for others.";
close;
case 6:
@@ -584,7 +584,7 @@ gon_in,165,16,4 script Man in hangover#gon 4_M_ALCHE_A,{
mes "[Xue Bong]";
mes "Ah, a thief~";
mes "Hmm...let me see..";
- mes "I went out for walk in the middle";
+ mes "I went out for a walk in the middle";
mes "of the night while I was drinking.";
mes "And I heard a noise.";
next;
@@ -629,7 +629,7 @@ gon_in,165,16,4 script Man in hangover#gon 4_M_ALCHE_A,{
case 1:
mes "[Xue Bong]";
mes "Ah, a thief, eh? Let's see...";
- mes "I went out for walk in the middle";
+ mes "I went out for a walk in the middle";
mes "of the night while I was drinking.";
mes "All of a sudden, I heard a strange noise...";
next;
@@ -649,7 +649,7 @@ gon_in,165,16,4 script Man in hangover#gon 4_M_ALCHE_A,{
mes "It came from... and head to...um...";
mes "murmur..";
next;
- mes "^3355FFHe started mumbling for a bit^000000";
+ mes "^3355FFHe starts mumbling for a bit^000000";
mes "......";
next;
mes "[Xue Bong]";
@@ -724,7 +724,7 @@ gon_in,165,16,4 script Man in hangover#gon 4_M_ALCHE_A,{
mes "[Xue Bong]";
mes "Ah~ a thief...?";
mes "Hmm...let me see...";
- mes "I went out for walk in the middle";
+ mes "I went out for a walk in the middle";
mes "of the night while I was drinking.";
mes "All of a sudden, I heard a strange noise...";
next;
@@ -2109,13 +2109,12 @@ gon_in,18,27,5 script Madam#gnbs 4_F_TWGRANDMOM,{
gon_dun03,62,222,0 script Strange dead body#gnbs HIDDEN_NPC,{
if (b_sword < 7) {
- mes "Here's a decomposing corpse.";
+ mes "You see a decomposing corpse.";
mes "It seems like monsters devoured it.";
close;
}
else if (b_sword > 6 && b_sword < 11) {
mes "There's a written message between the bones of the corpse.";
- mes "of the corpse.";
mes "Take a look?";
next;
if (select("Yes.", "Eew, no!") == 1) {
@@ -2152,7 +2151,7 @@ gon_dun03,62,222,0 script Strange dead body#gnbs HIDDEN_NPC,{
}
mes "^3355FFA skeleton chewed up by";
mes "monsters...I feel sorry for";
- mes "him, but start getting this";
+ mes "him, but I'm getting this";
mes "really creepy feeling after staring at it for a while.^000000";
close;
}
@@ -2244,7 +2243,7 @@ gonryun,100,241,0 script Stranger#gnbs 4_M_JOB_KNIGHT1,{
}
mes "[Zuo Hei]";
mes "Grr...";
- mes "Why should you care about the";
+ mes "Why should you care about";
mes "someone else's personality?";
mes "That's none of your business.";
mes "Take a look in the mirror first";
@@ -2300,7 +2299,7 @@ gonryun,100,241,0 script Stranger#gnbs 4_M_JOB_KNIGHT1,{
}
mes "[Zuo Hei]";
mes "Grr...";
- mes "Why should you care about the";
+ mes "Why should you care about";
mes "someone else's personality?";
mes "That's none of your business.";
mes "Take a look in the mirror first";
@@ -2335,7 +2334,7 @@ gonryun,100,241,0 script Stranger#gnbs 4_M_JOB_KNIGHT1,{
mes "[Zuo Hei]";
mes "Hmm......";
mes "You're not done with the";
- mes "requirement I've given you...";
+ mes "requirements I've given you...";
mes "I can't give you any information";
mes "until you finish your job.";
close;
@@ -2384,7 +2383,7 @@ gonryun,100,241,0 script Stranger#gnbs 4_M_JOB_KNIGHT1,{
}
mes "[Zuo Hei]";
mes "Grr...";
- mes "Why should you care about the";
+ mes "Why should you care about";
mes "someone else's personality?";
mes "That's none of your business.";
mes "Take a look in the mirror first";
@@ -2542,7 +2541,7 @@ geffen_in,71,112,2 script Blacksmith#SaYumMoon 4_M_JOB_BLACKSMITH,{
mes "Hmmmm......";
mes "............";
next;
- mes "^0000FFHe intently studied the pieces of the sword for a while.^000000";
+ mes "^0000FFHe intently studies the pieces of the sword for a while.^000000";
next;
mes "[Aumgarl]";
mes "Hmm...";
@@ -2674,7 +2673,7 @@ geffen_in,71,112,2 script Blacksmith#SaYumMoon 4_M_JOB_BLACKSMITH,{
mes "I'm going to try my best to";
mes "make her happy until the";
mes "very end..";
- mes "Please come by sometime";
+ mes "Please stop by sometime";
mes "to say hi to Lyroo.";
close;
case 3:
@@ -2757,7 +2756,7 @@ geffen_in,71,112,2 script Blacksmith#SaYumMoon 4_M_JOB_BLACKSMITH,{
mes "[Aumgarl]";
mes "Ahh...";
mes "Lyroo is upstairs...";
- mes "Bue she's in pain.";
+ mes "But she's in pain.";
mes "Try not to talk to her";
mes "for too long.";
close;
@@ -2801,7 +2800,7 @@ geffen_in,71,112,2 script Blacksmith#SaYumMoon 4_M_JOB_BLACKSMITH,{
mes "^0000FFYou Show the pieces of the";
mes "broken sword to Aumgarl.";
mes "....................";
- mes "Aumgarl took a careful look";
+ mes "Aumgarl takes a careful look";
mes "at the pieces for awhile...^000000";
next;
mes "...";
@@ -2884,7 +2883,7 @@ geffen_in,71,112,2 script Blacksmith#SaYumMoon 4_M_JOB_BLACKSMITH,{
mes "^0000FFYou show the pieces of the";
mes "broken sword to Aumgarl.";
mes "....................";
- mes "Aumgarl took a careful look";
+ mes "Aumgarl takes a careful look";
mes "at the pieces for a while...^000000";
next;
mes "...";
@@ -2990,7 +2989,7 @@ geffen_in,71,112,2 script Blacksmith#SaYumMoon 4_M_JOB_BLACKSMITH,{
next;
mes "[Aumgarl]";
mes "I haven't seen quality";
- mes "of this magnitude in a";
+ mes "of this magnitude";
mes "in a long time.";
mes "I envy you...";
mes "Hehehe......";
@@ -3038,7 +3037,7 @@ geffen_in,106,106,7 script Girl#gnbs2 4_M_KID2,{
mes "..tha... thank you....";
next;
mes "^0000FFBetter stop talking to her and";
- mes "hurry and find a cure.^000000";
+ mes "hurry to find a cure.^000000";
close;
}
else if (b_sword == 24 || b_sword == 25 || b_sword == 26) {
@@ -3405,9 +3404,9 @@ yuno_in01,99,101,4 script Doctor#gnbs 4_F_ALCHE,{
}
mes "[Cylrnel]";
mes "Okay...";
- mes "Now, about physiological condition.";
+ mes "Now, about her physiological condition.";
next;
- switch(select("No sweating at all.", "Sweating all over the body.", "Runny nose.", "No tears, sweats at all.")) {
+ switch(select("No sweating at all.", "Sweating all over the body.", "Runny nose.", "No tears or sweat at all.")) {
case 1:
.@sick2$ = "No sweating at all.";
++.@sick;
@@ -3419,7 +3418,7 @@ yuno_in01,99,101,4 script Doctor#gnbs 4_F_ALCHE,{
.@sick2$ = "Runny nose.";
break;
case 4:
- .@sick2$ = "No tears, sweats at all.";
+ .@sick2$ = "No tears or sweat at all.";
break;
}
mes "[Cylrnel]";
@@ -3760,8 +3759,8 @@ gonryun,237,226,3 script Han Ran Jiao#gon 4_M_TWMIDMAN,{
mes "here! Where did you get it!?";
next;
mes "[Han Ran Jiao]";
- mes "I dropped that knife from being";
- mes "careless. It belongs to one of my";
+ mes "I carelessly dropped it.";
+ mes "It belongs to one of my";
mes "ancestors. I know it looks like";
mes "a cheap knife...";
next;
@@ -3807,7 +3806,7 @@ gonryun,237,226,3 script Han Ran Jiao#gon 4_M_TWMIDMAN,{
}
if (nakha == 3) {
mes "[Han Ran Jiao]";
- mes "My neighbor seemed looked pretty bothered about something...";
+ mes "My neighbor seemed to look pretty bothered about something...";
mes "Oh well, I have better things to worry about than his fancy tea.";
close;
}
@@ -3819,7 +3818,7 @@ OnTouch:
nakha = 2;
mes "^3355FFHm? What's this?";
mes " ";
- mes "Something was hidden beneath the leaves...^000000";
+ mes "Something is hidden beneath the leaves...^000000";
mes " ";
mes "- You have found an old knife -";
close2;
diff --git a/npc/quests/quests_hugel.txt b/npc/quests/quests_hugel.txt
index 1ac300153..9af2ab5fc 100644
--- a/npc/quests/quests_hugel.txt
+++ b/npc/quests/quests_hugel.txt
@@ -297,7 +297,7 @@ hu_in01,387,245,0 script Allen Schuwell 4_M_DIEMAN,2,2,{
mes "medicine you're";
mes "supposed to";
mes "need so badly.";
- specialeffect EF_CHANGECOLD,AREA,"Postell Schuwell#D";
+ specialeffect(EF_CHANGECOLD, AREA, getnpcid("Postell Schuwell#D"));
next;
mes "[Allen]";
mes "Thank goodness...";
@@ -1125,7 +1125,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
next;
mes "[Morriphen]";
mes "The people we met were very";
- mes "accomdating, welcome, and";
+ mes "accommodating, welcome, and";
mes "friendly. They also didn't";
mes "ask us any questions: we were";
mes "just accepted. The girl I saved didn't know how to speak then...";
@@ -1207,7 +1207,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "your medicine, right? I'm";
mes "sure you can repay him by";
mes "visiting him, and living";
- mes "happily with your Seria.";
+ mes "happily with your Siria.";
next;
mes "[Morriphen]";
mes "^333333*Sob*^000000 You're right...";
@@ -1215,7 +1215,7 @@ ein_in01,16,36,3 script Morriphen 4_M_04,{
mes "Thank you so much. If you";
mes "ever visit Hugel again, come";
mes "by and see me. You've really";
- mes "helped me and Seria so much.";
+ mes "helped me and Siria so much.";
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "Don't worry about it.";
@@ -2443,17 +2443,17 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "[Herico]";
mes "Then...SPIT THEM OUT!";
percentheal -5,0;
- specialeffect2 EF_HIT4;
+ specialeffect(EF_HIT4, AREA, playerattached());
next;
mes "[Herico]";
mes "SPIT THEM OUT!";
percentheal -5,0;
- specialeffect2 EF_HIT4;
+ specialeffect(EF_HIT4, AREA, playerattached());
next;
mes "[Herico]";
mes "I SAID, SPIT THEM OUUUUUT!";
percentheal -5,0;
- specialeffect2 EF_HIT4;
+ specialeffect(EF_HIT4, AREA, playerattached());
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "Err...I was just kidding...";
@@ -3504,15 +3504,15 @@ hu_fild06,168,359,3 script Moks Mushrooms#Mush1 HIDDEN_NPC,{
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
if (rand(1,5) > 4) {
mes "- You were being clumsy and broke the mushrooms. You have failed in gathering the mushrooms. -";
- specialeffect2 EF_STUNATTACK;
+ specialeffect(EF_STUNATTACK, AREA, playerattached());
close;
}
mes "- You have successfully gathered mushrooms. -";
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
++hg_tre;
if (hg_tre == 11)
mes "Collected Moks Mushroom Solution: 1ea ";
@@ -3559,15 +3559,15 @@ hu_fild06,194,341,3 script Moks Mushrooms#Mush2 HIDDEN_NPC,{
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
if (rand(1,5) > 4) {
mes "- You were being clumsy and broke the mushrooms. You have failed in gathering the mushrooms. -";
- specialeffect2 EF_STUNATTACK;
+ specialeffect(EF_STUNATTACK, AREA, playerattached());
close;
}
mes "- You have successfully gathered mushrooms. -";
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
++hg_tre;
if (hg_tre == 11)
mes "Collected Moks Mushroom Solution: 1ea ";
@@ -3614,15 +3614,15 @@ hu_fild06,198,339,3 script Moks Mushrooms#Mush3 HIDDEN_NPC,{
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
if (rand(1,5) > 4) {
mes "- You were being clumsy and broke the mushrooms. You have failed in gathering the mushrooms. -";
- specialeffect2 EF_STUNATTACK;
+ specialeffect(EF_STUNATTACK, AREA, playerattached());
close;
}
mes "- You have successfully gathered mushrooms. -";
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
++hg_tre;
if (hg_tre == 11)
mes "Collected Moks Mushroom Solution: 1ea ";
@@ -3669,15 +3669,15 @@ hugel,209,163,3 script Clam#C1 HIDDEN_NPC,{
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
if (rand(1,5) > 4) {
mes "- Clams are too strong to open. You have failed in gathering Clam Flesh. -";
- specialeffect2 EF_STUNATTACK;
+ specialeffect(EF_STUNATTACK, AREA, playerattached());
close;
}
mes "- You have successfully gathered Clam Flesh. -";
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
++hg_tre;
if (hg_tre == 21)
mes "Collected Clam Flesh: 1ea ";
@@ -3724,7 +3724,7 @@ hugel,203,166,3 script Clam#C2 HIDDEN_NPC,{
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
if (rand(1,5) > 4) {
mes "- Clams are too strong to open. You have failed in gathering Clam Flesh. -";
@@ -3732,7 +3732,7 @@ hugel,203,166,3 script Clam#C2 HIDDEN_NPC,{
close;
}
mes "- You have successfully gathered Clam Flesh. -";
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
++hg_tre;
if (hg_tre == 21)
mes "Collected Clam Flesh: 1ea ";
@@ -3779,15 +3779,15 @@ hugel,217,158,3 script Clam#C3 HIDDEN_NPC,{
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
if (rand(1,5) > 4) {
mes "- Clams are too strong to open. You have failed in gathering Clam Flesh. -";
- specialeffect2 EF_STUNATTACK;
+ specialeffect(EF_STUNATTACK, AREA, playerattached());
close;
}
mes "- You have successfully gathered Clam Flesh. -";
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
++hg_tre;
if (hg_tre == 21)
mes "Collected Clam Flesh: 1ea ";
@@ -3834,15 +3834,15 @@ hugel,204,150,3 script Clam#C4 HIDDEN_NPC,{
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
mes "- *Snip Snip* -";
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
if (rand(1,5) > 4) {
mes "- Clams are too strong to open. You have failed in gathering Clam Flesh. -";
- specialeffect2 EF_STUNATTACK;
+ specialeffect(EF_STUNATTACK, AREA, playerattached());
close;
}
mes "- You have successfully gathered Clam Flesh. -";
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
++hg_tre;
if (hg_tre == 21)
mes "Collected Clam Flesh: 1ea ";
@@ -3889,15 +3889,15 @@ hu_fild06,155,309,1 script Moks Bugs#Bug1 THIEF_BUG_,{
mes "- *Whizz Whizz Bzzzz* -";
mes "- *Whizz Whizz*-";
mes "- *Whizz Whizz*-";
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
if (rand(1,5) > 4) {
mes "- The bugs quickly ran away. You have failed to gather their shells. -";
- specialeffect2 EF_STUNATTACK;
+ specialeffect(EF_STUNATTACK, AREA, playerattached());
close;
}
mes "- You have successfully gathered Moks Bugs Shells. -";
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
++hg_tre;
if (hg_tre == 31)
mes "Collected Moks Bugs Shells: 1ea ";
@@ -3944,15 +3944,15 @@ hu_fild06,218,320,1 script Moks Bugs#Bug2 THIEF_BUG_,{
mes "- *Whizz Whizz Bzzzz* -";
mes "- *Whizz Whizz*-";
mes "- *Whizz Whizz*-";
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
if (rand(1,5) > 4) {
mes "- The bugs quickly ran away. You have failed to gather their shells. -";
- specialeffect2 EF_STUNATTACK;
+ specialeffect(EF_STUNATTACK, AREA, playerattached());
close;
}
mes "- You have successfully gathered Moks Bugs Shells. -";
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
++hg_tre;
if (hg_tre == 31)
mes "Collected Moks Bugs Shells: 1ea ";
@@ -3999,15 +3999,15 @@ hu_fild06,249,329,1 script Moks Bugs#Bug3 THIEF_BUG_,{
mes "- *Whizz Whizz Bzzzz* -";
mes "- *Whizz Whizz*-";
mes "- *Whizz Whizz*-";
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
if (rand(1,5) > 4) {
mes "- The bugs quickly ran away. You have failed to gather their shells. -";
- specialeffect2 EF_STUNATTACK;
+ specialeffect(EF_STUNATTACK, AREA, playerattached());
close;
}
mes "- You have successfully gathered Moks Bugs Shells. -";
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
++hg_tre;
if (hg_tre == 31)
mes "Collected Moks Bugs Shells: 1ea ";
@@ -4054,15 +4054,15 @@ hu_fild06,218,373,1 script Moks Bugs#Bug4 THIEF_BUG_,{
mes "- *Whizz Whizz Bzzzz* -";
mes "- *Whizz Whizz*-";
mes "- *Whizz Whizz*-";
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
next;
if (rand(1,5) > 4) {
mes "- The bugs quickly ran away. You have failed to gather their shells. -";
- specialeffect2 EF_STUNATTACK;
+ specialeffect(EF_STUNATTACK, AREA, playerattached());
close;
}
mes "- You have successfully gathered Moks Bugs Shells. -";
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
++hg_tre;
if (hg_tre == 31)
mes "Collected Moks Bugs Shells: 1ea ";
@@ -4140,7 +4140,7 @@ lhz_dun02,244,226,0 script Unethical Machine HIDDEN_NPC,{
mes "- You threw a Marine Sphere Bottle toward the machine. -";
next;
mes "BOOM!";
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
enablenpc "HiddenExplosion";
mapannounce "lhz_dun02","Beep------------------ ",1,0x99CCFF;
delitem Mini_Bottle,1; //Marine sphere bottle
@@ -4202,7 +4202,7 @@ hugel,198,169,0 script #HugelTree HIDDEN_WARP_NPC,2,2,{
mes "of overwhelming comfort.^000000";
close;
} else if (hg_memory == 6) {
- specialeffect2 EF_BEGINSPELL5;
+ specialeffect(EF_BEGINSPELL5, AREA, playerattached());
mes "^3355FFWhat's this strange";
mes "feeling of dread?";
mes "This peculiar chill...";
@@ -4858,7 +4858,7 @@ hugel,196,164,3 script El Schatt 1_M_04,{
mes "It's... I'm Manainne...";
mes "^333333*Sniff*^000000 She had to go back...";
next;
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
hg_memory = 12;
getexp RENEWAL_EXP?8000:50000,0;
completequest 8063;
@@ -5153,7 +5153,7 @@ hu_fild06,190,367,3 script Torpy's Mom 4_F_GODEMOM,{
mes "it's not much, but I hope";
mes "you accept this as our thanks.";
mes "Goodbye for now, adventurer~";
- specialeffect2 (hg_ubu01 == 6)?EF_CONE:EF_MVP;
+ specialeffect((hg_ubu01 == 6)?EF_CONE:EF_MVP, AREA, playerattached());
hg_ubu01 = 8;
completequest 12048;
getitem Dex_Dish05,3; //Green Salad
@@ -6978,11 +6978,11 @@ hugel,56,104,3 script Kurupe 4_M_SEAMAN,3,3,{
mes "Currently you are carrying";
mes "too many items with you.";
mes "Please come back again";
- mes "after you store some items into kafra storage.";
+ mes "after you store some items into Kafra storage.";
close;
}
hg_milk = 9;
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
getexp RENEWAL_EXP?10000:100000,0;
getitem 12063,3;
erasequest 12043;
@@ -7083,7 +7083,7 @@ hugel,56,104,3 script Kurupe 4_M_SEAMAN,3,3,{
mes "Currently you are carrying";
mes "too many items with you.";
mes "Please come back again";
- mes "after you store some items into kafra storage.";
+ mes "after you store some items into Kafra storage.";
close;
}
hg_milk = 9;
@@ -7104,7 +7104,7 @@ hugel,56,104,3 script Kurupe 4_M_SEAMAN,3,3,{
mes "Currently you are carrying";
mes "too many items with you.";
mes "Please come back again";
- mes "after you store some items into kafra storage.";
+ mes "after you store some items into Kafra storage.";
close;
}
hg_milk = 9;
@@ -7126,7 +7126,7 @@ hugel,56,104,3 script Kurupe 4_M_SEAMAN,3,3,{
mes "Currently you are carrying";
mes "too many items with you.";
mes "Please come back again";
- mes "after you store some items into kafra storage.";
+ mes "after you store some items into Kafra storage.";
close;
}
hg_milk = 9;
@@ -7150,7 +7150,7 @@ hugel,56,104,3 script Kurupe 4_M_SEAMAN,3,3,{
mes "Currently you are carrying";
mes "too many items with you.";
mes "Please come back again";
- mes "after you store some items into kafra storage.";
+ mes "after you store some items into Kafra storage.";
close;
}
hg_milk = 9;
@@ -7172,7 +7172,7 @@ hugel,56,104,3 script Kurupe 4_M_SEAMAN,3,3,{
mes "Currently you are carrying";
mes "too many items with you.";
mes "Please come back again";
- mes "after you store some items into kafra storage.";
+ mes "after you store some items into Kafra storage.";
close;
}
hg_milk = 9;
@@ -9384,7 +9384,7 @@ OnTouch:
mes "followed. Hold on a sec";
mes "while I take care of him.";
next;
- specialeffect EF_SONICBLOWHIT,AREA,"Hit";
+ specialeffect(EF_SONICBLOWHIT, AREA, getnpcid("Hit"));
mes "[???]";
mes "Ha!";
next;
diff --git a/npc/quests/quests_juperos.txt b/npc/quests/quests_juperos.txt
index 558c80860..2f2bb0956 100644
--- a/npc/quests/quests_juperos.txt
+++ b/npc/quests/quests_juperos.txt
@@ -1656,7 +1656,7 @@ OnTouch:
mes "Ahhhh...";
mes "It feels like";
mes "I'm floating...";
- specialeffect2 EF_LIGHTSPHERE;
+ specialeffect(EF_LIGHTSPHERE, AREA, playerattached());
close2;
stopnpctimer;
warp "juperos_02",128,278;
@@ -1733,7 +1733,7 @@ OnMyMobDead:
mapannounce "juperos_02","Have you come seeking Juperos?! It no longer exists...",bc_map,"0xFF0000";
else if (.MyMobs == 0) {
mapannounce "juperos_02","Have you come to see me? Fine! Find me first!",bc_map,"0xFF0000";
- specialeffect2 563;
+ specialeffect(EF_SCREEN_QUAKE, AREA, playerattached());
soundeffectall "earth_quake.wav",0;
disablenpc "3F Gate Switch#jupe";
donpcevent "Restricted Area#jupe::OnEnable";
@@ -4303,7 +4303,7 @@ jupe_ele_r,51,98,0 script Switch#ufe CLEAR_NPC,{
disablenpc "Switch#ufe";
enablenpc "Switch On#ufe";
initnpctimer;
- specialeffect2 563;
+ specialeffect(EF_SCREEN_QUAKE, AREA, playerattached());
soundeffectall "earth_quake.wav",0;
close2;
cutin "5-1",255;
@@ -4912,7 +4912,7 @@ OnTouch:
next;
switch(select("Use it.", "Ignore it.")) {
case 1:
- specialeffect2 EF_LIGHTSPHERE;
+ specialeffect(EF_LIGHTSPHERE, AREA, playerattached());
close2;
stopnpctimer;
warp "juperos_02",130,142;
diff --git a/npc/quests/quests_lighthalzen.txt b/npc/quests/quests_lighthalzen.txt
index 66cfb0e73..4795110d6 100644
--- a/npc/quests/quests_lighthalzen.txt
+++ b/npc/quests/quests_lighthalzen.txt
@@ -4428,13 +4428,13 @@ lighthalzen,346,263,3 script Elder#lhz 4_F_EINOLD,{
mes "You must remember the";
mes "locations that I am about";
mes "to show you. Get ready...";
- specialeffect2 EF_SIGHT;
+ specialeffect(EF_SIGHT, AREA, playerattached());
next;
mes "[Elder]";
mes "Yaaaaappp ---!";
- specialeffect2 EF_SIGHTRASHER;
- specialeffect2 EF_VOLCANO;
- specialeffect2 EF_MAPPILLAR;
+ specialeffect(EF_SIGHTRASHER, AREA, playerattached());
+ specialeffect(EF_VOLCANO, AREA, playerattached());
+ specialeffect(EF_MAPPILLAR, AREA, playerattached());
next;
mes "[Elder]";
mes "There! The locations";
@@ -4546,11 +4546,11 @@ lighthalzen,346,263,3 script Elder#lhz 4_F_EINOLD,{
mes "......";
mes ".........";
mes "Hooooooo...";
- specialeffect2 EF_BENEDICTIO;
+ specialeffect(EF_BENEDICTIO, AREA, playerattached());
next;
mes "[Elder]";
mes "Yaaaaapp ---!";
- specialeffect2 EF_ASPERSIO;
+ specialeffect(EF_ASPERSIO, AREA, playerattached());
next;
mes "[Elder]";
mes "Whew! I've managed";
@@ -4837,7 +4837,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "old pendant";
mes "into her hands.^000000";
next;
- specialeffect2 EF_FORESTLIGHT4;
+ specialeffect(EF_FORESTLIGHT4, AREA, playerattached());
mes "...............";
next;
mes "["+strcharinfo(PC_NAME)+"]";
@@ -5033,7 +5033,7 @@ lhz_in03,32,162,3 script Crippled Girl#li_tre 1_M_INNKEEPER,{
mes "old pendant";
mes "into her hands.^000000";
next;
- specialeffect2 EF_FORESTLIGHT4;
+ specialeffect(EF_FORESTLIGHT4, AREA, playerattached());
mes "......";
next;
mes "["+strcharinfo(PC_NAME)+"]";
@@ -5203,7 +5203,7 @@ OnTouch_:
mes ".............";
next;
mes "*Shhhzzzzzzz!*";
- specialeffect2 EF_MAPPILLAR;
+ specialeffect(EF_MAPPILLAR, AREA, playerattached());
next;
mes "[????]";
mes "...........";
@@ -5345,67 +5345,65 @@ lhz_in01,114,181,5 script Representative#li_01 1_F_LIBRARYGIRL,{
mes "to the Rekenber Corporation.";
mes "How may I be of service today?";
next;
- switch(select("Building Information.")) {
- case 1:
- mes "[Representative]";
- mes "Please tell me";
- mes "which floor you'd like";
- mes "to know more about.";
- next;
- while (1) {
- switch(select("1F", "2F", "B1", "Cancel")) {
- case 1:
- mes "[Representative]";
- mes "The ^3131FFRekenber Library^000000 can";
- mes "be found at the end of the";
- mes "left hallway. Our library is";
- mes "a great resource of innovative";
- mes "ideas and information for our";
- mes "system development employees.";
- next;
- mes "[Representative]";
- mes "The ^3131FFBall Room^000000, where";
- mes "various official events are";
- mes "usually held, can be accessed";
- mes "through the right hallway.";
- next;
- break;
- case 2:
- mes "[Representative]";
- mes "Please use the stairs";
- mes "located on both sides of";
- mes "the Help Desk to go to the";
- mes "Second Floor. The Second";
- mes "Floor is mostly used for";
- mes "administrative purposes.";
- next;
- mes "[Representative]";
- mes "There, you can find";
- mes "the ^3131FFConference Room^000000,";
- mes "^3131FFSecretary's Office^000000, the";
- mes "^3131FFAuditorium^000000 and the";
- mes "^3131FFChairman's Office^000000.";
- next;
- break;
- case 3:
- mes "[Representative]";
- mes "The first underground floor";
- mes "is used by ^3131FFRegenschirm^000000,";
- mes "our laboratory affiliate. For";
- mes "security reasons, this floor";
- mes "is not accessible to visitors.";
- next;
- break;
- case 4:
- mes "[Representative]";
- mes "We are always doing our";
- mes "best to provide the best";
- mes "services to our customers.";
- mes "Remember that Rekenber";
- mes "is the name you can trust.";
- mes "Thank you and have a nice day.";
- close;
- }
+ select("Building Information.");
+ mes "[Representative]";
+ mes "Please tell me";
+ mes "which floor you'd like";
+ mes "to know more about.";
+ next;
+ while (1) {
+ switch(select("1F", "2F", "B1", "Cancel")) {
+ case 1:
+ mes "[Representative]";
+ mes "The ^3131FFRekenber Library^000000 can";
+ mes "be found at the end of the";
+ mes "left hallway. Our library is";
+ mes "a great resource of innovative";
+ mes "ideas and information for our";
+ mes "system development employees.";
+ next;
+ mes "[Representative]";
+ mes "The ^3131FFBall Room^000000, where";
+ mes "various official events are";
+ mes "usually held, can be accessed";
+ mes "through the right hallway.";
+ next;
+ break;
+ case 2:
+ mes "[Representative]";
+ mes "Please use the stairs";
+ mes "located on both sides of";
+ mes "the Help Desk to go to the";
+ mes "Second Floor. The Second";
+ mes "Floor is mostly used for";
+ mes "administrative purposes.";
+ next;
+ mes "[Representative]";
+ mes "There, you can find";
+ mes "the ^3131FFConference Room^000000,";
+ mes "^3131FFSecretary's Office^000000, the";
+ mes "^3131FFAuditorium^000000 and the";
+ mes "^3131FFChairman's Office^000000.";
+ next;
+ break;
+ case 3:
+ mes "[Representative]";
+ mes "The first underground floor";
+ mes "is used by ^3131FFRegenschirm^000000,";
+ mes "our laboratory affiliate. For";
+ mes "security reasons, this floor";
+ mes "is not accessible to visitors.";
+ next;
+ break;
+ case 4:
+ mes "[Representative]";
+ mes "We are always doing our";
+ mes "best to provide the best";
+ mes "services to our customers.";
+ mes "Remember that Rekenber";
+ mes "is the name you can trust.";
+ mes "Thank you and have a nice day.";
+ close;
}
}
}
@@ -5487,67 +5485,65 @@ lhz_in01,27,247,5 script Representative#li_02 1_F_LIBRARYGIRL,{
mes "Rekenber Corporation.";
mes "How may I help you?";
next;
- switch(select("Building Information.")) {
- case 1:
- mes "[Representative]";
- mes "Please tell me";
- mes "which floor you'd like";
- mes "to know more about.";
- next;
- while (1) {
- switch(select("1F", "2F", "B1", "Cancel")) {
- case 1:
- mes "[Representative]";
- mes "The ^3131FFRekenber Library^000000 can";
- mes "be found at the end of the";
- mes "left hallway. Our library is";
- mes "a great resource of innovative";
- mes "ideas and information for our";
- mes "system development employees.";
- next;
- mes "[Representative]";
- mes "The ^3131FFBall Room^000000, where";
- mes "various official events are";
- mes "usually held, can be accessed";
- mes "through the right hallway.";
- next;
- break;
- case 2:
- mes "[Representative]";
- mes "Please use the stairs";
- mes "located on both sides of";
- mes "the Help Desk to go to the";
- mes "Second Floor. The Second";
- mes "Floor is mostly used for";
- mes "administrative purposes.";
- next;
- mes "[Representative]";
- mes "There, you can find";
- mes "the ^3131FFConference Room^000000,";
- mes "^3131FFSecretary's Office^000000, the";
- mes "^3131FFAuditorium^000000 and the";
- mes "^3131FFChairman's Office^000000.";
- next;
- break;
- case 3:
- mes "[Representative]";
- mes "The first underground floor";
- mes "is used by ^3131FFRegenschirm^000000,";
- mes "our laboratory affiliate. For";
- mes "security reasons, this floor";
- mes "is not accessible to visitors.";
- next;
- break;
- case 4:
- mes "[Representative]";
- mes "We are always doing our";
- mes "best to provide the best";
- mes "services to our customers.";
- mes "Remember that Rekenber";
- mes "is the name you can trust.";
- mes "Thank you and have a nice day.";
- close;
- }
+ select("Building Information.");
+ mes "[Representative]";
+ mes "Please tell me";
+ mes "which floor you'd like";
+ mes "to know more about.";
+ next;
+ while (1) {
+ switch(select("1F", "2F", "B1", "Cancel")) {
+ case 1:
+ mes "[Representative]";
+ mes "The ^3131FFRekenber Library^000000 can";
+ mes "be found at the end of the";
+ mes "left hallway. Our library is";
+ mes "a great resource of innovative";
+ mes "ideas and information for our";
+ mes "system development employees.";
+ next;
+ mes "[Representative]";
+ mes "The ^3131FFBall Room^000000, where";
+ mes "various official events are";
+ mes "usually held, can be accessed";
+ mes "through the right hallway.";
+ next;
+ break;
+ case 2:
+ mes "[Representative]";
+ mes "Please use the stairs";
+ mes "located on both sides of";
+ mes "the Help Desk to go to the";
+ mes "Second Floor. The Second";
+ mes "Floor is mostly used for";
+ mes "administrative purposes.";
+ next;
+ mes "[Representative]";
+ mes "There, you can find";
+ mes "the ^3131FFConference Room^000000,";
+ mes "^3131FFSecretary's Office^000000, the";
+ mes "^3131FFAuditorium^000000 and the";
+ mes "^3131FFChairman's Office^000000.";
+ next;
+ break;
+ case 3:
+ mes "[Representative]";
+ mes "The first underground floor";
+ mes "is used by ^3131FFRegenschirm^000000,";
+ mes "our laboratory affiliate. For";
+ mes "security reasons, this floor";
+ mes "is not accessible to visitors.";
+ next;
+ break;
+ case 4:
+ mes "[Representative]";
+ mes "We are always doing our";
+ mes "best to provide the best";
+ mes "services to our customers.";
+ mes "Remember that Rekenber";
+ mes "is the name you can trust.";
+ mes "Thank you and have a nice day.";
+ close;
}
}
}
@@ -7538,15 +7534,15 @@ yuno_pre,69,20,4 script Secretary#1 4_F_LGTGIRL,{
close2;
warp "yuno_pre",113,53;
end;
- }
- else if(hg_tre > 56)
- {
+ }
+ else if(hg_tre > 56)
+ {
mes "[Hes O'Neil]";
mes "The president said that you're welcome to visit him anytime.";
close2;
warp "yuno_pre",113,53;
end;
- }
+ }
else
{
mes "[Hes O'Neil]";
@@ -7737,136 +7733,138 @@ yuno_pre,69,79,4 script Mr. President 4_M_PRESIDENT,{
mes "Now, I'm sure that you must";
mes "have some questions for me...";
next;
-L_Mission:
- switch( select( "Secret Wing's Background","Rekenber's Purpose","Secret Wing's Goal","Details about my mission","I'm ready for my mission." ) )
- {
- case 1:
- mes "[Karl]";
- mes "Rekenber has been";
- mes "unopposed for a very long";
- mes "time. Our nation is unhappy";
- mes "with their rule, but since our";
- mes "country lacks solidarity, the";
- mes "people can do nothing.";
- next;
- mes "[Karl]";
- mes "But one day, I was contacted";
- mes "by some people who claimed to";
- mes "share my sentiments against";
- mes "the Rekenber Corporation.";
- mes "Later, I learned that they were";
- mes "from the Kafra Corporation.";
- next;
- mes "[Karl]";
- mes "Apparently, they were";
- mes "facing some aggressive";
- mes "competition from Cool";
- mes "Event Corp, which is";
- mes "actually backed by the";
- mes "Rekenber Corporation.";
- next;
- mes "[Karl]";
- mes "We decided to pool our";
- mes "resources to deal with what";
- mes "we perceived as a common";
- mes "enemy. Before long, we gathered";
- mes "more devotees to our cause and";
- mes "formed the ''Secret Wing.''";
- next;
- mes "[Karl]";
- mes "It may be helpful for";
- mes "you to know that our";
- mes "direct contact to the";
- mes "Kafra Corporation is the";
- mes "^FF00003rd Security Team^000000. Oh, did";
- mes "you have any other questions?";
- next;
- goto L_Mission;
+ while (true) {
+ switch( select( "Secret Wing's Background","Rekenber's Purpose","Secret Wing's Goal","Details about my mission","I'm ready for my mission." ) )
+ {
+ case 1:
+ mes "[Karl]";
+ mes "Rekenber has been";
+ mes "unopposed for a very long";
+ mes "time. Our nation is unhappy";
+ mes "with their rule, but since our";
+ mes "country lacks solidarity, the";
+ mes "people can do nothing.";
+ next;
+ mes "[Karl]";
+ mes "But one day, I was contacted";
+ mes "by some people who claimed to";
+ mes "share my sentiments against";
+ mes "the Rekenber Corporation.";
+ mes "Later, I learned that they were";
+ mes "from the Kafra Corporation.";
+ next;
+ mes "[Karl]";
+ mes "Apparently, they were";
+ mes "facing some aggressive";
+ mes "competition from Cool";
+ mes "Event Corp, which is";
+ mes "actually backed by the";
+ mes "Rekenber Corporation.";
+ next;
+ mes "[Karl]";
+ mes "We decided to pool our";
+ mes "resources to deal with what";
+ mes "we perceived as a common";
+ mes "enemy. Before long, we gathered";
+ mes "more devotees to our cause and";
+ mes "formed the ''Secret Wing.''";
+ next;
+ mes "[Karl]";
+ mes "It may be helpful for";
+ mes "you to know that our";
+ mes "direct contact to the";
+ mes "Kafra Corporation is the";
+ mes "^FF00003rd Security Team^000000. Oh, did";
+ mes "you have any other questions?";
+ next;
+ break;
- case 2:
- mes "[Karl]";
- mes "It's true that companies";
- mes "exist to create money, but";
- mes "the Rekenber Corporation";
- mes "is much more nefarious.";
- mes "They actually want to dominate the entire Rune-Midgard continent.";
- next;
- mes "[Karl]";
- mes "In fact, the chairman of";
- mes "that company is shrouded";
- mes "in mystery. Although I'm";
- mes "the president, I go through";
- mes "many difficulties just to";
- mes "send a message to him.";
- next;
- mes "[Karl]";
- mes "It's disheartening,";
- mes "but we really have no";
- mes "idea what their true goals";
- mes "and plans might be. Now, did";
- mes "you have any other questions?";
- next;
- goto L_Mission;
+ case 2:
+ mes "[Karl]";
+ mes "It's true that companies";
+ mes "exist to create money, but";
+ mes "the Rekenber Corporation";
+ mes "is much more nefarious.";
+ mes "They actually want to dominate the entire Rune-Midgard continent.";
+ next;
+ mes "[Karl]";
+ mes "In fact, the chairman of";
+ mes "that company is shrouded";
+ mes "in mystery. Although I'm";
+ mes "the president, I go through";
+ mes "many difficulties just to";
+ mes "send a message to him.";
+ next;
+ mes "[Karl]";
+ mes "It's disheartening,";
+ mes "but we really have no";
+ mes "idea what their true goals";
+ mes "and plans might be. Now, did";
+ mes "you have any other questions?";
+ next;
+ break;
- case 3:
- mes "[Karl]";
- mes "''Secret Wing's'' only";
- mes "goal is to destroy the";
- mes "Rekenber Corporation in";
- mes "order to break the Schwaltzvalt Republic free from its oppression.";
- next;
- mes "[Karl]";
- mes "Of course, we realize";
- mes "that it will take time and";
- mes "a lot of sacrifice to make";
- mes "this a reality. Now, do you";
- mes "have anything else to ask?";
- next;
- goto L_Mission;
+ case 3:
+ mes "[Karl]";
+ mes "''Secret Wing's'' only";
+ mes "goal is to destroy the";
+ mes "Rekenber Corporation in";
+ mes "order to break the Schwaltzvalt Republic free from its oppression.";
+ next;
+ mes "[Karl]";
+ mes "Of course, we realize";
+ mes "that it will take time and";
+ mes "a lot of sacrifice to make";
+ mes "this a reality. Now, do you";
+ mes "have anything else to ask?";
+ next;
+ break;
- case 4:
- mes "[Karl]";
- mes "Ah, your next mission.";
- mes "I'm ready to give you";
- mes "some of the details if";
- mes "you no longer have any";
- mes "questions to ask. Let me";
- mes "know when you are ready.";
- next;
- goto L_Mission;
+ case 4:
+ mes "[Karl]";
+ mes "Ah, your next mission.";
+ mes "I'm ready to give you";
+ mes "some of the details if";
+ mes "you no longer have any";
+ mes "questions to ask. Let me";
+ mes "know when you are ready.";
+ next;
+ break;
- case 5:
- mes "[Karl]";
- mes "Very well, then.";
- mes "Your mission will not";
- mes "be too difficult, but it does";
- mes "have great urgency so you";
- mes "must accomplish it as soon";
- mes "as you can. Understood?";
- next;
- switch( select( "Wait, I have one more question!","Yes sir, Mr. President." ) )
- {
- case 1:
- mes "[Karl]";
- mes "Hm? I thought you";
- mes "didn't have any more";
- mes "questions. However, I still";
- mes "have the luxury to give you";
- mes "any answers that I can provide.";
- next;
- goto L_Mission;
+ case 5:
+ mes "[Karl]";
+ mes "Very well, then.";
+ mes "Your mission will not";
+ mes "be too difficult, but it does";
+ mes "have great urgency so you";
+ mes "must accomplish it as soon";
+ mes "as you can. Understood?";
+ next;
+ switch( select( "Wait, I have one more question!","Yes sir, Mr. President." ) )
+ {
+ case 1:
+ mes "[Karl]";
+ mes "Hm? I thought you";
+ mes "didn't have any more";
+ mes "questions. However, I still";
+ mes "have the luxury to give you";
+ mes "any answers that I can provide.";
+ next;
+ break;
- case 2:
- mes "[Karl]";
- mes "I'm glad to hear that.";
- mes "Alright, give me a second";
- mes "to search for this file before";
- mes "I explain the mission.";
- lhz_boss = 15;
- close2;
- cutin "",255;
- end;
- }
+ case 2:
+ mes "[Karl]";
+ mes "I'm glad to hear that.";
+ mes "Alright, give me a second";
+ mes "to search for this file before";
+ mes "I explain the mission.";
+ lhz_boss = 15;
+ close2;
+ cutin "",255;
+ end;
+ }
+ break;
+ }
}
}
else if(lhz_boss == 15)
@@ -9690,68 +9688,68 @@ OnTouch:
mes "You need to input the correct";
mes "password to open the door.^000000";
next;
-L_Enter:
- input @sneakpass;
- if(@sneakpass == 738495)
- {
- mes "^3355FF*Beep~*";
- mes "You hear a pleasant";
- mes "sounding electronic chirp,";
- mes "signaling that you have input";
- mes "the correct password. The door";
- mes "automatically slides open.";
+ while (true) {
+ input @sneakpass;
+ if(@sneakpass == 738495)
+ {
+ mes "^3355FF*Beep~*";
+ mes "You hear a pleasant";
+ mes "sounding electronic chirp,";
+ mes "signaling that you have input";
+ mes "the correct password. The door";
+ mes "automatically slides open.";
+ next;
+ switch( select( "Enter","Retreat" ) )
+ {
+ case 1:
+ mes "[Security System]";
+ mes "You have 3 minutes to";
+ mes "search the Information Archive.";
+ mes "When this time elapses, you";
+ mes "will be automatically sent";
+ mes "outside for security reasons.";
+ close2;
+ lhz_boss = 29;
+ donpcevent "Timer_Sneak::OnEnter";
+ warp "lhz_in01",177,35;
+ end;
+
+ case 2:
+ mes "^3355FFPerhaps now would";
+ mes "not be the best time to";
+ mes "enter the Secret Archive.";
+ mes "Or at least, that's what";
+ mes "you've decided for yourself.^000000";
+ close;
+ }
+ }
+ mes "^3355FF*Eeeeeee*";
+ mes "The door emits an";
+ mes "unnerving, high pitched";
+ mes "screech after you input";
+ mes "the password. You really";
+ mes "should try to input it again.^000000";
+ ++@sneakerror;
next;
- switch( select( "Enter","Retreat" ) )
+ if(@sneakerror > 2)
{
- case 1:
mes "[Security System]";
- mes "You have 3 minutes to";
- mes "search the Information Archive.";
- mes "When this time elapses, you";
- mes "will be automatically sent";
- mes "outside for security reasons.";
+ mes "*Gzzzzz*";
+ mes "You have entered the";
+ mes "password incorrectly";
+ mes "3 times. Please stand by";
+ mes "for managerial assistance.";
+ next;
+ mes "^3355FFUh oh!";
+ mes "You better get";
+ mes "out of here before";
+ mes "you get caught!^000000";
close2;
- lhz_boss = 29;
- donpcevent "Timer_Sneak::OnEnter";
- warp "lhz_in01",177,35;
+ warp "lhz_in01",191,49;
end;
-
- case 2:
- mes "^3355FFPerhaps now would";
- mes "not be the best time to";
- mes "enter the Secret Archive.";
- mes "Or at least, that's what";
- mes "you've decided for yourself.^000000";
- close;
}
- }
- mes "^3355FF*Eeeeeee*";
- mes "The door emits an";
- mes "unnerving, high pitched";
- mes "screech after you input";
- mes "the password. You really";
- mes "should try to input it again.^000000";
- ++@sneakerror;
- next;
- if(@sneakerror > 2)
- {
- mes "[Security System]";
- mes "*Gzzzzz*";
- mes "You have entered the";
- mes "password incorrectly";
- mes "3 times. Please stand by";
- mes "for managerial assistance.";
- next;
- mes "^3355FFUh oh!";
- mes "You better get";
- mes "out of here before";
- mes "you get caught!^000000";
- close2;
- warp "lhz_in01",191,49;
- end;
- }
- goto L_Enter;
+ }
case 2:
mes "^3355FFPerhaps now would";
@@ -9812,113 +9810,114 @@ lhz_in01,182,35,0 script File Search Engine HIDDEN_NPC,{
mes "keywords to in order to find";
mes "specific file locations.";
next;
-L_Search:
- switch( select( "Search Engine.","Cancel." ) )
- {
- case 1:
- mes "^663300- Search Engine Initiated -";
- mes "- Please enter a keyword -";
- mes " ";
- mes "*Search Engine";
- mes "is case sensitve.";
- mes "Please do not use";
- mes "capital letters.^000000";
- next;
- input @sneaksearch$;
- if((@sneaksearch$ == "kafra") || (@sneaksearch$ == "cool event"))
- {
- mes "^663300[Search Result]";
- mes "Documents regarding";
- mes "Kafra Corporation and";
- mes "Cool Event Corp are";
- mes "located in Arena 3-2.^000000";
- lhz_boss = 30;
- close;
- }
- else if(@sneaksearch$ == "shinokas")
- {
- mes "^663300[Search Result]";
- mes "Documents regarding";
- mes "Shinokas are located";
- mes "in Arena 1-5.^000000";
- lhz_boss = 31;
- close;
- }
- else if((@sneaksearch$ == "stein") || (@sneaksearch$ == "STEIN") || (@sneaksearch$ == "S.T.E.I.N"))
- {
- mes "^663300[Search Result]";
- mes "Documents regarding";
- mes "S.T.E.I.N are considered";
- mes "highly classified and";
- mes "cannot be accessed";
- mes "through this system.^000000";
- close;
- }
- else if(@sneaksearch$ == "ymir")
- {
- mes "^663300[Search Result]";
- mes "Documents regarding";
- mes "Ymir's Heart are ranked";
- mes "as highly classified and";
- mes "cannot be accessed";
- mes "through this system.^000000";
- close;
- }
- else if((@sneaksearch$ == "president") || (@sneaksearch$ == "karl") || (@sneaksearch$ == "weierstrass"))
- {
- mes "^663300[Search Result]";
- mes "2nd Class documents on";
- mes "President Karl Weierstrass";
- mes "are located in Area 1-7. For";
- mes "more highly classified files";
- mes "on Weierstrass, please use";
- mes "a higher security archive.^000000";
- lhz_boss = 32;
- close;
- }
- else if(@sneaksearch$ == "einbroch")
- {
- mes "^663300[Search Result]";
- mes "Documents regarding";
- mes "Einbroch are stored";
- mes "in Area 6-1.^000000";
- lhz_boss = 33;
- close;
- }
- else if(@sneaksearch$ == "lighthalzen")
- {
- mes "^663300[Search Result]" ;
- mes "Documents regarding";
- mes "Lighthalzen are stored";
- mes "in Area 3-3.^000000";
- lhz_boss = 34;
- close;
- }
- else if(@sneaksearch$ == "rekenber")
- {
- mes "^663300[Search Result]";
- mes "Documents regarding";
- mes "Rekenber are highly classified and cannot be accessed by this system.^000000";
+ while (true) {
+ switch( select( "Search Engine.","Cancel." ) )
+ {
+ case 1:
+ mes "^663300- Search Engine Initiated -";
+ mes "- Please enter a keyword -";
+ mes " ";
+ mes "*Search Engine";
+ mes "is case sensitve.";
+ mes "Please do not use";
+ mes "capital letters.^000000";
next;
- goto L_Search;
- }
- else
- {
- mes "^663300[Search Result]";
- mes "Keyword not found.";
- mes "Please search another";
- mes "archive or increase";
- mes "access permissions.^000000";
- close;
- }
+ input @sneaksearch$;
+ if((@sneaksearch$ == "kafra") || (@sneaksearch$ == "cool event"))
+ {
+ mes "^663300[Search Result]";
+ mes "Documents regarding";
+ mes "Kafra Corporation and";
+ mes "Cool Event Corp are";
+ mes "located in Arena 3-2.^000000";
+ lhz_boss = 30;
+ close;
+ }
+ else if(@sneaksearch$ == "shinokas")
+ {
+ mes "^663300[Search Result]";
+ mes "Documents regarding";
+ mes "Shinokas are located";
+ mes "in Arena 1-5.^000000";
+ lhz_boss = 31;
+ close;
+ }
+ else if((@sneaksearch$ == "stein") || (@sneaksearch$ == "STEIN") || (@sneaksearch$ == "S.T.E.I.N"))
+ {
+ mes "^663300[Search Result]";
+ mes "Documents regarding";
+ mes "S.T.E.I.N are considered";
+ mes "highly classified and";
+ mes "cannot be accessed";
+ mes "through this system.^000000";
+ close;
+ }
+ else if(@sneaksearch$ == "ymir")
+ {
+ mes "^663300[Search Result]";
+ mes "Documents regarding";
+ mes "Ymir's Heart are ranked";
+ mes "as highly classified and";
+ mes "cannot be accessed";
+ mes "through this system.^000000";
+ close;
+ }
+ else if((@sneaksearch$ == "president") || (@sneaksearch$ == "karl") || (@sneaksearch$ == "weierstrass"))
+ {
+ mes "^663300[Search Result]";
+ mes "2nd Class documents on";
+ mes "President Karl Weierstrass";
+ mes "are located in Area 1-7. For";
+ mes "more highly classified files";
+ mes "on Weierstrass, please use";
+ mes "a higher security archive.^000000";
+ lhz_boss = 32;
+ close;
+ }
+ else if(@sneaksearch$ == "einbroch")
+ {
+ mes "^663300[Search Result]";
+ mes "Documents regarding";
+ mes "Einbroch are stored";
+ mes "in Area 6-1.^000000";
+ lhz_boss = 33;
+ close;
+ }
+ else if(@sneaksearch$ == "lighthalzen")
+ {
+ mes "^663300[Search Result]" ;
+ mes "Documents regarding";
+ mes "Lighthalzen are stored";
+ mes "in Area 3-3.^000000";
+ lhz_boss = 34;
+ close;
+ }
+ else if(@sneaksearch$ == "rekenber")
+ {
+ mes "^663300[Search Result]";
+ mes "Documents regarding";
+ mes "Rekenber are highly classified and cannot be accessed by this system.^000000";
+ next;
+ break;
+ }
+ else
+ {
+ mes "^663300[Search Result]";
+ mes "Keyword not found.";
+ mes "Please search another";
+ mes "archive or increase";
+ mes "access permissions.^000000";
+ close;
+ }
- case 2:
- mes "^663300[Search Engine Close]";
- mes "File search has been";
- mes "canceled. Please be aware";
- mes "that sudden shutdown may";
- mes "cause system errors.^000000";
- close;
+ case 2:
+ mes "^663300[Search Engine Close]";
+ mes "File search has been";
+ mes "canceled. Please be aware";
+ mes "that sudden shutdown may";
+ mes "cause system errors.^000000";
+ close;
+ }
}
}
mes "^3355FFThis machine can be";
diff --git a/npc/quests/quests_louyang.txt b/npc/quests/quests_louyang.txt
index e05cd3313..03816faf2 100644
--- a/npc/quests/quests_louyang.txt
+++ b/npc/quests/quests_louyang.txt
@@ -4122,7 +4122,7 @@ lou_fild01,224,348,0 script Lady#delivery 4_F_CHNDRESS3,{
Zeny -= 100;
}
close2;
- specialeffect EF_BLASTMINEBOMB,AREA," #fire";
+ specialeffect(EF_BLASTMINEBOMB, AREA, getnpcid(" #fire"));
end;
}
mes "[Lady]";
diff --git a/npc/quests/quests_morocc.txt b/npc/quests/quests_morocc.txt
index 0d509b2d4..592711c24 100644
--- a/npc/quests/quests_morocc.txt
+++ b/npc/quests/quests_morocc.txt
@@ -280,7 +280,7 @@ OnTouch:
}
case 2:
mes "[Litheron]";
- mes "Not the saavy type,";
+ mes "Not the savvy type,";
mes "are you...? Fine, fine.";
mes "If you're not gonna do";
mes "me any favors, then why";
@@ -2120,7 +2120,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
mes "[Book-Touching Man]";
mes "Your smile outshines the aura of the gods of Valhalla. You are a living gospel. Your smile even makes Goddess Freya hide in the shadows in shame! Ah.... Mammi, my Mammi!";
next;
- mes "^660000You wave your hand close to his face to get his attention. He seems, however, to be in his own dreams, completely oblivious of your presense.^000000";
+ mes "^660000You wave your hand close to his face to get his attention. He seems, however, to be in his own dreams, completely oblivious of your presence.^000000";
next;
switch(select("Speak", "Pass Him By")) {
case 1:
@@ -2249,7 +2249,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
mes "[Benjamin]";
mes "Oh... Mammi... My Mammi...";
next;
- mes "^660000Just like the last time that you saw him, Bejamin is living in his dreams, rubbing a book on his face.^000000";
+ mes "^660000Just like the last time that you saw him, Benjamin is living in his dreams, rubbing a book on his face.^000000";
next;
mes "^660000You carefully approached him, and then gave him a pat on the shoulder.^000000";
next;
@@ -2265,7 +2265,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 1_M_02,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ahchoo! Thanks to you, I couldn't find it from the library. So I travelled all the way up to Schwaltzvalt... Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "^660000Feeling angry at him, you exaggerated a fit of sneezing which you have had for quite a while.^000000";
next;
@@ -2621,7 +2621,7 @@ yuno,333,210,5 script Library Master#garas 1_M_LIBRARYMASTER,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "[Library Master]";
mes "God bless you. Oh, did you catch cold?";
@@ -2631,7 +2631,7 @@ yuno,333,210,5 script Library Master#garas 1_M_LIBRARYMASTER,{
next;
mes "[Library Master]";
mes "Try to drink hot Jellopy broth mixed with honey. My mother used to make that for me whenever I caught cold.";
- mes "I gurantee you that you'll get better quickly.";
+ mes "I guarantee you that you'll get better quickly.";
next;
mes "^660000He sounded sincere, but it doesn't sound like that kind of broth would even be effective...^000000";
emotion e_dots,1;
@@ -2720,7 +2720,7 @@ OnTouch:
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "...Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "[Library Master]";
mes "God bless you. Oh, did you catch cold?";
@@ -2730,7 +2730,7 @@ OnTouch:
next;
mes "[Library Master]";
mes "Try to drink hot Jellopy broth mixed with honey. My mother used to make that for me whenever I caught cold.";
- mes "I gurantee you that you'll get better quickly.";
+ mes "I guarantee you that you'll get better quickly.";
next;
mes "^660000He sounded sincere, but it doesn't sound like that kind of broth would even be effective...^000000";
emotion e_dots,1;
@@ -2762,7 +2762,7 @@ yuno_in04,111,57,3 script Library Part-Timer#garas 4_F_LGTGIRL,{
mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm looking for a book called <The Crow of the Fate> written by Oliver Hilpert... Ahchoo!";
emotion e_wah,1;
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "[Library Part-Timer]";
mes "Ah, I remember that one... It's the one most frequently left in the cart.";
@@ -2778,7 +2778,7 @@ yuno_in04,111,57,3 script Library Part-Timer#garas 4_F_LGTGIRL,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Yes, umm... ahchoo! Where can I find old news articles...? Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "[Library Part-Timer]";
mes "Oh, you can find them in a corner of the right room.";
@@ -2786,7 +2786,7 @@ yuno_in04,111,57,3 script Library Part-Timer#garas 4_F_LGTGIRL,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Thanks... Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
close;
}
else if (barmunt_crow == 11) {
@@ -2799,7 +2799,7 @@ yuno_in04,111,57,3 script Library Part-Timer#garas 4_F_LGTGIRL,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Cough... I'm looking for a book called <The Crow of the Fate> written by Oliver Hilpert.";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "[Library Part-Timer]";
mes "Ah, I remember that one... It's the one most frequently left in the cart.";
@@ -2817,7 +2817,7 @@ yuno_in04,111,57,3 script Library Part-Timer#garas 4_F_LGTGIRL,{
next;
mes "[Library Part-Timer]";
mes "Right! When the hero was meeting his end in the burning mansion... ^FF0000-- BEEP --^000000";
- specialeffect2 EF_BASH3D2;
+ specialeffect(EF_BASH3D2, AREA, playerattached());
close2;
warp "que_ba",264,186;
end;
@@ -2846,7 +2846,7 @@ yuno_in04,100,5,3 script Hot Bestseller Corner HIDDEN_NPC,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, luckily there's one... Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Sniff... So now all I have to do is just check this out and deliver it to that Mammi fanatic.";
@@ -2856,7 +2856,7 @@ yuno_in04,100,5,3 script Hot Bestseller Corner HIDDEN_NPC,{
mes "^660000You were about to pull out the book, complaining and grumbling, when suddenly it felt as if your brain exploded. You black out...^000000";
barmunt_crow = 4;
close2;
- specialeffect2 EF_BASH3D2;
+ specialeffect(EF_BASH3D2, AREA, playerattached());
warp "que_ba",247,33;
end;
}
@@ -2870,7 +2870,7 @@ yuno_in04,100,5,3 script Hot Bestseller Corner HIDDEN_NPC,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, luckily there's one... Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Sniff... So now all I have to do is just check this out and deliver it to that Mammi fanatic.";
@@ -2879,7 +2879,7 @@ yuno_in04,100,5,3 script Hot Bestseller Corner HIDDEN_NPC,{
next;
mes "^660000You were about to pull out the book, complaining and grumbling, when suddenly it felt as if your brain exploded. You black out...^000000";
close2;
- specialeffect2 EF_BASH3D2;
+ specialeffect(EF_BASH3D2, AREA, playerattached());
warp "que_ba",247,33;
end;
}
@@ -2893,7 +2893,7 @@ yuno_in04,100,5,3 script Hot Bestseller Corner HIDDEN_NPC,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, luckily there's one... Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Sniff... So now all I have to do is just check this out and deliver it to that Mammi fanatic.";
@@ -2902,7 +2902,7 @@ yuno_in04,100,5,3 script Hot Bestseller Corner HIDDEN_NPC,{
next;
mes "^660000You were about to pull out the book, complaining and grumbling, when suddenly it felt as if your brain exploded. You black out...^000000";
close2;
- specialeffect2 EF_BASH3D2;
+ specialeffect(EF_BASH3D2, AREA, playerattached());
warp "que_ba",247,33;
end;
}
@@ -2928,7 +2928,7 @@ OnTouch:
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Phew... I guess I had a dream or something... Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "^660000It was an indescribable dream: a burning laboratory in an unknown place in Schwaltzvalt.";
mes "You tried to think hard, but could not figure out what the dream meant.^000000";
@@ -3003,7 +3003,7 @@ yuno_in04,117,102,3 script Old News Scrapbook CLEAR_NPC,{
mes "saying, 'This is ridiculous.";
mes "Assassins must live alone under the shadows.'";
mes "Hopefully the fans' reaction won't cause too much worry";
- mes "to Siglinde and his soon-to-be wife.";
+ mes "to Sieglinde and his soon-to-be wife.";
mes " ";
next;
}
@@ -3182,7 +3182,7 @@ yuno_in04,169,123,3 script Suspicious Man#oliver_h 4_M_ATEIL,{
mes "^3131FFSeclusion - A female disciple's letter^000000";
mes "^3131FFThe stepmother = Lover from a past life?!^000000";
close2;
- specialeffect2 EF_ENHANCE;
+ specialeffect(EF_ENHANCE, AREA, playerattached());
delitem Mami_Photo_Album,1;
barmunt_crow = 14;
getitem Author_Autograph,1;
@@ -3215,7 +3215,7 @@ yuno_in04,169,123,3 script Suspicious Man#oliver_h 4_M_ATEIL,{
next;
mes "(WHACK)";
specialeffect EF_VENOMDUST;
- specialeffect2 EF_DETOXICATION;
+ specialeffect(EF_DETOXICATION, AREA, playerattached());
next;
mes "^660000Oliver picked up the feather more quickly than you could, and then tore it into pieces before you could even say anything.^000000";
next;
@@ -3278,7 +3278,7 @@ yuno_in04,169,123,3 script Suspicious Man#oliver_h 4_M_ATEIL,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Argh, that was all because of the library master!";
- mes "Luckily the feather is gone, so hopefuly I won't suffer any more disaster.";
+ mes "Luckily the feather is gone, so hopefully I won't suffer any more disaster.";
next;
break;
case 2:
@@ -3365,7 +3365,7 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
mes "- What's your name? -";
mes "-......Al.-";
mes "- Do you know why you're on the street? Where do you live? Your parents must be dying to see you.-";
- mes "Haeji's comment instantly brought the monsterous image of Eva to Al's mind. Inwardly, he screamed in fear.";
+ mes "Haeji's comment instantly brought the monstrous image of Eva to Al's mind. Inwardly, he screamed in fear.";
mes "- I live nowhere, and I don't have parents. -";
mes "Al had to lie no matter how long, he thought. The old man seemed to understand him: his eyes showed sympathy for the little boy. Haeji insisted that Al could stay in his mansion as long as he wanted.";
mes "Later, after learning that Haeji was a professor of Juno City University, Al was convinced that the fates were on his side.>";
@@ -3426,7 +3426,7 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah... Ahchoo! Mr. Hilpert, are you interested in my bag? It's just a simple bag I got from the Novice Training Grounds...";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "[Oliver Hilpert]";
mes "No, no!";
@@ -3446,7 +3446,7 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ahchoo! Are you also a Mammi fan?";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "[Oliver Hilpert]";
mes "Are you kidding?! Of course!";
@@ -3480,7 +3480,7 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "No, I got it as a gift from someone... Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "[Oliver Hilpert]";
mes "What? Now I'm shocked!";
@@ -3552,7 +3552,7 @@ yuno_in04,167,120,3 script Worn-out Book#garas HIDDEN_NPC,{
mes "^3131FFSeclusion - A female disciple's letter^000000";
mes "^3131FFThe stepmother = Lover from a past life?!^000000";
close2;
- specialeffect2 EF_ENHANCE;
+ specialeffect(EF_ENHANCE, AREA, playerattached());
delitem Mami_Photo_Album,1;
barmunt_crow = 14;
getitem Author_Autograph,1;
@@ -3597,7 +3597,7 @@ que_ba,257,39,3 script Female Researcher#bpast 4_F_ALCHE,{
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ahchoo! Ahchoo! Gosh...";
mes "Hey, where am I...?";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "- Pzzzz -";
specialeffect EF_CLOAKING;
@@ -3730,7 +3730,7 @@ OnTouch:
next;
mes "^660000You were looking at their backs as they left, and then noticed that you were holding the book you were reading in your hands. Then....^000000";
barmunt_crow = 6;
- specialeffect2 EF_FLASHER;
+ specialeffect(EF_FLASHER, AREA, playerattached());
close2;
warp "yuno_in04",100,3;
}
@@ -3895,7 +3895,7 @@ cave,82,97,3 script Cave Settler#g1 4_M_CAVE1,3,3,{
mes "Ah... Ahchoo!";
mes "'I'm not like other outsiders... Ahchoo!";
mes "I have a goal to achieve in here... Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "^660000Although you a bit intimidated by this guard, and your sneezing definitely not helping, you continue.^000000";
next;
@@ -3983,7 +3983,7 @@ OnTouch:
mes "Ah... Ahchoo!";
mes "'I'm not like other outsiders... Ahchoo!";
mes "I have a goal to achieve in here... Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "^660000Although you're a bit intimidated by this guard, and your sneezing definitely not helping, you continue.^000000";
next;
@@ -4088,7 +4088,7 @@ cave,22,186,3 script Monsterous Man#zid 4_M_MUT1,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Umm... Ahchoo!";
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Do you know a man by the name of Oliver Hilpert?";
@@ -5192,7 +5192,7 @@ prt_castle,117,163,5 script Inspector#prince 4_M_SAGE_C,{
mes "Behind the soldier, you can find a secret door. If you talk to the soldier, the soldier will allow you to get in.";
next;
mes "[Inspector]";
- mes "As I have expressed, this is a very important issue for the Rune Midgarts kingdom. Although I've stressed this point repeateadly, I cannot stress it enough.";
+ mes "As I have expressed, this is a very important issue for the Rune Midgarts kingdom. Although I've stressed this point repeatedly, I cannot stress it enough.";
next;
mes "[Inspector]";
mes "Please behave accordingly.";
@@ -5242,7 +5242,7 @@ prt_castle,117,163,5 script Inspector#prince 4_M_SAGE_C,{
mes "I really appreciate your assistance thus far. Due to your help, the future of the kingdom is indebted to you.";
next;
mes "[" + strcharinfo(PC_NAME) + "]";
- mes "(He doesn't seem to be suprised too much.. Could there be a reason? Now I am suspicious...)";
+ mes "(He doesn't seem to be surprised too much.. Could there be a reason? Now I am suspicious...)";
next;
mes "[Inspector]";
mes "Hey, the things you experienced here cannot be disclosed to others. You understand that this situation is fully confidential.";
@@ -5321,7 +5321,7 @@ prt_castle,117,163,5 script Inspector#prince 4_M_SAGE_C,{
prt_castle,272,375,4 script Prince 4_M_SITDOWN,{
if (nk_prince > 6) {
- mes "-Obssessed with making";
+ mes "-Obsessed with making";
mes "lock and key.-";
close;
}
@@ -5333,7 +5333,7 @@ prt_castle,272,375,4 script Prince 4_M_SITDOWN,{
}
else if (questprogress(10020) == 1) {
mes "[Erich]";
- mes "These days, I have bad luck... Only harrassments happen to me...";
+ mes "These days, I have bad luck... Only harassments happen to me...";
close;
}
if (nk_prince < 5) {
@@ -5375,7 +5375,7 @@ prt_castle,272,375,4 script Prince 4_M_SITDOWN,{
mes "......My conscience!";
mes "It doesn't work well...";
next;
- mes "-He seems to be so obssessed to care about anything else.-";
+ mes "-He seems to be so obsessed to care about anything else.-";
close;
}
}
@@ -6133,7 +6133,7 @@ aldebaran,132,184,3 script Girl#prince 4W_KID,{
if (questprogress(10013) == 1) {
if (countitem(Bunch_Of_Flowers) > 0) {
mes "[Girl]";
- mes "Wooah, Uncle Peter sent these flowers";
+ mes "Woah, Uncle Peter sent these flowers";
mes "for me?";
mes "Hmmm~ They smell really good.";
next;
@@ -6502,7 +6502,7 @@ prt_castle,314,373,4 script Prince#eisen 4_M_1STPRIN1,{
mes "But I am not sensitive to that, and I think a good king should neglect those trifles.";
next;
mes "[Ahrum]";
- mes "Others can say that my behavior makes them embarrased, but if something ends well, they are all satisfied in the end. Am I wrong?";
+ mes "Others can say that my behavior makes them embarrassed, but if something ends well, they are all satisfied in the end. Am I wrong?";
next;
mes "[Ahrum]";
mes "Although I've skipped some lessons in life, I can back up missing lessons easily. Who cares who can swear to me as King! This is how I am.";
@@ -6552,7 +6552,7 @@ prt_castle,314,373,4 script Prince#eisen 4_M_1STPRIN1,{
next;
mes "[Ahrum]";
mes "I know quite well about";
- mes "other king cadidates, personally.";
+ mes "other king candidates, personally.";
mes "But I can't find one distinguished person who can lead this kingdom well.";
next;
mes "[Ahrum]";
@@ -6711,7 +6711,7 @@ prt_castle,368,312,4 script Prince#ern 4_M_2NDPRIN1,{
else if (nk_prince > 4) {
mes "[Prince]";
mes "Hi";
- mes "you are the judege.";
+ mes "you are the judge.";
mes "I am Ernst, prince of Geoborg.";
next;
mes "[Ernst]";
@@ -6726,7 +6726,7 @@ prt_castle,368,312,4 script Prince#ern 4_M_2NDPRIN1,{
while(1) {
mes "-Well, what questions.-";
next;
- switch(select("backgroud first.", "I want to know your spirit of nationalism.", " Your habbit and tastes.", "I will be back.")) {
+ switch(select("background first.", "I want to know your spirit of nationalism.", " Your habit and tastes.", "I will be back.")) {
case 1:
mes "[Ernst]";
mes "Since I was young, I have grown up with a royal education. I haven't quarreled with others seriously, but I was not very polite either.";
@@ -7327,7 +7327,7 @@ OnDisable:
prt_castle,388,205,6 script Prince#eisen4 4_M_1STPRIN1,{
mes "[Ahrum]";
- mes "You always care about gambling. But, why don't you care about your surrondings first, eh? Young master of Richard?";
+ mes "You always care about gambling. But, why don't you care about your surroundings first, eh? Young master of Richard?";
next;
mes "[Poe]";
mes "Why are you teasing me, now? At least I feel I have dice with higher numbers than you... You don't think so?";
diff --git a/npc/quests/quests_moscovia.txt b/npc/quests/quests_moscovia.txt
index c722f2677..e49886dbd 100644
--- a/npc/quests/quests_moscovia.txt
+++ b/npc/quests/quests_moscovia.txt
@@ -1698,7 +1698,7 @@ S_AS_1:
if (rand(1,3) == 2) {
soundeffect "mos_gusli1.wav",0;
emotion e_no1;
- specialeffect2 EF_EXIT;
+ specialeffect(EF_EXIT, AREA, playerattached());
mes "[Aged Stranger]";
mes "Oh! You are good at playing the";
mes "Gusli! In such a short time... you";
@@ -5561,7 +5561,7 @@ moscovia,252,203,5 script A Little Girl#mos1 4_F_RUSCHILD,{
mes "[Yosefina]";
mes "Yes, I like it very much~";
mes "I never want it to leave. I don't want winter to come.";
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mos_kid = 1;
if (mos_middle == 1 && mos_elder == 1) mos_nowinter = 11;
close;
@@ -5602,7 +5602,7 @@ moscovia,233,204,3 script A Young Man#mos2 4_M_RUSMAN2,{
mes "No, I don't like the cold winter.";
mes "And I get angry when";
mes "seeing couples.";
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mos_middle = 1;
if (mos_kid == 1 && mos_elder == 1) mos_nowinter = 11;
close;
@@ -5643,7 +5643,7 @@ moscovia,219,229,5 script A Middle-Aged Man#mos3 4_M_RUSBALD,{
mes "Everyone will be sad";
mes "when it comes again.";
mes "I don't want winter to come.";
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mos_elder = 1;
if (mos_kid == 1 && mos_middle == 1) mos_nowinter = 11;
close;
@@ -5704,7 +5704,7 @@ moscovia,255,203,3 script A Little Boy#mos4 4_M_RUSCHILD,{
mes "a long and heavy sword";
mes "some day.";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Vasili]";
mes "If winter is gone,";
mes "it is much easier to go on adventures.";
@@ -5753,7 +5753,7 @@ moscovia,204,188,5 script A Lady#mos5 4_F_RUSWOMAN1,{
mes "The sunflower is the symbol";
mes "of this province.";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Katya]";
mes "I wish that winter never comes back and";
mes "I could see sunflowers everyday.";
@@ -5794,7 +5794,7 @@ moscovia,167,97,3 script A Lady#mos6 4_F_RUSWOMAN3,{
mes "Yes, kids like it and";
mes "flowers are blooming.";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Roza]";
mes "Whoever likes the cold and dark winter?";
mes "I hope this weather last forever.";
@@ -5851,7 +5851,7 @@ moscovia,202,102,3 script A Little Boy#mos7 4_M_RUSCHILD,{
mes "nobody comes out of their homes.";
mes "So it's not very fun.";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Feliks]";
mes "If winter never comes";
mes "I can have";
@@ -5908,7 +5908,7 @@ moscovia,220,172,3 script A Young Man#mos8 4_M_RUSMAN2,{
mes "I feel an impulse to adventure";
mes "many times a day.";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Ilyav]";
mes "But, I don't want to in the cold winter.";
mes "Hu, if the weather everday was as good as lately,";
@@ -5948,7 +5948,7 @@ moscovia,253,175,3 script A Man#mos9 4_M_RUSBALD,{
mes "There's so much snow that it makes it hard to go";
mes "around here and there.";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Orek]";
mes "In winter, fishing is more difficult,";
mes "anyway, it is bad for us.";
@@ -6005,7 +6005,7 @@ moscovia,168,135,3 script A Lady#mos10 4_F_RUSWOMAN3,{
mes "But, you don't even know how cold it gets here in winter.";
mes "You wouldn't even want to go outside.";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Kyra]";
mes "It is good to stay with my family, but";
mes "nobody likes the cold winter.";
@@ -6057,7 +6057,7 @@ moscovia,192,80,3 script A Lady#mos11 4_F_RUSWOMAN1,{
mes "[Sabina]";
mes "If the summer continues to last,";
mes "I can see them all the time...";
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mos_middle = 1;
if (mos_kid == 1 && mos_elder == 1) mos_nowinter = 11;
close;
@@ -6108,7 +6108,7 @@ moscovia,211,215,5 script A Young Man#mos12 4_M_RUSMAN1,{
mes "Of course.";
mes "From now on, it is my golden age of opportunity!";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Izlof]";
mes "If it is the summer all the time,";
mes "my life will be in an amorous mood.";
@@ -6158,7 +6158,7 @@ moscovia,149,112,3 script A Man#mos13 4_M_RUSBALD,{
mes "Yes, under the warm sunlight,";
mes "I like to rest.";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Lev]";
mes "I hope that this warm weather";
mes "will last forever.";
@@ -6210,7 +6210,7 @@ moscovia,196,71,3 script A Young Man#mos14 4_M_RUSMAN2,{
mes "sea is frozen, so it";
mes "is impossible to sail.";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Fredek]";
mes "I hope that winter never comes.";
mes "It is my dream.";
@@ -6262,7 +6262,7 @@ moscovia,234,168,5 script A Man#mos15 4_M_RUSBALD,{
mes "If you didn't prepare,";
mes "it would be hard for you.";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Gavrel]";
mes "It would be a lot better";
mes "if winter never came again.";
@@ -6315,7 +6315,7 @@ moscovia,228,80,3 script A Little Boy#mos16 4_M_RUSCHILD,{
mes "Unless the sunlight is too strong,";
mes "it is much better than the cold winter.";
next;
- specialeffect2 EF_SUMMONSLAVE;
+ specialeffect(EF_SUMMONSLAVE, AREA, playerattached());
mes "[Rurik]";
mes "By the way, what is this for?";
mes "It is natural to like the summer.";
@@ -6729,8 +6729,8 @@ mosk_dun01,169,162,0 script Mysterious Stone#rus02 HIDDEN_NPC,{
next;
mes "- !!!!!! -";
percentheal -50,-50;
- specialeffect2 EF_DARKBREATH;
- specialeffect2 EF_HIT2;
+ specialeffect(EF_DARKBREATH, AREA, playerattached());
+ specialeffect(EF_HIT2, AREA, playerattached());
emotion e_omg,1;
next;
mes "- An unknown force has -";
@@ -6834,7 +6834,7 @@ mosk_dun01,167,160,3 script Gray Wolf#rus03 4_RUS_DWOLF,{
rhea_rus_main = 3;
setquest(8136);
emotion e_omg,1;
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -50,0;
next;
mes "- The Gray Wolf attacks you -";
@@ -7078,7 +7078,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "- The key begins to glow -";
mes "- wind begins to blow -";
mes "- from somewhere -";
- specialeffect2 EF_BEGINSPELL;
+ specialeffect(EF_BEGINSPELL, AREA, playerattached());
specialeffect EF_FREEZED;
next;
} else {
@@ -7096,15 +7096,15 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "- The wind disappears and -";
mes "- a very young girl appears -";
donpcevent "Maria Morebna#rus46::OnEnable";
- specialeffect EF_FREEZED,AREA,"Maria Morebna#rus46";
+ specialeffect(EF_FREEZED, AREA, getnpcid("Maria Morebna#rus46"));
next;
mes "[Maria Morebna]";
mes "Thank you!";
mes "I'm finally out of there! Now I can.....................aaaaak!!!....";
next;
- specialeffect EF_HIT2,AREA,"Maria Morebna#rus46";
- specialeffect EF_DARKBREATH,AREA,"Maria Morebna#rus46";
- specialeffect EF_DEVIL,AREA,"Maria Morebna#rus46";
+ specialeffect(EF_HIT2, AREA, getnpcid("Maria Morebna#rus46"));
+ specialeffect(EF_DARKBREATH, AREA, getnpcid("Maria Morebna#rus46"));
+ specialeffect(EF_DEVIL, AREA, getnpcid("Maria Morebna#rus46"));
mes "- Maria is attacked -";
mes "- and falls down!! -";
next;
@@ -7133,7 +7133,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "Gray Wolf...";
mes "You think you can fight me?!";
next;
- specialeffect EF_FIREHIT,AREA,"Gray Wolf#rus05";
+ specialeffect(EF_FIREHIT, AREA, getnpcid("Gray Wolf#rus05"));
mes "- Staggering from -";
mes "- Koshei's flames, -";
mes "- Gray Wolf quickly tell me -";
@@ -7261,7 +7261,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "- The wounds and -";
mes "- curses on her body -";
mes "- are removed !! -";
- specialeffect EF_ABSORBSPIRITS,AREA,"Maria Morebna#rus46";
+ specialeffect(EF_ABSORBSPIRITS, AREA, getnpcid("Maria Morebna#rus46"));
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ok! Next...";
@@ -7291,7 +7291,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
next;
}
mes "- !! -";
- specialeffect EF_RESURRECTION,AREA,"Maria Morebna#rus46";
+ specialeffect(EF_RESURRECTION, AREA, getnpcid("Maria Morebna#rus46"));
next;
mes "[Gray Wolf]";
mes "Success!!";
@@ -7644,7 +7644,7 @@ moscovia,178,127,0 script The Blacksmith#rus06 1_M_SMITH,{
next;
mes "[The Blacksmith]";
mes "'^ff0000Spellshield Protection^000000.";
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
next;
mes "[The Blacksmith]";
mes "This spell protects you from any curse the keymaker might try to use. Remember the words of the spell. It won't last very long because I am just a blacksmith.";
@@ -8538,7 +8538,7 @@ mosk_fild02,157,233,0 script Shepherdess#rus10 1_F_04,{
close;
}
mes "- My hand is pricked by thorns! -";
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -5,0;
close;
}
@@ -8705,7 +8705,7 @@ OnTouch:
mes "- something gleaming -";
mes "- seems to stare at you!! -";
close2;
- specialeffect2 EF_FLASHER;
+ specialeffect(EF_FLASHER, AREA, playerattached());
unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
@@ -8727,7 +8727,7 @@ OnTouch:
}
mes "-You seem to hear the splash but something gleaming raids on you!!-";
close2;
- specialeffect2 EF_FLASHER;
+ specialeffect(EF_FLASHER, AREA, playerattached());
unitkill getcharid(CHAR_ID_ACCOUNT);
end;
}
@@ -8925,7 +8925,7 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
mes "Here, my hair...?!";
mes "Aaaaaaaah!??!?!";
sc_start SC_CURSE,60000,0;
- specialeffect2 EF_LORD;
+ specialeffect(EF_LORD, AREA, playerattached());
emotion e_omg,1;
percentheal -30,0;
next;
@@ -8968,7 +8968,7 @@ mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{
}
mes "-When Lusalka watches you, you are blacked out-";
close2;
- specialeffect2 EF_FLASHER;
+ specialeffect(EF_FLASHER, AREA, playerattached());
unitkill getcharid(CHAR_ID_ACCOUNT);
donpcevent "Lusalka#rus23::OnDisable";
end;
@@ -9415,7 +9415,7 @@ mosk_que,45,131,0 script Stone Furnace#rus28 HIDDEN_NPC,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Oops, it's hot, hot!!!";
- specialeffect2 EF_FIREHIT;
+ specialeffect(EF_FIREHIT, AREA, playerattached());
emotion e_omg,1;
percentheal -5,0;
close;
@@ -9679,7 +9679,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "[Baba Yaga]";
mes "'Presto Change-o!!'";
mes "'Turn into a pig!!'";
- specialeffect2 EF_BARRIER;
+ specialeffect(EF_BARRIER, AREA, playerattached());
emotion e_omg;
next;
mes "[Baba Yaga]";
@@ -9697,7 +9697,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh, eh.. I mean.. I say.. spell...";
mes ""+ .@input$ +" !!!";
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
next;
} else {
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -9889,7 +9889,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
next;
mes "[Baba Yaga]";
mes "'There is an order for you to open your eyes!!!'";
- specialeffect2 EF_BEGINSPELL3;
+ specialeffect(EF_BEGINSPELL3, AREA, playerattached());
rhea_rus_main = 29;
monster "mosk_dun02",52,210,"Alarm to 5 minutes",1193,1,"Baba Yaga#rus32::OnMyMobDead";
monster "mosk_dun02",53,210,"Alarm on time",1193,1,"Baba Yaga#rus32::OnMyMobDead";
@@ -11006,7 +11006,7 @@ treasure01,24,39,0 script Old Bed#rus38 HIDDEN_NPC,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ouch?!";
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -5,0;
next;
mes "- Something unidentified bites your hand !! -";
@@ -11059,7 +11059,7 @@ treasure01,24,39,0 script Old Bed#rus38 HIDDEN_NPC,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ouch?!";
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -5,0;
next;
mes "- Something unidentified bites your hand !! -";
@@ -11124,7 +11124,7 @@ treasure01,27,115,0 script Opened Treasure Chest#41 HIDDEN_NPC,{
mes "...!? What is this?!";
next;
.@russ_key02 = rand(1,7);
- if (rand(1,7) == 3) {
+ if (.@russ_key02 == 3) {
mes "- ^0000ffYou find the handle of a broken key in the junk !!^000000 -";
next;
} else {
@@ -11828,7 +11828,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "Ok, it is my turn?";
next;
mes "-You cast a dice. The dice falls down, rotates and stops there-";
- specialeffect2 EF_STUNATTACK;
+ specialeffect(EF_STUNATTACK, AREA, playerattached());
next;
.@rus_dice01 = rand(1,6);
mes "["+ strcharinfo(PC_NAME) +"]";
diff --git a/npc/quests/quests_nameless.txt b/npc/quests/quests_nameless.txt
index 0e0422530..9461461a5 100644
--- a/npc/quests/quests_nameless.txt
+++ b/npc/quests/quests_nameless.txt
@@ -3129,7 +3129,7 @@ OnTouch:
mes "[Pope]";
mes "May Freya bless you...";
next;
- specialeffect2 EF_ENCHANTPOISON;
+ specialeffect(EF_ENCHANTPOISON, AREA, playerattached());
mes "^3355FFThe pope prayed in earnest";
mes "for you, and you feel a strong";
mes "aura of warmth and kindness";
diff --git a/npc/quests/quests_prontera.txt b/npc/quests/quests_prontera.txt
index 03b119456..e0bd9156e 100644
--- a/npc/quests/quests_prontera.txt
+++ b/npc/quests/quests_prontera.txt
@@ -431,7 +431,7 @@ prontera,248,212,3 script Busy Boy#prt 4_M_KID1,3,3,{
mes "me alone and let me work?";
mes "I've got something important";
mes "to do! When I finish arranging";
- mes "these books, need to... I need to make some preparations!";
+ mes "these books, need to... I need to make some preparations!";
close;
}
mes "[Busy-Looking Boy]";
@@ -2236,7 +2236,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "the first place? You didn't";
mes "forget that, did you?";
next;
- mes "[Father Bampf]";
+ mes "[Father Bamph]";
mes "......";
mes ".........";
mes "............";
diff --git a/npc/quests/quests_rachel.txt b/npc/quests/quests_rachel.txt
index f2282106e..43e4beadb 100644
--- a/npc/quests/quests_rachel.txt
+++ b/npc/quests/quests_rachel.txt
@@ -63,7 +63,7 @@ ra_in01,384,246,3 script Vincent#ra_in01 1_M_01,{
}
if (lost_boy < 1) {
mes "[Vincent]";
- mes "I am Vincert, steward of";
+ mes "I am Vincent, steward of";
mes "this mansion and faithful";
mes "servant to its master, Sir";
mes "Zhed, the most powerful";
@@ -3360,7 +3360,7 @@ rachel,265,98,3 script Hamion#aru 4_M_RACHMAN2,{
mes "[Hamion]";
mes "Here we go...!";
next;
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
mes "^3355FF*Pzzzz*^000000";
next;
mes "[Hamion]";
@@ -3722,10 +3722,10 @@ OnStart:
enablenpc "#ice_4f_2";
enablenpc "#ice_4f_3";
enablenpc "#ice_4f_4";
- specialeffect EF_MAPPILLAR2,AREA,"#ice_4f_1";
- specialeffect EF_MAPPILLAR2,AREA,"#ice_4f_2";
- specialeffect EF_MAPPILLAR2,AREA,"#ice_4f_3";
- specialeffect EF_MAPPILLAR2,AREA,"#ice_4f_4";
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#ice_4f_1"));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#ice_4f_2"));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#ice_4f_3"));
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#ice_4f_4"));
end;
OnTimer60000:
@@ -3817,7 +3817,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "wouldn't come here to pray...";
mes "Well, I hope you enjoy your";
mes "time here, adventurer.";
- goto L_End;
+ callsub L_End;
}
mes "[Priestess Nemma]";
mes "Oh! I'm glad to see that";
@@ -3870,7 +3870,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "all your journeys. May the";
mes "grace of the goddess always";
mes "support us in all that we do~";
- goto L_End;
+ callsub L_End;
}
mes "[Priestess Nemma]";
mes "Great! How much would you";
@@ -3899,7 +3899,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "protecting you, wherever you go~";
break;
}
- goto L_End;
+ callsub L_End;
}
else {
cutin "ra_nemma03",2;
@@ -3940,7 +3940,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "protecting you, wherever you go~";
break;
}
- goto L_End;
+ callsub L_End;
case 2:
mes "[Priestess Nemma]";
mes "Oh! If you'd like some";
@@ -3969,7 +3969,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "Oh, how sweet of you~";
break;
}
- goto L_End;
+ callsub L_End;
}
}
else {
@@ -3977,7 +3977,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
cutin "ra_nemma01",2;
mes "[Priestess Nemma]";
mes "Welcome to our temple!";
- goto L_End;
+ callsub L_End;
}
if (ra_tem_q < 1) {
mes "[Priestess Nemma]";
@@ -4010,7 +4010,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "to go inside. ^333333*Sob*^000000 P-Panno!";
mes "Panno, I neeeed heeeeelp~!";
ra_tem_q = 1;
- goto L_End;
+ callsub L_End;
}
else if ((ra_tem_q >= 1) && (ra_tem_q < 10)) {
mes "[Priestess Nemma]";
@@ -4025,7 +4025,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "Panno would know";
mes "what to do... I think.";
mes "Ooh, Panno, help me!";
- goto L_End;
+ callsub L_End;
}
else if (ra_tem_q == 10) {
cutin "ra_nemma04",2;
@@ -4051,7 +4051,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "I'm outside. What if";
mes "the gate locks up again?";
mes "Oooh, what should I do?!";
- goto L_End;
+ callsub L_End;
}
else if (ra_tem_q == 11) {
emotion e_ho;
@@ -4063,7 +4063,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "longer asking for donations,";
mes "but you can still redeem your";
mes "Lottery Tickets inside, okay?";
- goto L_End;
+ callsub L_End;
}
else if (ra_tem_q == 12) {
mes "[Priestess Nemma]";
@@ -4090,7 +4090,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "like, ^FF000020 of them^000000! Thank";
mes "you thank you thank you!";
ra_tem_q = 13;
- goto L_End;
+ callsub L_End;
}
else if (ra_tem_q == 13) {
mes "[Priestess Nemma]";
@@ -4125,7 +4125,7 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "to play! Hm, maybe";
mes "our pope would like";
mes "to see these too?";
- goto L_End;
+ callsub L_End;
}
cutin "ra_nemma02",2;
mes "[Priestess Nemma]";
@@ -4144,14 +4144,14 @@ ra_temple,116,174,3 script Nemma#ra_temple 4_F_TRAINEE,{
mes "have much to pay you";
mes "back with, anyway~";
}
- goto L_End;
+ callsub L_End;
}
else {
cutin "ra_nemma01",2;
mes "[Priestess Nemma]";
mes "Welcome to our temple!";
}
- goto L_End;
+ callsub L_End;
}
L_End:
@@ -4847,7 +4847,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
cutin "",255;
lost_boy = 13;
completequest 8099;
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
getexp RENEWAL_EXP?90000:900000,0;
end;
}
@@ -5272,7 +5272,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
ra_tem_q = 0;
cutin "",255;
completequest 8105;
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
if (RENEWAL_EXP)
getexp 90000,60000;
else
@@ -5418,7 +5418,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "violent methods if they believe";
mes "it to be the will of Freya, and";
mes "are the ones that established";
- mes "the military camp at Thor Volcano.";
+ mes "the military camp at Thor Volcano.";
next;
mes "[High Priest Zhed]";
mes "Of course, it's also";
@@ -6318,15 +6318,16 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "Have you come to";
mes "redeem Lottery Tickets?";
next;
- if (select("Yes", "No") == 1) goto L_Lottery;
- if (ra_tem_q == 12) {
- cutin "ra_fano01",2;
- mes "[Priestess Panno]";
- mes "I already told you";
- mes "everything I know.";
- mes "Remember to keep";
- mes "quiet about what I said.";
- goto L_End;
+ if (select("Yes", "No") == 2) {
+ if (ra_tem_q == 12) {
+ cutin "ra_fano01",2;
+ mes "[Priestess Panno]";
+ mes "I already told you";
+ mes "everything I know.";
+ mes "Remember to keep";
+ mes "quiet about what I said.";
+ callsub L_End;
+ }
}
}
else if (ra_tem_q < 2) {
@@ -6347,15 +6348,17 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "know, in case you were saving";
mes "them for some weird reason.";
next;
- if (select("Yes", "No") == 1) goto L_Lottery;
- cutin "ra_fano03",2;
- mes "[Priestess Panno]";
- mes "You can redeem your";
- mes "Lottery Tickets at any";
- mes "time, so please visit";
- mes "me at your leisure.";
- mes "Go with Freya.";
- goto L_End;
+ if (select("Yes", "No") == 2) {
+ cutin "ra_fano03",2;
+ mes "[Priestess Panno]";
+ mes "You can redeem your";
+ mes "Lottery Tickets at any";
+ mes "time, so please visit";
+ mes "me at your leisure.";
+ mes "Go with Freya.";
+ callsub L_End;
+ }
+ break;
case 2:
cutin "ra_fano01",2;
@@ -6394,14 +6397,14 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "side of the hallway. However,";
mes "you can only enter if you've";
mes "been permitted beforehand.";
- goto L_End;
+ callsub L_End;
case 3:
mes "[Priestess Panno]";
mes "......................";
mes "No chit-chat";
mes "inside the temple.";
- goto L_End;
+ callsub L_End;
}
}
else if (ra_tem_q == 10) {
@@ -6429,14 +6432,16 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "know, in case you were saving";
mes "them for some weird reason.";
next;
- if (select("Yes", "No") == 1) goto L_Lottery;
- mes "[Priestess Panno]";
- mes "You can redeem your";
- mes "Lottery Tickets at any";
- mes "time, so please visit";
- mes "me at your leisure.";
- mes "Go with Freya.";
- goto L_End;
+ if (select("Yes", "No") == 2) {
+ mes "[Priestess Panno]";
+ mes "You can redeem your";
+ mes "Lottery Tickets at any";
+ mes "time, so please visit";
+ mes "me at your leisure.";
+ mes "Go with Freya.";
+ callsub L_End;
+ }
+ break;
case 2:
cutin "ra_fano01",2;
@@ -6475,7 +6480,7 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "side of the hallway. However,";
mes "you can only enter if you've";
mes "been permitted beforehand.";
- goto L_End;
+ callsub L_End;
case 3:
cutin "ra_fano02",2;
@@ -6522,7 +6527,7 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "[Priestess Panno]";
mes ".........";
ra_tem_q = 11;
- goto L_End;
+ callsub L_End;
}
}
else if (ra_tem_q == 11) {
@@ -6657,17 +6662,17 @@ ra_temin,170,46,3 script Panno#rachel 4_F_TRAINEE,{
mes "Excuse me now, I need";
mes "to get back to work.";
ra_tem_q = 12;
- goto L_End;
+ callsub L_End;
+ }
+ else {
+ cutin "ra_fano02",2;
+ mes "[Priestess Panno]";
+ mes "This is a holy place";
+ mes "Behave yourself, and";
+ mes "respect those who have";
+ mes "come here just to worship.";
+ callsub L_End;
}
- cutin "ra_fano02",2;
- mes "[Priestess Panno]";
- mes "This is a holy place";
- mes "Behave yourself, and";
- mes "respect those who have";
- mes "come here just to worship.";
- goto L_End;
-
-L_Lottery:
if(checkweight(Yggdrasilberry,1) == 0){
cutin "ra_fano02",2;
mes "[Priestess Panno]";
@@ -6677,7 +6682,7 @@ L_Lottery:
mes "something large, unwieldy";
mes "and heavy? Put your junk";
mes "away in Storage first.";
- goto L_End;
+ callsub L_End;
}
mes "[Priestess Panno]";
mes "Here we go";
@@ -6713,7 +6718,7 @@ L_Lottery:
else if (.@bonus_donate > 5 && .@bonus_donate < 11) getitem Honey,1; //Honey 5%
else if (.@bonus_donate > 0 && .@bonus_donate < 6) getitem Royal_Jelly,1; //Royal Jelly 5%
else getitem White_Slim_Potion,1; //Condensed White Potion 39%
- goto L_End;
+ callsub L_End;
}
mes "[Priestess Panno]";
mes "You...";
@@ -6733,7 +6738,7 @@ L_Lottery:
cutin "ra_fano03",2;
mes "[Priestess Panno]";
mes "May Freya be with you.";
- goto L_End;
+ callsub L_End;
L_End:
close2;
@@ -7441,8 +7446,8 @@ OnTouch:
}
rachel,142,167,5 script Seeking Follower#rachel 4_F_MASK1,6,6,{
+OnTouch:
if ((lost_boy == 13) && (ra_tem_q == 20)) {
- L_Mes:
mes "[Arunafeltz Follower]";
mes "Excuse me, but";
mes "are you "+strcharinfo(PC_NAME)+"?";
@@ -7469,8 +7474,5 @@ rachel,142,167,5 script Seeking Follower#rachel 4_F_MASK1,6,6,{
mes "on your journeys...";
close;
}
-
-OnTouch:
- if ((lost_boy == 13) && (ra_tem_q == 20)) goto L_Mes;
end;
}
diff --git a/npc/quests/quests_veins.txt b/npc/quests/quests_veins.txt
index c6c95bc17..2fde49c3e 100644
--- a/npc/quests/quests_veins.txt
+++ b/npc/quests/quests_veins.txt
@@ -3056,7 +3056,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "I'll see you later~";
completequest 3083;
rachel_camel = 25;
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
if (RENEWAL_EXP)
getexp 100000,50000;
else
@@ -3078,7 +3078,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
else if (aru_monas == 15) {
mes "[Kid Karyn]";
mes "Hi! It's good to see";
- mes "you again! Kurdi just came";
+ mes "you again! Curdie just came";
mes "back home from the hospital,";
mes "and is getting better everyday!";
mes "Ah, and I've been taking care";
@@ -3151,7 +3151,7 @@ veins,327,185,3 script Kid#camelcamel 4_M_DST_CHILD,{
mes "[Kid Karyn]";
mes "Hi! How do you like";
mes "fishing on my dad's boat?";
- mes "Oh, and Kurdi says hi!";
+ mes "Oh, and Curdie says hi!";
close;
}
else {
@@ -3875,7 +3875,7 @@ veins,181,166,3 script Lockenlock 4_M_HUMERCHANT,{
mes "town, so no one's really had";
mes "to send in any orders lately.";
mes "That's why I didn't have any";
- mes "materials onhand. Sorry.";
+ mes "materials on hand. Sorry.";
next;
mes "[Locksmith Lockenlock]";
mes "All I need is ^4D4DFF1 Steel^000000.";
@@ -6663,7 +6663,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
mes "[Colonel Vito]";
mes "You idiot!";
percentheal -10,0;
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
next;
}
mes "[Colonel Vito]";
diff --git a/npc/quests/seals/brisingamen_seal.txt b/npc/quests/seals/brisingamen_seal.txt
index 6976517ce..ed63847a2 100644
--- a/npc/quests/seals/brisingamen_seal.txt
+++ b/npc/quests/seals/brisingamen_seal.txt
@@ -3226,7 +3226,7 @@ OnTouch:
mes "Go, Lowen!";
mes "Cast Grand Cross, now!^000000";
next;
- specialeffect EF_BEGINSPELL7,AREA,"#lowen";
+ specialeffect(EF_BEGINSPELL7, AREA, getnpcid("#lowen"));
mapannounce "que_god02","Mwahaha! Mortals are such fools...",0,0xA8A8A8;
donpcevent "#brisinsummon::OnDoppel1Off";
donpcevent "#brisinsummon::OnDoppel2On";
@@ -3237,7 +3237,7 @@ OnTouch:
mes "[" + strcharinfo(PC_NAME) + "]";
mes " ??!!!";
next;
- specialeffect EF_BEGINSPELL7,AREA,"#doppelganger2";
+ specialeffect(EF_BEGINSPELL7, AREA, getnpcid("#doppelganger2"));
mes "[Male Voice]";
mes "Lowen!";
mes "Noooooooooo!!!";
@@ -3369,7 +3369,7 @@ que_god02,178,127,3 script Valkyrie#1 4_F_VALKYRIE,{
next;
mes "[Valkyrie]";
mes "Your soul and spirit will be reborn in Valhalla as a holy warrior preparing for the holy war.";
- specialeffect2 EF_BLESSING;
+ specialeffect(EF_BLESSING, AREA, playerattached());
next;
mes "[Valkyrie]";
mes "And...";
@@ -3454,7 +3454,7 @@ que_god02,178,127,3 script Valkyrie#1 4_F_VALKYRIE,{
mes "[Valkyrie]";
mes "Your soul and";
mes "spirit will be reborn in Valhalla as a holy warrior preparing for the holy war.";
- specialeffect2 EF_BLESSING;
+ specialeffect(EF_BLESSING, AREA, playerattached());
next;
mes "[Valkyrie]";
mes "And...";
@@ -4443,7 +4443,7 @@ mjolnir_09,87,129,3 script Berling#1 4_M_DWARF,{
next;
mes "[Berling]";
mes "Memorize all five lines of this song exactly. Now take this golden teardrop and please seek out Grer.";
- specialeffect2 EF_IMPOSITIO;
+ specialeffect(EF_IMPOSITIO, AREA, playerattached());
god_brising = 44;
close2;
hideonnpc "Berling#1";
diff --git a/npc/quests/seals/megingard_seal.txt b/npc/quests/seals/megingard_seal.txt
index 228268602..96a634a4e 100644
--- a/npc/quests/seals/megingard_seal.txt
+++ b/npc/quests/seals/megingard_seal.txt
@@ -3186,27 +3186,27 @@ niflheim,109,254,0 script Egnigem 4_M_NFDEADSWDMAN,{
mes "imbue you with the";
mes "^666666last vestiges of my strength^000000...";
specialeffect EF_BEGINSPELL5;
- specialeffect2 EF_HOLYHIT;
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
next;
mes "[Egnigem]";
mes "May the heavens";
mes "answer me as I call upon the";
mes "light of justice that empowers the defenders of truth, and threaten the enemies of peace.";
specialeffect EF_BEGINSPELL6;
- specialeffect2 EF_HOLYHIT;
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
next;
mes "[Egnigem]";
mes "May you always shine with";
mes "the light of truth. Let the light within you eradicate the shadows";
mes "of deception, fear and malice.";
specialeffect EF_BEGINSPELL6;
- specialeffect2 EF_HOLYHIT;
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
next;
mes "[Egnigem]";
mes "By the holy power";
mes "invested in me, I humbly bestow upon you my remaining strength. Fight honorably, and do not lose sight of righteousness.";
specialeffect EF_LOCKON;
- specialeffect2 EF_HOLYCROSS;
+ specialeffect(EF_HOLYCROSS, AREA, playerattached());
god_eremes = 27;
if (RENEWAL_EXP) {
if (BaseLevel < 56) getexp 2700,0;
@@ -3244,27 +3244,27 @@ niflheim,109,254,0 script Egnigem 4_M_NFDEADSWDMAN,{
mes "imbue you with the";
mes "^666666last vestiges of my strength^000000...";
specialeffect EF_BEGINSPELL5;
- specialeffect2 EF_HOLYHIT;
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
next;
mes "[Egnigem]";
mes "May the heavens";
mes "answer me as I call upon the";
mes "light of justice that empowers the defenders of truth, and threaten the enemies of peace.";
specialeffect EF_BEGINSPELL6;
- specialeffect2 EF_HOLYHIT;
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
next;
mes "[Egnigem]";
mes "May you always shine with";
mes "the light of truth. Let the light within you eradicate the shadows";
mes "of deception, fear and malice.";
specialeffect EF_BEGINSPELL6;
- specialeffect2 EF_HOLYHIT;
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
next;
mes "[Egnigem]";
mes "By the holy power";
mes "invested in me, I humbly bestow upon you my remaining strength. Fight honorably, and do not lose sight of righteousness.";
specialeffect EF_LOCKON;
- specialeffect2 EF_HOLYCROSS;
+ specialeffect(EF_HOLYCROSS, AREA, playerattached());
god_eremes = 27;
if (RENEWAL_EXP) {
if (BaseLevel < 56) getexp 2700,0;
diff --git a/npc/quests/seals/mjolnir_seal.txt b/npc/quests/seals/mjolnir_seal.txt
index e4775cfb2..746167f20 100644
--- a/npc/quests/seals/mjolnir_seal.txt
+++ b/npc/quests/seals/mjolnir_seal.txt
@@ -1150,7 +1150,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
}
}
else if (.@p_atk == 4) {
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
.@p_vit += 10;
mes "--------------------";
mes "" + strcharinfo(PC_NAME) + "";
@@ -1186,7 +1186,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "lost " + .@damage + " HP!";
}
else if (.@p_atk == 0) {
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
.@p_vit -= 10;
mes "--------------------";
mes "You were hit by";
@@ -1245,7 +1245,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "Sudri attacks the legs!";
}
if (.@n_atk == .@p_def) {
- specialeffect2 EF_GUARD;
+ specialeffect(EF_GUARD, AREA, playerattached());
if (.@p_def == 1) {
mes "--------------------";
mes "" + strcharinfo(PC_NAME) + "";
@@ -1277,7 +1277,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "" + strcharinfo(PC_NAME) + "";
mes "counters!";
if (.@count == 1) {
- specialeffect2 EF_AUTOCOUNTER;
+ specialeffect(EF_AUTOCOUNTER, AREA, playerattached());
specialeffect EF_MAGNUMBREAK;
.@n_vit -= 20;
mes "You successfully";
@@ -1291,7 +1291,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
}
}
else {
- specialeffect2 EF_CRASHEARTH;
+ specialeffect(EF_CRASHEARTH, AREA, playerattached());
.@p_vit -= 30;
mes "You've taken";
mes "critical damage";
@@ -1301,7 +1301,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
}
}
else if (.@n_atk == 1) {
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
@@ -1311,7 +1311,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 2) {
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
@@ -1321,7 +1321,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 3) {
- specialeffect2 EF_HIT4;
+ specialeffect(EF_HIT4, AREA, playerattached());
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
@@ -1331,7 +1331,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 0) {
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
@@ -1558,7 +1558,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
}
}
else if (.@p_atk == 4) {
- specialeffect2 EF_HEAL;
+ specialeffect(EF_HEAL, AREA, playerattached());
.@p_vit += 10;
mes "--------------------";
mes "" + strcharinfo(PC_NAME) + "";
@@ -1594,7 +1594,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "lost " + .@damage + " HP!";
}
else if (.@p_atk == 0) {
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
.@p_vit -= 10;
mes "--------------------";
mes "You were hit by";
@@ -1653,7 +1653,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "Sudri attacks the legs!";
}
if (.@n_atk == .@p_def) {
- specialeffect2 EF_GUARD;
+ specialeffect(EF_GUARD, AREA, playerattached());
if (.@p_def == 1) {
mes "--------------------";
mes "" + strcharinfo(PC_NAME) + " quickly dodged,";
@@ -1684,7 +1684,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "" + strcharinfo(PC_NAME) + "";
mes "counters!";
if (.@count == 1) {
- specialeffect2 EF_AUTOCOUNTER;
+ specialeffect(EF_AUTOCOUNTER, AREA, playerattached());
specialeffect EF_MAGNUMBREAK;
.@n_vit -= 20;
mes "You successfully";
@@ -1698,7 +1698,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
}
}
else {
- specialeffect2 EF_CRASHEARTH;
+ specialeffect(EF_CRASHEARTH, AREA, playerattached());
.@p_vit -= 30;
mes "You've taken";
mes "critical damage";
@@ -1708,7 +1708,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
}
}
else if (.@n_atk == 1) {
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
@@ -1718,7 +1718,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 2) {
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
@@ -1728,7 +1728,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 3) {
- specialeffect2 EF_HIT4;
+ specialeffect(EF_HIT4, AREA, playerattached());
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
@@ -1738,7 +1738,7 @@ mjolnir_09,209,341,3 script Dwarf Blacksmith#south 4_M_DWARF,{
mes "" + strcharinfo(PC_NAME) + " has lost " + .@damage + " HP!";
}
else if (.@n_atk == 0) {
- specialeffect2 EF_HIT5;
+ specialeffect(EF_HIT5, AREA, playerattached());
.@p_vit -= .@damage;
mes "--------------------";
mes "Sudri successfully";
diff --git a/npc/quests/skills/alchemist_skills.txt b/npc/quests/skills/alchemist_skills.txt
index d958e9011..a8867a1a8 100644
--- a/npc/quests/skills/alchemist_skills.txt
+++ b/npc/quests/skills/alchemist_skills.txt
@@ -1394,7 +1394,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
if (BaseJob == Job_Alchemist && bioeth == 8) {
mes "[Kellasus]";
mes "Although I admit that";
- mes "you're capabile of learning";
+ mes "you're capable of learning";
mes "what I might be able to teach";
mes "you about Homunculi, I can't";
mes "in good conscience do it. I'm";
@@ -1805,7 +1805,7 @@ lhz_in01,225,122,5 script Skrajjad#qsk_al 4_M_SAGE_A,{
mes "you are about this, then Kellasus might change his mind about you.";
next;
mes "[Skrajjad]";
- mes "Let give teach you my";
+ mes "Let me teach you my";
mes "Homunculus specialty,";
mes "the ^FF0000Vaporize^000000 skill. Actually,";
mes "it's useless without Kellasus's";
@@ -2015,7 +2015,7 @@ lhz_in02,278,273,3 script Broncher#qsk_al 4_M_SEAMAN,{
mes "is great! Yeah. Yeah,";
mes "this really hits the spot.";
next;
- mes "[Brocher]";
+ mes "[Broncher]";
mes "Holy crap! Y-you're that";
mes "Alchemist that Skrajjad";
mes "told me to expect! Wha--?";
diff --git a/npc/quests/skills/assassin_skills.txt b/npc/quests/skills/assassin_skills.txt
index 4c282caef..7e03eac2f 100644
--- a/npc/quests/skills/assassin_skills.txt
+++ b/npc/quests/skills/assassin_skills.txt
@@ -76,7 +76,7 @@ in_moc_16,14,27,5 script Assassin#realman 4_M_ACROSS,{
mes "you forgot how to do this";
mes "skill? I suppose that all you";
mes "needed was a quick refresher.";
- specialeffect2 EF_INVENOM;
+ specialeffect(EF_INVENOM, AREA, playerattached());
next;
mes "[Killtin]";
mes "Alright, I think it's";
@@ -245,7 +245,7 @@ in_moc_16,14,27,5 script Assassin#realman 4_M_ACROSS,{
mes "bit of credit for my excellent";
mes "instruction. Ah, very nice.";
next;
- specialeffect2 EF_INVENOM;
+ specialeffect(EF_INVENOM, AREA, playerattached());
next;
mes "[Killtin]";
mes "Alright, you may need";
@@ -357,7 +357,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "please try it so I can give";
mes "you feedback on your form.";
next;
- specialeffect2 EF_SONICBLOW;
+ specialeffect(EF_SONICBLOW, AREA, playerattached());
next;
mes "[Esmille]";
mes "Hmm, you're shifting";
@@ -366,7 +366,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "help if your center of";
mes "gravity was like this...";
next;
- specialeffect2 EF_SONICBLOW;
+ specialeffect(EF_SONICBLOW, AREA, playerattached());
next;
mes "[Esmille]";
mes "Ah, you're so very";
@@ -444,7 +444,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "please try it so I can give";
mes "you feedback on your form.";
next;
- specialeffect2 EF_SONICBLOW;
+ specialeffect(EF_SONICBLOW, AREA, playerattached());
next;
mes "[Esmille]";
mes "Hmm, you're shifting";
@@ -453,7 +453,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "help if your center of";
mes "gravity was like this...";
next;
- specialeffect2 EF_SONICBLOW;
+ specialeffect(EF_SONICBLOW, AREA, playerattached());
next;
mes "[Esmille]";
mes "That's a little better.";
@@ -462,7 +462,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "and follow through with";
mes "the stabbing motion.";
next;
- specialeffect2 EF_SONICBLOW;
+ specialeffect(EF_SONICBLOW, AREA, playerattached());
next;
mes "[Esmille]";
mes "Ah, you're so very";
@@ -470,7 +470,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "Focus more on smoothly";
mes "transitioning from your";
mes "stance to executed action.";
- specialeffect2 EF_SONICBLOW;
+ specialeffect(EF_SONICBLOW, AREA, playerattached());
next;
mes "[Esmille]";
mes "Yes, that's it...!";
@@ -535,7 +535,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "please try it so I can give";
mes "you feedback on your form.";
next;
- specialeffect2 EF_SONICBLOW;
+ specialeffect(EF_SONICBLOW, AREA, playerattached());
next;
mes "[Esmille]";
mes "Hmm, you're shifting";
@@ -544,7 +544,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "help if your center of";
mes "gravity was like this...";
next;
- specialeffect2 EF_SONICBLOW;
+ specialeffect(EF_SONICBLOW, AREA, playerattached());
next;
mes "[Esmille]";
mes "That's a little better.";
@@ -553,7 +553,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 4_F_ACROSS,{
mes "and follow through with";
mes "the stabbing motion.";
next;
- specialeffect2 EF_SONICBLOW;
+ specialeffect(EF_SONICBLOW, AREA, playerattached());
next;
mes "[Esmille]";
mes "Yes, that's it...!";
diff --git a/npc/quests/skills/bard_skills.txt b/npc/quests/skills/bard_skills.txt
index 6fe904e28..6df565fb2 100644
--- a/npc/quests/skills/bard_skills.txt
+++ b/npc/quests/skills/bard_skills.txt
@@ -496,7 +496,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 2_M_BARD_ORIENT,3,3,{
mes "voices yours, is this voice";
mes "mine. Head spinning, head";
mes "spinning, head spinning...!''";
- specialeffect2 EF_TALK_FROSTJOKE;
+ specialeffect(EF_TALK_FROSTJOKE, AREA, playerattached());
delitem Munak_Doll,1;
skill "BA_PANGVOICE",1,0;
qskill_bard = 9;
@@ -578,7 +578,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 2_M_BARD_ORIENT,3,3,{
mes "voices yours, is this voice";
mes "mine. Head spinning, head";
mes "spinning, head spinning...!''";
- specialeffect2 EF_TALK_FROSTJOKE;
+ specialeffect(EF_TALK_FROSTJOKE, AREA, playerattached());
delitem Egg,5;
skill 1010,1,0;
qskill_bard = 9;
diff --git a/npc/quests/skills/dancer_skills.txt b/npc/quests/skills/dancer_skills.txt
index 82a516e5d..4da84d035 100644
--- a/npc/quests/skills/dancer_skills.txt
+++ b/npc/quests/skills/dancer_skills.txt
@@ -67,7 +67,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "Ow...!";
mes "Th-that whip!";
mes "I-i-it huuuurts!";
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -5,0;
close;
}
@@ -83,7 +83,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "What the...? Ack!";
mes "S-stop wh-whipping";
mes "me! It... It stiiings!";
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -10,0;
next;
mes "[Canell]";
@@ -107,7 +107,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "Not that whip";
mes "again! Arrgh, it's--";
mes "It hurts so much!";
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -10,0;
close;
}
@@ -165,7 +165,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "I am irresistable!";
mes "I am the most attractive";
mes "woman in the whole world!";
- specialeffect2 EF_FLASHER;
+ specialeffect(EF_FLASHER, AREA, playerattached());
next;
mes "^3355FFYour self esteem has";
mes "sky rocketed. Fortunately,";
@@ -251,7 +251,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
next;
mes "[Canell]";
mes "Bam!";
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -5,0;
next;
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -301,14 +301,14 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "O-ow!";
mes "P-please...!";
mes "Not the whip again!";
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -5,0;
close;
case 3:
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Un, deux, trois~";
emotion e_no1,1;
- specialeffect2 EF_FLASHER;
+ specialeffect(EF_FLASHER, AREA, playerattached());
next;
mes "[Canell]";
mes "Great, that's exactly";
@@ -337,7 +337,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "^3355FFYou have finally learned";
mes "the Charming Wink skill.^000000";
DANCER_SK = 9;
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
skill "DC_WINKCHARM",1,0;
close;
}
@@ -380,7 +380,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
next;
mes "^3355FFYou have learned the";
mes "Charming Wink skill.^000000";
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
skill "DC_WINKCHARM",1,0;
close;
}
@@ -411,7 +411,7 @@ comodo,204,172,5 script Canell#qsk_dan01 4_F_07,{
mes "handsome~";
mes "^333333*Wink~*^000000";
emotion e_kis;
- specialeffect2 EF_VALLENTINE2;
+ specialeffect(EF_VALLENTINE2, AREA, playerattached());
next;
mes "^3355FFStrangely enough,";
mes "her wink has made";
@@ -583,7 +583,7 @@ prontera,183,333,1 script Aelle#qsk_dan02 1_F_PRIEST,{
mes "her fists and laughs";
mes "maniacally to herself.^000000";
percentheal -10,0;
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT2, AREA, playerattached());
emotion e_dots,1;
delitem Alchol,1;
delitem Apple,1;
diff --git a/npc/quests/skills/hunter_skills.txt b/npc/quests/skills/hunter_skills.txt
index 2d8aaf691..488e6eaf8 100644
--- a/npc/quests/skills/hunter_skills.txt
+++ b/npc/quests/skills/hunter_skills.txt
@@ -180,7 +180,7 @@ pay_arche,109,169,3 script Arpesto 4_M_05,{
mes "[Arpesto]";
mes "ARRRRRRRROOOOOOW~!";
specialeffect EF_FLASHER;
- specialeffect2 EF_FLASHER;
+ specialeffect(EF_FLASHER, AREA, playerattached());
next;
mes "[Arpesto]";
mes "^333333*Pant Pant*^000000";
diff --git a/npc/quests/skills/merchant_skills.txt b/npc/quests/skills/merchant_skills.txt
index bee16543f..5b92233f1 100644
--- a/npc/quests/skills/merchant_skills.txt
+++ b/npc/quests/skills/merchant_skills.txt
@@ -725,7 +725,7 @@ alberta,119,221,6 script Charlron 1_M_PAY_ELDER,{
close;
case 2:
mes "[Sushi King Gershaun]";
- if (Sex > 1) {
+ if (Sex == SEX_FEMALE) {
mes "Stupid girl!";
}
else {
diff --git a/npc/quests/skills/priest_skills.txt b/npc/quests/skills/priest_skills.txt
index 9a63fba52..a463686da 100644
--- a/npc/quests/skills/priest_skills.txt
+++ b/npc/quests/skills/priest_skills.txt
@@ -320,7 +320,7 @@ prt_church,111,112,1 script Sister Linus 1_F_PRIEST,{
}
if (.@success) {
- specialeffect2 EF_HEALSP;
+ specialeffect(EF_HEALSP, AREA, playerattached());
mes "[Sister Linus]";
mes "Congratulations!";
mes "You successfully";
@@ -335,7 +335,7 @@ prt_church,111,112,1 script Sister Linus 1_F_PRIEST,{
close;
}
else {
- specialeffect2 EF_POISONHIT;
+ specialeffect(EF_POISONHIT, AREA, playerattached());
mes "[Sister Linus]";
mes "Oh no! I'm sorry,";
mes "but you failed to";
diff --git a/npc/quests/skills/rogue_skills.txt b/npc/quests/skills/rogue_skills.txt
index a1c64b09f..aafa899da 100644
--- a/npc/quests/skills/rogue_skills.txt
+++ b/npc/quests/skills/rogue_skills.txt
@@ -73,9 +73,9 @@ OnInit:
OnTouch:
if (ROG_SK == 10) {
- specialeffect2 EF_CHANGECOLD;
+ specialeffect(EF_CHANGECOLD, AREA, playerattached());
specialeffect EF_CHANGEWIND;
- specialeffect2 EF_LIGHTSPHERE;
+ specialeffect(EF_LIGHTSPHERE, AREA, playerattached());
ROG_SK = 11;
mes "[Killer]";
mes "Wh-what have";
@@ -115,7 +115,7 @@ OnTouch:
mes "now, you're using the Close";
mes "Confine skill perfectly!^000000";
specialeffect EF_POTION1;
- specialeffect2 EF_POTION7;
+ specialeffect(EF_POTION7, AREA, playerattached());
}
else {
mes "^3355FFWait--!";
@@ -157,7 +157,7 @@ in_rogue,355,179,0 script Haijara Greg#rogueguild 1_ETC_01,{
mes "resulting from transcending,";
mes "eh? Then I will teach you the";
mes "Close Confine skill once again.";
- specialeffect2 EF_LIGHTSPHERE;
+ specialeffect(EF_LIGHTSPHERE, AREA, playerattached());
skill 1005,1,0;
ROG_SK = 13;
close;
@@ -309,13 +309,13 @@ in_rogue,355,179,0 script Haijara Greg#rogueguild 1_ETC_01,{
mes "that you covet so much...";
mes "^FF0000Close Confine^000000!";
specialeffect EF_CHANGECOLD;
- specialeffect2 EF_CHANGEWIND;
+ specialeffect(EF_CHANGEWIND, AREA, playerattached());
next;
mes "[Haijara Greg]";
mes "Hmpf. Now you are";
mes "helpless, allowing";
mes "me to do this: ^FF0000Back Stab^000000!";
- specialeffect2 EF_COMBOATTACK5;
+ specialeffect(EF_COMBOATTACK5, AREA, playerattached());
percentheal -95,0;
next;
mes "[Haijara Greg]";
@@ -512,7 +512,7 @@ in_rogue,355,179,0 script Haijara Greg#rogueguild 1_ETC_01,{
mes "practice, and that you become as great a legend as Chae Takbae.";
ROG_SK = 12;
skill 1005,1,0;
- specialeffect2 EF_LIGHTSPHERE;
+ specialeffect(EF_LIGHTSPHERE, AREA, playerattached());
close;
}
mes "[Haijara Greg]";
@@ -524,7 +524,7 @@ in_rogue,355,179,0 script Haijara Greg#rogueguild 1_ETC_01,{
mes "thanks again for your help.";
ROG_SK = 12;
skill 1005,1,0;
- specialeffect2 EF_LIGHTSPHERE;
+ specialeffect(EF_LIGHTSPHERE, AREA, playerattached());
close;
}
mes "[Haijara Greg]";
@@ -1205,7 +1205,7 @@ function script F_Kienna {
mes "You blocked me!";
mes "Very nice work~";
specialeffect EF_POTION1;
- specialeffect2 EF_POTION7;
+ specialeffect(EF_POTION7, AREA, playerattached());
++.@suc_1;
}
else {
diff --git a/npc/quests/skills/sage_skills.txt b/npc/quests/skills/sage_skills.txt
index 420477f4f..cb7dd81be 100644
--- a/npc/quests/skills/sage_skills.txt
+++ b/npc/quests/skills/sage_skills.txt
@@ -130,11 +130,11 @@ yuno_in03,176,24,3 script Mischna 4_M_SAGE_C,{
next;
mes "[Mishuna]";
mes "%$#@!#$% Yap~~";
- specialeffect2 EF_RUWACH;
+ specialeffect(EF_RUWACH, AREA, playerattached());
next;
mes "[Mishuna]";
mes "Yap!";
- specialeffect2 EF_BRANDISHSPEAR;
+ specialeffect(EF_BRANDISHSPEAR, AREA, playerattached());
next;
mes "^3355FFYou've successfully";
mes "learned the "+.@skill$[.@i]+" Elemental";
@@ -159,11 +159,11 @@ yuno_in03,176,24,3 script Mischna 4_M_SAGE_C,{
next;
mes "[Mishuna]";
mes "%$#@!#$% Yap~~";
- specialeffect2 EF_RUWACH;
+ specialeffect(EF_RUWACH, AREA, playerattached());
next;
mes "[Mishuna]";
mes "Yap!";
- specialeffect2 EF_BRANDISHSPEAR;
+ specialeffect(EF_BRANDISHSPEAR, AREA, playerattached());
next;
mes "^3355FFYou successfully recalled";
mes "the Elemental Coverter";
@@ -332,7 +332,7 @@ yuno_in03,176,24,3 script Mischna 4_M_SAGE_C,{
mes "Elemental Converter";
mes "Creation skill by reviewing";
mes "your copy of Barmundt's scroll.^000000";
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
delitem Scorpions_Tail,10;
delitem Horn,7; // Horn
delitem Colorful_Shell,12; // Rainbow_Shell
@@ -466,11 +466,11 @@ yuno_in03,176,24,3 script Mischna 4_M_SAGE_C,{
mes "a soft blue glow surrounds";
mes "his body and slowly grows";
mes "brighter and more intense.^000000";
- specialeffect2 EF_RUWACH;
+ specialeffect(EF_RUWACH, AREA, playerattached());
next;
mes "[Mishuna]";
mes "@#$%^~ Yap!";
- specialeffect2 EF_BRANDISHSPEAR;
+ specialeffect(EF_BRANDISHSPEAR, AREA, playerattached());
delitem .@ReqItem[.@i],20;
delitem Payon_Potion,1; // Payon Potion
delitem Morocc_Potion,1; // Morocc Potion
diff --git a/npc/quests/skills/swordman_skills.txt b/npc/quests/skills/swordman_skills.txt
index f8a17bee2..6128b7fc8 100644
--- a/npc/quests/skills/swordman_skills.txt
+++ b/npc/quests/skills/swordman_skills.txt
@@ -48,10 +48,9 @@ izlude_in,118,175,4 script Knight De Thomas 4W_M_02,{
mes "Being a swordsman must come with a lot of responsibility and sacrifice.";
next;
mes "[De Thomas]";
- if (Sex == SEX_FEMALE) {
+ if (Sex == SEX_MALE) {
mes "For these swordsmen and knights, there is a wonderful skill.";
- }
- else {
+ } else {
mes "For these swordswomen and knights, there is a wonderful skill young lady.";
}
mes "I present to you - HP Recovery While Moving!";
@@ -70,7 +69,7 @@ izlude_in,118,175,4 script Knight De Thomas 4W_M_02,{
mes "[De Thomas]";
mes "Very well. I will tell you what you need to learn this skill.";
mes "First, your job level must be higher than ^00880035^000000.";
- mes "You will also need ^008800200 empty bottles^000000.";
+ mes "You will also need ^008800200 Empty Bottles^000000.";
mes "Why? Because it is proof that you fought fiercely to have used that many potions.";
next;
mes "[De Thomas]";
diff --git a/npc/quests/skills/thief_skills.txt b/npc/quests/skills/thief_skills.txt
index 35cd38998..b69279054 100644
--- a/npc/quests/skills/thief_skills.txt
+++ b/npc/quests/skills/thief_skills.txt
@@ -210,7 +210,7 @@ moc_prydb1,154,128,4 script Alcouskou 2_M_THIEFMASTER,{
mes "have realized while fighting that";
mes "despite the fact that our dodging";
mes "is superior, if we are hit once we are";
- mes "serious danger.";
+ mes "in serious danger.";
next;
mes "[Alcouskou]";
mes "It is true that at times we";
diff --git a/npc/quests/skills/wizard_skills.txt b/npc/quests/skills/wizard_skills.txt
index fd146a94f..31a9489f0 100644
--- a/npc/quests/skills/wizard_skills.txt
+++ b/npc/quests/skills/wizard_skills.txt
@@ -49,7 +49,7 @@ gef_tower,115,36,4 script Meow#q_wiz 4_CAT,{
mes "Alright, here's your lesson!";
next;
mes "^3355FF*BAM! BOOM! CRASH!*^000000";
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
next;
mes "[Meow]";
mes "Don't you dare get";
@@ -63,7 +63,7 @@ gef_tower,115,36,4 script Meow#q_wiz 4_CAT,{
mes "the Sight Blaster skill before";
mes "Meow can administer another";
mes "vicious beating to you.";
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
skill "WZ_SIGHTBLASTER",1,0;
next;
mes "[Meow]";
@@ -287,7 +287,7 @@ gef_tower,115,36,4 script Meow#q_wiz 4_CAT,{
mes "you to cast Sight before you";
mes "can activate it. Now try it.";
next;
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
mes "^3355FF*BAM! BOOM!*^000000";
next;
mes "[Meow]";
@@ -311,7 +311,7 @@ gef_tower,115,36,4 script Meow#q_wiz 4_CAT,{
mes "You actually learned it!";
mes "That took way too much effort,";
mes "but at least we're done here.";
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
delitem Crystal_Blue,10;
delitem Yellow_Live,10;
delitem Boody_Red,10;
diff --git a/npc/quests/thana_quest.txt b/npc/quests/thana_quest.txt
index 4c42f6b39..ea01a926d 100644
--- a/npc/quests/thana_quest.txt
+++ b/npc/quests/thana_quest.txt
@@ -265,7 +265,7 @@ tha_t01,149,78,4 script Guide 4_F_01,{
mes "to access the higher levels";
mes "here in Thanatos Tower.";
next;
- goto L_Contract;
+ break;
case 3:
mes "[Ditze]";
mes "To develop the floors above";
@@ -276,6 +276,7 @@ tha_t01,149,78,4 script Guide 4_F_01,{
mes "for us under a temp contract?";
close;
}
+ break;
case 2:
mes "[Ditze]";
mes "You may have already heard";
@@ -291,7 +292,7 @@ tha_t01,149,78,4 script Guide 4_F_01,{
mes "to access the higher levels";
mes "here in Thanatos Tower.";
next;
- goto L_Contract;
+ break;
case 3:
mes "[Ditze]";
mes "Well, if you have any";
@@ -300,16 +301,15 @@ tha_t01,149,78,4 script Guide 4_F_01,{
mes "Ditze Lappa. Have a good day!";
close;
}
+ } else {
+ mes "[Ditze]";
+ mes "For more detailed information";
+ mes "about monster exterminations,";
+ mes "please ask the 2nd Floor Guide";
+ mes "and the Guide next to me. Well,";
+ mes "we hope you enjoy your experience working with Rekenber Corporation~";
+ close;
}
- mes "[Ditze]";
- mes "For more detailed information";
- mes "about monster exterminations,";
- mes "please ask the 2nd Floor Guide";
- mes "and the Guide next to me. Well,";
- mes "we hope you enjoy your experience working with Rekenber Corporation~";
- close;
-
-L_Contract:
switch(select("Maybe next time", "Sure, I'd like to work for you.")) {
case 1:
mes "[Ditze]";
@@ -930,7 +930,6 @@ tha_t03,67,70,0 script Rune Device#tt1 HIDDEN_NPC,4,4,{
mes "field fizzles out with a soft,";
mes "gentle ''pzzzzzh'' sound.^000000";
next;
- goto L_Key;
}
else if (getequipweaponlv(4) == 4) {
mes "^3355FFWith your "+getequipname(4)+" in";
@@ -939,7 +938,6 @@ tha_t03,67,70,0 script Rune Device#tt1 HIDDEN_NPC,4,4,{
mes "field fizzles out with a soft,";
mes "gentle ''pzzzzzh'' sound.^000000";
next;
- goto L_Key;
}
else {
mes "^3355FFYou smash the energy";
@@ -951,21 +949,16 @@ tha_t03,67,70,0 script Rune Device#tt1 HIDDEN_NPC,4,4,{
mes "powerful weapon...^000000";
close;
}
+ break;
case 2:
mes "^3355FFYou decide to leave";
mes "the machine alone.^000000";
close;
}
+ } else {
+ mes "You've acquired everything you need from this rune device.";
+ close;
}
- mes "You've acquired everything you need from this rune device.";
- close;
-
-OnTouch:
- if ((countitem(Key_Red) == 0) && (countitem(Magic_Gem_Red) == 0))
- specialeffect EF_LEVEL99_4;
- end;
-
-L_Key:
specialeffect EF_BRANDISH2;
mes "After breaking the device, the exterior shatters.";
mes "The energy field begins to disappear,";
@@ -1021,9 +1014,14 @@ L_Key:
mes "The letters fly away in the form of a red key...";
thana_tower = 5;
changequest 7048,7049;
- specialeffect2 EF_COMBOATTACK1;
+ specialeffect(EF_COMBOATTACK1, AREA, playerattached());
close;
}
+
+OnTouch:
+ if ((countitem(Key_Red) == 0) && (countitem(Magic_Gem_Red) == 0))
+ specialeffect EF_LEVEL99_4;
+ end;
}
tha_t04,195,195,0 script Rune Device#tt2 HIDDEN_NPC,3,3,{
@@ -1138,7 +1136,7 @@ tha_t04,195,195,0 script Rune Device#tt2 HIDDEN_NPC,3,3,{
mes "It suddenly shakes, then disappears.";
thana_tower = 6;
changequest 7049,7050;
- specialeffect2 EF_COMBOATTACK1;
+ specialeffect(EF_COMBOATTACK1, AREA, playerattached());
close;
}
}
@@ -1243,7 +1241,7 @@ tha_t05,62,179,0 script Brilliant Statue#tt3 HIDDEN_NPC,3,3,{
mes "The illusion shakes, then melts on the surface of the key as light.";
thana_tower = 7;
changequest 7050,7051;
- specialeffect2 EF_COMBOATTACK1;
+ specialeffect(EF_COMBOATTACK1, AREA, playerattached());
close;
case 2:
mes "You decide to ignore it.";
@@ -1510,8 +1508,8 @@ tha_t06,226,230,0 script Brilliant Statue#tt4 HIDDEN_NPC,3,3,{
mes "and fades into the key.";
thana_tower = 8;
changequest 7051,7052;
- specialeffect2 EF_BEGINSPELL6;
- specialeffect2 EF_SPELLBREAKER;
+ specialeffect(EF_BEGINSPELL6, AREA, playerattached());
+ specialeffect(EF_SPELLBREAKER, AREA, playerattached());
close;
case 2:
mes "It was too intense to see the hallucination, so you gave up reading.";
@@ -1542,7 +1540,7 @@ tha_t06,204,181,0 script Splendid Sword#tt5 HIDDEN_NPC,3,3,{
if ((countitem(Key_Red) > 0) && (countitem(Key_Yellow) > 0) && (countitem(Key_Blue) > 0) && (countitem(Key_Green) > 0)) {
mes "As you approach, the keys in your pocket";
mes "suddenly respond with a mysterious power.";
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
next;
if(select("Observe it.", "Ignore it.") == 2) {
mes "^3355FFYou decide to leave";
@@ -1557,7 +1555,7 @@ tha_t06,204,181,0 script Splendid Sword#tt5 HIDDEN_NPC,3,3,{
case 1:
mes "By an unknown calling you decide to grab the blade of the sword.";
mes "Your hands get wounded and begin to bleed.";
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
percentheal -20,0;
close;
case 2:
@@ -1574,7 +1572,7 @@ tha_t06,204,181,0 script Splendid Sword#tt5 HIDDEN_NPC,3,3,{
mes "Numerous conflicting spells act upon it, and you can tell that you chose incorrectly.";
mes "The sword automatically returns to the table, as it was before.";
specialeffect EF_HIT1;
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
percentheal -20,0;
close;
case 2:
@@ -1818,7 +1816,7 @@ tha_t12,161,57,0 script Gold Religious Statue#tt HIDDEN_NPC,{
mes "The sword appears to be missing a gem.";
mes "As I draw closer to the statue, the Yellow Charm Stone emits a bright light.";
specialeffect EF_BEGINSPELL5;
- specialeffect2 EF_BEGINSPELL5;
+ specialeffect(EF_BEGINSPELL5, AREA, playerattached());
next;
if(select("Insert the Yellow Charm Stone.", "Run away.") == 2) close;
if ($@thana_summon == 0) {
@@ -1848,7 +1846,7 @@ tha_t12,154,17,0 script Green Wiseman Statue#tt HIDDEN_NPC,{
mes "The wiseman's wand seems to be missing a gem.";
mes "As I draw closer to the statue, the Green Charm Stone emits a bright light.";
specialeffect EF_BEGINSPELL4;
- specialeffect2 EF_BEGINSPELL4;
+ specialeffect(EF_BEGINSPELL4, AREA, playerattached());
next;
if(select("Insert the Green Charm Stone.", "Run away.") == 2) close;
if ($@thana_summon == 1) {
@@ -1878,7 +1876,7 @@ tha_t12,103,17,0 script Blue Angel Statue#tt HIDDEN_NPC,{
mes "A gem seems to be missing from the statue's belt.";
mes "As I draw closer to the statue, the Blue Charm Stone emits a bright light.";
specialeffect EF_BEGINSPELL2;
- specialeffect2 EF_BEGINSPELL2;
+ specialeffect(EF_BEGINSPELL2, AREA, playerattached());
next;
if(select("Insert the Blue Charm Stone.", "Run away.") == 2) close;
if ($@thana_summon == 2) {
@@ -1908,7 +1906,7 @@ tha_t12,96,57,0 script Bloody Knight Statue#tt HIDDEN_NPC,{
mes "A gem seems to be missing from the heart area of its armor.";
mes "As I draw closer to the statue, the Red Charm Stone emits a bright light.";
specialeffect EF_BEGINSPELL3;
- specialeffect2 EF_BEGINSPELL3;
+ specialeffect(EF_BEGINSPELL3, AREA, playerattached());
next;
if(select("Insert the Red Charm Stone.", "Run away.") == 2) close;
if ($@thana_summon == 3) {
@@ -1938,7 +1936,7 @@ tha_t12,129,86,0 script Dark Devil Statue#tt HIDDEN_NPC,{
mes "The right eye seems to be missing a gem.";
mes "As I draw closer to the statue, the Black Charm Stone emits a bright light.";
specialeffect EF_BEGINSPELL7;
- specialeffect2 EF_BEGINSPELL7;
+ specialeffect(EF_BEGINSPELL7, AREA, playerattached());
next;
if(select("Insert the Black Charm Stone.", "Run away.") == 2) close;
if ($@thana_summon == 4) {
@@ -2090,11 +2088,11 @@ OnTimer1000:
OnTimer5000:
.@pillar = 1;
OnTimer3000:
- specialeffect EF_BEGINSPELL7,AREA,"#tteffect05";
- specialeffect EF_BEGINSPELL3,AREA,"#tteffect04";
- specialeffect EF_BEGINSPELL2,AREA,"#tteffect03";
- specialeffect EF_BEGINSPELL4,AREA,"#tteffect02";
- specialeffect EF_BEGINSPELL5,AREA,"#tteffect01";
+ specialeffect(EF_BEGINSPELL7, AREA, getnpcid("#tteffect05"));
+ specialeffect(EF_BEGINSPELL3, AREA, getnpcid("#tteffect04"));
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("#tteffect03"));
+ specialeffect(EF_BEGINSPELL4, AREA, getnpcid("#tteffect02"));
+ specialeffect(EF_BEGINSPELL5, AREA, getnpcid("#tteffect01"));
if (.@pillar) specialeffect EF_MAPPILLAR2;
end;
}
@@ -2237,8 +2235,8 @@ OnDisable:
thana_boss,141,218,0 script #sommon_thanatos FAKE_NPC,{
OnEnable:
- specialeffect EF_MAPPILLAR2,AREA,"#sommon_thanatos";
- specialeffect EF_SEISMICWEAPON,AREA,"#sommon_thanatos";
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#sommon_thanatos"));
+ specialeffect(EF_SEISMICWEAPON, AREA, getnpcid("#sommon_thanatos"));
monster "thana_boss",141,218,"Thanatos Phantom",1708,1,"#sommon_thanatos::OnMyMobDead";
end;
OnMyMobDead:
diff --git a/npc/quests/the_sign_quest.txt b/npc/quests/the_sign_quest.txt
index cf593eaae..4bf60993a 100644
--- a/npc/quests/the_sign_quest.txt
+++ b/npc/quests/the_sign_quest.txt
@@ -1556,7 +1556,7 @@ morocc_in,114,162,4 script Young Man#sign 2_M_THIEFMASTER,{
mes "[Gaanan]";
if (sign_q < 11) {
mes "The weather here in";
- mes "Morocc is too hot for me.";
+ mes "Morroc is too hot for me.";
mes "I'm having a hard time just";
mes "trying to live here. Do you";
mes "know a nice and cool place";
@@ -4006,7 +4006,6 @@ geffen_in,61,72,7 script Aaron#sign 4_M_SAGE_A,{
if (select("30", "31", "32", "33") == 2) .@user_p += 1;
break;
}
- zis_5 = rand(1,10);
if (rand(1,10) < 9 ) {
donpcevent "Jesqurienne#sign::OnHo";
mes "[Jesqurienne]";
@@ -7387,7 +7386,7 @@ mjo_dun02,88,295,4 script Flaming Spirit Man 4_M_03,{
next;
sign_q = 71;
getitem Stars_Sob,1;
- specialeffect2 EF_YUFITELHIT;
+ specialeffect(EF_YUFITELHIT, AREA, playerattached());
next;
mes "[Engel]";
mes "This was one of the most difficult jobs I've ever done. But look! It was beautiful when broken in fragments but now it's absolutely dazzling! This was really worth my effort.";
@@ -7507,7 +7506,7 @@ mjo_dun02,88,295,4 script Flaming Spirit Man 4_M_03,{
else if (countitem(Emperium_Anvil) > 0) delitem Emperium_Anvil,1;
sign_q = 71;
getitem Stars_Sob,1;
- specialeffect2 EF_YUFITELHIT;
+ specialeffect(EF_YUFITELHIT, AREA, playerattached());
close;
}
else {
@@ -7939,7 +7938,7 @@ um_in,27,23,3 script Fastidious-Looking Guy 2_M_MOLGENSTEIN,{
mes "Get out here right now!";
close2;
percentheal -30,0;
- specialeffect2 EF_MAGNUMBREAK;
+ specialeffect(EF_MAGNUMBREAK, AREA, playerattached());
end;
}
}
@@ -8004,7 +8003,7 @@ um_in,27,23,3 script Fastidious-Looking Guy 2_M_MOLGENSTEIN,{
mes "make me get violent...";
next;
percentheal -30,0;
- specialeffect2 EF_MAGNUMBREAK;
+ specialeffect(EF_MAGNUMBREAK, AREA, playerattached());
next;
warp "umbala",111,121;
end;
@@ -8166,7 +8165,7 @@ OnTouch:
mes "["+strcharinfo(PC_NAME)+"]";
mes "What the...?";
mes "What's happening?!";
- specialeffect2 EF_BEGINSPELL6;
+ specialeffect(EF_BEGINSPELL6, AREA, playerattached());
next;
mes "^3355FFFor some reason, in";
mes "this particular spot, the";
@@ -8175,14 +8174,14 @@ OnTouch:
mes "and Coral Reefs that you're";
mes "holding. All the objects are";
mes "violently resonating...^000000";
- specialeffect2 EF_ENHANCE;
+ specialeffect(EF_ENHANCE, AREA, playerattached());
next;
mes "^3355FFAll of a sudden these";
mes "objects emit a bright flash";
mes "of light that envelops your";
mes "entire body, then you gently";
mes "fall into unconsciousness...^000000";
- specialeffect2 EF_FLASHER;
+ specialeffect(EF_FLASHER, AREA, playerattached());
next;
delitem Resin,4;
delitem Stone_Heart,12;
@@ -12289,7 +12288,7 @@ geffen,119,48,0 script Fountain#s HIDDEN_NPC,{
mes "a strange light begins to emit from the Lucifer's Lament in your pocket and from something deep within";
mes "the fountain's water.^000000";
specialeffect EF_LEVEL99;
- specialeffect2 EF_LEVEL99;
+ specialeffect(EF_LEVEL99, AREA, playerattached());
next;
switch(select("Throw Lucifer's Lament into the fountain.", "Ignore the light.")) {
case 1:
diff --git a/npc/re/cities/dewata.txt b/npc/re/cities/dewata.txt
index d140a0d24..d8bac5986 100644
--- a/npc/re/cities/dewata.txt
+++ b/npc/re/cities/dewata.txt
@@ -543,13 +543,13 @@ dewata,89,191,6 script Small Shrine#dew1 CLEAR_NPC,{
else if (.@stat & 32 && .@bonus)
consumeitem 12068; //Luk_Dish03
else if (.@stat & 64) {
- specialeffect2 EF_ANGEL;
+ specialeffect(EF_ANGEL, AREA, playerattached());
mes "- A celestial entity gives you a blessing. -";
next;
} else if (.@stat & 128) {
mes "- The shrine envelops you in a loving aura. -";
if ((Sex == SEX_FEMALE && compare(.@wish$,.@wishes$[26])) || (Sex == SEX_MALE && compare(.@wish$,.@wishes$[27])))
- specialeffect2 EF_LIGHTSPHERE;
+ specialeffect(EF_LIGHTSPHERE, AREA, playerattached());
next;
}
mes "It feels like this wish could come true.";
@@ -569,13 +569,13 @@ dewata,89,191,6 script Small Shrine#dew1 CLEAR_NPC,{
L_Wish:
mes "Mysterious energy comes out from the shrine.";
- specialeffect EF_FLASHER,AREA,"Small Shrine#dew1";
- specialeffect EF_FLASHER,AREA,"Small Shrine#dew2";
- specialeffect EF_FLASHER,AREA,"Small Shrine#dew3";
- specialeffect EF_FLASHER,AREA,"Small Shrine#dew4";
+ specialeffect(EF_FLASHER, AREA, getnpcid("Small Shrine#dew1"));
+ specialeffect(EF_FLASHER, AREA, getnpcid("Small Shrine#dew2"));
+ specialeffect(EF_FLASHER, AREA, getnpcid("Small Shrine#dew3"));
+ specialeffect(EF_FLASHER, AREA, getnpcid("Small Shrine#dew4"));
next;
mes "You have received the shrine's blessing.";
- specialeffect2 EF_BLESSING;
+ specialeffect(EF_BLESSING, AREA, playerattached());
next;
return;
}
diff --git a/npc/re/cities/malangdo.txt b/npc/re/cities/malangdo.txt
index f4ac6300a..5ccb1577e 100644
--- a/npc/re/cities/malangdo.txt
+++ b/npc/re/cities/malangdo.txt
@@ -50,9 +50,9 @@
case 3: mes "The fresh air of Payon is not bad, but why don't you go better place like the heaven of the cats, ^A2314BMalangdo^000000?"; break;
case 4: mes .@s$+"The beautiful and quiet place is better than Aldebaran, where it's so noisy with the tick-tock sound of the clock."; break;
case 5: mes .@s$+"The beautiful and quiet place is better than Morroc, with its heat and sandstorms."; break;
- case 6: mes .@s$+"The beautiful place is better than Yuno, which is full of books and headaches."; break;
+ case 6: mes .@s$+"The beautiful place is better than Juno, which is full of books and headaches."; break;
case 7: mes .@s$+"The complex place is better than Rachel, where it's too horribly quiet."; break;
- case 8: mes .@s$+"The safe place is better than Lighthanlzen, which is too dangerous."; break;
+ case 8: mes .@s$+"The safe place is better than Lighthalzen, which is too dangerous."; break;
case 9: mes .@s$+"The smell of this sea place is better than Mora, which is full of a grassy smell."; break;
}
next;
@@ -314,7 +314,7 @@ malangdo,147,117,3 script Innkeeper#malang 4_CAT_REST,{
if (countitem(Malang_Sp_Can) > 4) {
delitem Malang_Sp_Can,5;
percentheal 100,100;
- specialeffect2 EF_HEALSP;
+ specialeffect(EF_HEALSP, AREA, playerattached());
mes "[Innkeeper]";
mes "Now relax.";
emotion e_kis;
diff --git a/npc/re/cities/mora.txt b/npc/re/cities/mora.txt
index 1b231024c..a58ee4463 100644
--- a/npc/re/cities/mora.txt
+++ b/npc/re/cities/mora.txt
@@ -1032,7 +1032,7 @@ mora,140,186,3 script Raffle Philosopher 4_M_RAFLE_OLD,{
mes "*thud*";
mes "You feel a sudden impact on the back of your head.";
mes "Your sight is going blurry.";
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
sc_start SC_BLIND,20000,0;
next;
mes "You feel somebody rummaging through your pockets before you pass out.";
diff --git a/npc/re/events/christmas_2013.txt b/npc/re/events/christmas_2013.txt
index bc457cf0c..8ebf5879a 100644
--- a/npc/re/events/christmas_2013.txt
+++ b/npc/re/events/christmas_2013.txt
@@ -81,9 +81,9 @@ xmas,150,134,3 script Union Commander Cliff 4_XMAS_CAT1,{
erasequest 15057;
setquest 15059;
getitem Solo_Christmas_Gift,1; //Solo_Christmas_Gift
- specialeffect2 EF_MAGICALATTHIT;
- specialeffect2 EF_POTION2;
- specialeffect2 EF_ANGEL2;
+ specialeffect(EF_MAGICALATTHIT, AREA, playerattached());
+ specialeffect(EF_POTION2, AREA, playerattached());
+ specialeffect(EF_ANGEL2, AREA, playerattached());
close;
}
if (questprogress(15056) == 1) {
@@ -173,10 +173,10 @@ xmas,150,134,3 script Union Commander Cliff 4_XMAS_CAT1,{
mes "......";
mes "Damn you! Taste the wrath of the Singles Union Army!!!";
close2;
- specialeffect2 EF_MAGICALATTHIT;
- specialeffect2 EF_POTION2;
- specialeffect2 EF_CRASHEARTH;
- specialeffect2 EF_COIN;
+ specialeffect(EF_MAGICALATTHIT, AREA, playerattached());
+ specialeffect(EF_POTION2, AREA, playerattached());
+ specialeffect(EF_CRASHEARTH, AREA, playerattached());
+ specialeffect(EF_COIN, AREA, playerattached());
end;
}
mes "[Union Commander Cliff]";
diff --git a/npc/re/events/halloween_2014.txt b/npc/re/events/halloween_2014.txt
index 2e9784058..fbfb417bb 100644
--- a/npc/re/events/halloween_2014.txt
+++ b/npc/re/events/halloween_2014.txt
@@ -170,7 +170,7 @@
mes "[Mighty Priest]";
mes "Dear Odin, show me your love!";
mes "Heal me with your love! Great!! Bam!!!!!";
- specialeffect EF_HEAL2,AREA,"Exhausted Priest#pron14hal";
+ specialeffect(EF_HEAL2, AREA, getnpcid("Exhausted Priest#pron14hal"));
emotion e_swt, 1;
next;
mes "[Mighty Priest]";
@@ -502,7 +502,7 @@ niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "Okay.";
mes "I will get that thing away from here.";
- specialeffect2 EF_SPRINKLESAND;
+ specialeffect(EF_SPRINKLESAND, AREA, playerattached());
next;
mes "[Bolak]";
mes "Much better.";
@@ -1373,8 +1373,8 @@ niflheim,193,186,6 script Bonfire Spirit#14hal 4_TRACE,{
OnTimer21000:
OnTimer23000:
OnTimer25000:
- specialeffect EF_TORCH,AREA,"Bonfire Spirit#14hal";
- specialeffect EF_DRAGONSMOKE,AREA,"Bonfire Spirit#14hal";
+ specialeffect(EF_TORCH, AREA, getnpcid("Bonfire Spirit#14hal"));
+ specialeffect(EF_DRAGONSMOKE, AREA, getnpcid("Bonfire Spirit#14hal"));
end;
OnTimer5000:
@@ -1383,16 +1383,16 @@ niflheim,193,186,6 script Bonfire Spirit#14hal 4_TRACE,{
OnTimer13000:
OnTimer14000:
OnTimer16000:
- specialeffect EF_DRAGONSMOKE,AREA,"Bonfire Spirit#14hal";
+ specialeffect(EF_DRAGONSMOKE, AREA, getnpcid("Bonfire Spirit#14hal"));
end;
OnTimer19000:
npctalk "Oh, No! The fire is dying!!!! Fire!!!!!!!!!!!!";
- specialeffect EF_DRAGONSMOKE,AREA,"Bonfire Spirit#14hal";
+ specialeffect(EF_DRAGONSMOKE, AREA, getnpcid("Bonfire Spirit#14hal"));
end;
OnTimer20000:
- specialeffect EF_SIGHTRASHER,AREA,"Bonfire Spirit#14hal";
+ specialeffect(EF_SIGHTRASHER, AREA, getnpcid("Bonfire Spirit#14hal"));
end;
OnTimer27000:
@@ -1543,7 +1543,7 @@ prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{
mes "This is enough. I can make it soon.";
mes "Odin Crystal power! with Holy light!!!!";
next;
- specialeffect EF_HOLYHIT,AREA,"Spiritual Sister#14hal";
+ specialeffect(EF_HOLYHIT, AREA, getnpcid("Spiritual Sister#14hal"));
mes "[Sister Haley]";
mes "Whoa~ It's done.";
mes "Hold ^0000cd this in your pocket^000000 and go to the crowd with live and dead ones, you will see who is dead or live.";
@@ -1680,18 +1680,18 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, So I will burn.. this.";
- specialeffect2 EF_TORCH;
+ specialeffect(EF_TORCH, AREA, playerattached());
sleep2 1000;
- specialeffect2 EF_SMOKE;
+ specialeffect(EF_SMOKE, AREA, playerattached());
sleep2 1000;
- specialeffect2 EF_SMOKE;
+ specialeffect(EF_SMOKE, AREA, playerattached());
sleep2 1000;
- specialeffect2 EF_SMOKE;
+ specialeffect(EF_SMOKE, AREA, playerattached());
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "It's almost ran out.. Why not he wakes up..";
mes "Oh!!";
- specialeffect EF_RESURRECTION,AREA,"Richard#14hal02";
+ specialeffect(EF_RESURRECTION, AREA, getnpcid("Richard#14hal02"));
next;
mes "[Richard]";
mes "Uhh.. Umm..";
@@ -1726,7 +1726,7 @@ xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{
next;
mes "[Richard's Daughter]";
mes "Dad!!!";
- specialeffect EF_SONICBLOWHIT,AREA,"Richard#14hal02";
+ specialeffect(EF_SONICBLOWHIT, AREA, getnpcid("Richard#14hal02"));
next;
mes "[Richard]";
mes "O, Ouch!!!";
diff --git a/npc/re/instances/BakonawaLake.txt b/npc/re/instances/BakonawaLake.txt
index 2868cc589..5226db6cc 100644
--- a/npc/re/instances/BakonawaLake.txt
+++ b/npc/re/instances/BakonawaLake.txt
@@ -34,223 +34,232 @@
//=========================================================================
ma_scene01,174,179,4 script Taho 4_M_DEWZATIMAN,{
- disable_items;
- if (checkweight(Knife,1) == 0) {
- mes "You are carrying too many items. Come back after taking off some of them.";
- close;
+ disable_items();
+ if (checkweight(Knife, 1) == 0) {
+ mes("You are carrying too many items. Come back after taking off some of them.");
+ close();
}
if (MaxWeight - Weight < 10000) {
- mes "You are carrying too much weight. Come back after reducing the weight.";
- close;
+ mes("You are carrying too much weight. Come back after reducing the weight.");
+ close();
}
if (BaseLevel < 140) {
- mes "[Taho]";
- mes "Hey. This is too dangerous a place for you. You cannot keep yourself safe. Get out of here and go to the village right now!";
- close;
+ mes("[Taho]");
+ mes("Hey. This is too dangerous a place for you. You cannot keep yourself safe. Get out of here and go to the village right now!");
+ close();
}
if (malaya_bakona1 < 7 && malaya_bakona2 < 15) {
- mes "[Taho]";
- mes "We are gonna be killed all by that Bakonawa. Ah, we must slay him but unfortunately we are not prepared.";
- close;
+ mes("[Taho]");
+ mes("We are gonna be killed all by that Bakonawa. Ah, we must slay him but unfortunately we are not prepared.");
+ close();
}
.@party_id = getcharid(CHAR_ID_PARTY);
- .@md_name$ = "Bakonawa Lake";
+ .@md_name$ = _("Bakonawa Lake");
- .@baku_time = questprogress(12278,PLAYTIME);
+ .@baku_time = questprogress(12278, PLAYTIME);
if (!.@baku_time) {
- if (!questprogress(12279)) setquest 12279;
+ if (!questprogress(12279))
+ setquest(12279);
}
if (!.@party_id) {
- mes "[Taho]";
- mes "Isn't there any company who can go with you? Or even if you wanna go alone, come after organizing a party.";
- close;
+ mes("[Taho]");
+ mes("Isn't there any company who can go with you? Or even if you wanna go alone, come after organizing a party.");
+ close();
}
if (!.@baku_time) {
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
- mes "[Taho]";
- mes "Are you the leader of the Bakonawa slayers? The road is not well so we have to go down the cliff with a rope, is that OK?";
- next;
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2)) {
+ mes("[Taho]");
+ mes("Are you the leader of the Bakonawa slayers? The road is not well so we have to go down the cliff with a rope, is that OK?");
+ next();
.@i = select("Please weave a rope.", "Now I will go down.", "Cancel.");
} else {
- mes "[Taho]";
- mes "You came for slaying Bakonawa. The leader of your party has to help me weaving the rope for going down.";
- next;
+ mes("[Taho]");
+ mes("You came for slaying Bakonawa. The leader of your party has to help me weaving the rope for going down.");
+ next();
.@i = select("", "Now I will go down.", "Cancel.");
}
- switch(.@i) {
+ switch (.@i) {
case 1:
- .@instance = instance_create(.@md_name$,.@party_id);
- if (.@instance < 0) {
- mes "[Taho]";
- mes "Oh, the rope got dropped. I have to make a new one.";
- close;
+ .@instance = instance_create(.@md_name$, .@party_id);
+ if (.@instance >= 0) {
+ if (instance_attachmap("1@ma_b", .@instance) == "") {
+ mes("[Taho]");
+ mes("Oh, the rope got dropped. I have to make a new one.");
+ instance_destroy(.@instance);
+ close();
+ }
+ instance_set_timeout(7200, 300, .@instance);
+ instance_init(.@instance);
}
- if (instance_attachmap("1@ma_b",.@instance) == "") {
- mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
- instance_destroy(.@instance);
- close;
- }
- instance_set_timeout 7200,300,.@instance;
- instance_init(.@instance);
- mes "[Taho]";
- mes "Now I'm weaving, so you can go down when I'm done.";
- close;
+ mes("[Taho]");
+ mes("Now I'm weaving, so you can go down when I'm done.");
+ close();
case 2:
- if( has_instance("1@ma_b") == "" ) {
- mes "The memorial dungeon "+.@md_name$+" does not exist.";
- mes "The party leader did not generate the dungeon yet.";
- close;
+ if (has_instance("1@ma_b") == "") {
+ mesf("The memorial dungeon %s does not exist.", .@md_name$);
+ mes("The party leader did not generate the dungeon yet.");
+ close();
} else {
- mapannounce "ma_scene01","A party member, "+strcharinfo(PC_NAME)+" of the party "+getpartyname(.@party_id)+" is entering the dungeon, "+.@md_name$+".",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
- setquest 12278;
- warp "1@ma_b",64,51;
+ mapannounce("ma_scene01", sprintf(_$("A party member, %s of the party %s is entering the dungeon, %s."), strcharinfo(PC_NAME), getpartyname(.@party_id), .@md_name$), bc_map, C_SPRINGGREEN); //FW_NORMAL 12 0 0
+ setquest(12278);
+ warp("1@ma_b", 64, 51);
end;
}
case 3:
- close;
+ close();
}
} else if (.@baku_time == 1) {
- mes "[Taho]";
- mes "The rope used for getting to the Lake is already broken. We are now cleaning up the surroundings so come back after some time.";
- close;
+ mes("[Taho]");
+ mes("The rope used for getting to the Lake is already broken. We are now cleaning up the surroundings so come back after some time.");
+ close();
} 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 12278;
- close;
+ mes("[Taho]");
+ mes("It's all cleaned up around here. Now you can go down again after getting a rope.");
+ erasequest(12278);
+ close();
}
}
sec_in02,26,26,4 script Bakonawa's Rage 4_M_DEWZATIMAN,{
- callfunc "F_GM_NPC";
- mes "[Taho]";
- mes "My name is Minky.";
- if (callfunc("F_GM_NPC",1854,0) == 1) {
- erasequest 12278;
- erasequest 12279;
+ callfunc("F_GM_NPC");
+ mes("[Taho]");
+ mes("My name is Minky.");
+ if (callfunc("F_GM_NPC", 1854, 0) == 1) {
+ erasequest(12278);
+ erasequest(12279);
malaya_bakona1 = 7;
malaya_bakona2 = 15;
}
- close;
+ close();
}
1@ma_b,62,52,4 script Taho#nf 4_M_DEWZATIMAN,{
- mes "[Taho]";
- mes "Heehee, I could join the Bakonawa hunt, but I'd rather hide behind that rock and cheer you guys on.";
- next;
- mes "[Taho]";
- mes "Bakonawa becomes invincible at some point. When that time comes, listen to my guides carefully. Just trust me and all will be good.";
- next;
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
- mes "[Taho]";
- mes "Now I will make Bakonawa spring out from the lake.";
- next;
- switch(select("Hold on! I'm not ready yet!", "Let's do it!")) {
+ mes("[Taho]");
+ mes("Heehee, I could join the Bakonawa hunt, but I'd rather hide behind that rock and cheer you guys on.");
+ next();
+ mes("[Taho]");
+ mes("Bakonawa becomes invincible at some point. When that time comes, listen to my guides carefully. Just trust me and all will be good.");
+ next();
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
+ mes("[Taho]");
+ mes("Now I will make Bakonawa spring out from the lake.");
+ next();
+ switch (select("Hold on! I'm not ready yet!", "Let's do it!")) {
case 1:
- mes "[Taho]";
- mes "Oh... alright... tell me when you are ready.";
- close;
+ mes("[Taho]");
+ mes("Oh... alright... tell me when you are ready.");
+ close();
case 2:
- mes "[Taho]";
- mes "Then I will drop a drop of Albopal to this lake.";
- next;
- mes "[Taho]";
- mes "Once Bakonawa tastes this, he will surface...";
- donpcevent instance_npcname("#Bakonawan1")+"::OnStart";
- disablenpc instance_npcname("Taho#nf");
- close;
+ mes("[Taho]");
+ mes("Then I will drop a drop of Albopal to this lake.");
+ next();
+ mes("[Taho]");
+ mes("Once Bakonawa tastes this, he will surface...");
+ donpcevent(instance_npcname("#Bakonawan1")+"::OnStart");
+ disablenpc(instance_npcname("Taho#nf"));
+ close();
}
} else {
- mes "[Taho]";
- mes "I am dropping the Alpopal to make Bakonawa mad. Bakonawa can be a good source of protein once we get him.";
- close;
+ mes("[Taho]");
+ mes("I am dropping the Alpopal to make Bakonawa mad. Bakonawa can be a good source of protein once we get him.");
+ close();
}
}
1@ma_b,36,111,4 script #Bakonawan1 CLEAR_NPC,{
end;
OnInstanceInit:
- disablenpc instance_npcname("#Bakonawan1");
+ disablenpc(instance_npcname("#Bakonawan1"));
end;
OnStart:
- enablenpc instance_npcname("#Bakonawan1");
+ enablenpc(instance_npcname("#Bakonawan1"));
.@map$ = instance_mapname("1@ma_b");
- mapannounce .@map$,"Taho: I can see him there on the surface! ATTACK!!!",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
- monster .@map$,78,81,"Bakonawa",2320,1,instance_npcname("#Bakonawan1")+"::OnMyMobDead"; //original: (78,83)
- initnpctimer;
+ mapannounce(.@map$, _("Taho: I can see him there on the surface! ATTACK!!!"), bc_map, C_AQUA); //FW_NORMAL 15 0 0
+ monster(.@map$, 78, 81, _("Bakonawa"), BAKONAWA_1, 1, instance_npcname("#Bakonawan1")+"::OnMyMobDead"); //original: (78, 83)
+ initnpctimer();
end;
OnFail:
- killmonster instance_mapname("1@ma_b"),instance_npcname("#Bakonawan1")+"::OnMyMobDead";
+ killmonster(instance_mapname("1@ma_b"), instance_npcname("#Bakonawan1")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@ma_b");
- if (mobcount(.@map$,instance_npcname("#Bakonawan1")+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("#BakonawaDeadn1")+"::OnStart";
- killmonster .@map$,instance_npcname("#Bakonawan1")+"::OnMyMobDead";
- stopnpctimer;
- disablenpc instance_npcname("#Bakonawan1");
+ if (mobcount(.@map$, instance_npcname("#Bakonawan1")+"::OnMyMobDead") < 1) {
+ donpcevent(instance_npcname("#BakonawaDeadn1")+"::OnStart");
+ killmonster(.@map$, instance_npcname("#Bakonawan1")+"::OnMyMobDead");
+ stopnpctimer();
+ disablenpc(instance_npcname("#Bakonawan1"));
}
end;
-OnTimer1000: callsub OnAnnounce,"10 minutes";
-OnTimer60000: callsub OnAnnounce,"9 minutes";
-OnTimer120000: callsub OnAnnounce,"8 minutes";
-OnTimer180000: callsub OnAnnounce,"7 minutes";
-OnTimer240000: callsub OnAnnounce,"6 minutes";
-OnTimer300000: callsub OnAnnounce,"5 minutes";
-OnTimer360000: callsub OnAnnounce,"4 minutes";
-OnTimer420000: callsub OnAnnounce,"3 minutes";
-OnTimer480000: callsub OnAnnounce,"2 minutes";
-OnTimer540000: callsub OnAnnounce,"1 minute";
+OnTimer1000:
+ callsub(OnAnnounce, _("10 minutes"));
+OnTimer60000:
+ callsub(OnAnnounce, _("9 minutes"));
+OnTimer120000:
+ callsub(OnAnnounce, _("8 minutes"));
+OnTimer180000:
+ callsub(OnAnnounce, _("7 minutes"));
+OnTimer240000:
+ callsub(OnAnnounce, _("6 minutes"));
+OnTimer300000:
+ callsub(OnAnnounce, _("5 minutes"));
+OnTimer360000:
+ callsub(OnAnnounce, _("4 minutes"));
+OnTimer420000:
+ callsub(OnAnnounce, _("3 minutes"));
+OnTimer480000:
+ callsub(OnAnnounce, _("2 minutes"));
+OnTimer540000:
+ callsub(OnAnnounce, _("1 minute"));
OnTimer570000:
- mapannounce instance_mapname("1@ma_b"),"Time Limit: 30 seconds",bc_map,"0xff4400"; //FW_NORMAL 18 0 0
- donpcevent instance_npcname("#SummonPuppetsn1")+"::OnStart";
+ mapannounce(instance_mapname("1@ma_b"), _("Time Limit: 30 seconds"), bc_map, "0xff4400"); //FW_NORMAL 18 0 0
+ donpcevent(instance_npcname("#SummonPuppetsn1")+"::OnStart");
end;
OnTimer600000:
.@map$ = instance_mapname("1@ma_b");
- mapannounce .@map$,"Bakonawa has escaped deep into the lake.",bc_map,"0xffff00"; //FW_NORMAL 20 0 0
- donpcevent instance_npcname("Taho#Fail")+"::OnStart";
- donpcevent instance_npcname("#Bakonawan1")+"::OnFail";
- killmonster .@map$,instance_npcname("#Bakonawan1")+"::OnMyMobDead";
- stopnpctimer;
- disablenpc instance_npcname("#Bakonawan1");
+ mapannounce(.@map$, _("Bakonawa has escaped deep into the lake."), bc_map, C_YELLOW); //FW_NORMAL 20 0 0
+ donpcevent(instance_npcname("Taho#Fail")+"::OnStart");
+ donpcevent(instance_npcname("#Bakonawan1")+"::OnFail");
+ killmonster(.@map$, instance_npcname("#Bakonawan1")+"::OnMyMobDead");
+ stopnpctimer();
+ disablenpc(instance_npcname("#Bakonawan1"));
end;
OnAnnounce:
- mapannounce instance_mapname("1@ma_b"),"Time Limit: "+getarg(0),bc_map,"0xff4400"; //FW_NORMAL 15 0 0
- donpcevent instance_npcname("#SummonPuppetsn1")+"::OnStart";
+ mapannounce(instance_mapname("1@ma_b"), sprintf(_$("Time Limit: %s"), getarg(0)), bc_map, "0xff4400"); //FW_NORMAL 15 0 0
+ donpcevent(instance_npcname("#SummonPuppetsn1")+"::OnStart");
end;
}
1@ma_b,78,81,0 script #SummonPuppetsn1 HIDDEN_WARP_NPC,4,5,{
end;
OnInstanceInit:
- disablenpc instance_npcname("#SummonPuppetsn1");
+ disablenpc(instance_npcname("#SummonPuppetsn1"));
end;
OnStart:
- stopnpctimer;
- enablenpc instance_npcname("#SummonPuppetsn1");
- initnpctimer;
+ stopnpctimer();
+ enablenpc(instance_npcname("#SummonPuppetsn1"));
+ initnpctimer();
end;
OnTouch:
- stopnpctimer;
- disablenpc instance_npcname("#SummonPuppetsn1");
+ stopnpctimer();
+ disablenpc(instance_npcname("#SummonPuppetsn1"));
end;
OnTimer5000:
- setarray .@x[0],79,71,60,61,57,89,95,96,99;
- setarray .@y[0],71,72,80,90,99,73,82,90,99;
+ setarray(.@x[0], 79, 71, 60, 61, 57, 89, 95, 96, 99);
+ setarray(.@y[0], 71, 72, 80, 90, 99, 73, 82, 90, 99);
.@map$ = instance_mapname("1@ma_b");
- for(.@i = 0; .@i<9; ++.@i) {
- .@rand = rand(1,10);
+ for (.@i = 0; .@i < 9; ++.@i) {
+ .@rand = rand(1, 10);
if (.@rand > 7)
- monster .@map$,.@x[.@i],.@y[.@i],"Bakonawa's Will",2337,1,instance_npcname("#SummonPuppetsn1")+"::OnMyMobDead";
+ monster(.@map$, .@x[.@i], .@y[.@i], _("Bakonawa's Will"), HIDDEN_MOB, 1, instance_npcname("#SummonPuppetsn1")+"::OnMyMobDead");
else if (.@rand < 4)
- monster .@map$,.@x[.@i],.@y[.@i],"Bakonawa's Will",2343,1,instance_npcname("#SummonPuppetsn1")+"::OnMyMobDead";
+ monster(.@map$, .@x[.@i], .@y[.@i], _("Bakonawa's Will"), HIDDEN_MOB_W, 1, instance_npcname("#SummonPuppetsn1")+"::OnMyMobDead");
}
end;
OnTimer50000:
- killmonster instance_mapname("1@ma_b"),instance_npcname("#SummonPuppetsn1")+"::OnMyMobDead";
- stopnpctimer;
- disablenpc instance_npcname("#SummonPuppetsn1");
+ killmonster(instance_mapname("1@ma_b"), instance_npcname("#SummonPuppetsn1")+"::OnMyMobDead");
+ stopnpctimer();
+ disablenpc(instance_npcname("#SummonPuppetsn1"));
end;
OnMyMobDead:
end;
@@ -259,111 +268,126 @@ OnMyMobDead:
1@ma_b,1,5,4 script #BakonawaDeadn1 CLEAR_NPC,{
end;
OnInstanceInit:
- disablenpc instance_npcname("#BakonawaDeadn1");
+ disablenpc(instance_npcname("#BakonawaDeadn1"));
end;
OnStart:
- enablenpc instance_npcname("#BakonawaDeadn1");
- initnpctimer;
+ enablenpc(instance_npcname("#BakonawaDeadn1"));
+ initnpctimer();
end;
OnTimer100:
- mapannounce instance_mapname("1@ma_b"),"Taho: Good! Bakonawa is hidden under water. He will now try to swallow the moon.",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+ mapannounce(instance_mapname("1@ma_b"), _("Taho: Good! Bakonawa is hidden under water. He will now try to swallow the moon."), bc_map, C_AQUA); //FW_NORMAL 15 0 0
end;
OnTimer5000:
- mapannounce instance_mapname("1@ma_b"),"Taho: We must make loud noises with caldron and gong so he can never concentrate on the moon!",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+ mapannounce(instance_mapname("1@ma_b"), _("Taho: We must make loud noises with caldron and gong so he can never concentrate on the moon!"), bc_map, C_AQUA); //FW_NORMAL 15 0 0
end;
OnTimer10000:
- mapannounce instance_mapname("1@ma_b"),"Taho: Do not engage on him even if he come above the surface. Just make loud noises!",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+ mapannounce(instance_mapname("1@ma_b"), _("Taho: Do not engage on him even if he come above the surface. Just make loud noises!"), bc_map, C_AQUA); //FW_NORMAL 15 0 0
end;
OnTimer15000:
- mapannounce instance_mapname("1@ma_b"),"Mission - Destroy 2 caldrons and 2 gongs on left and right sides of the lake.",bc_map,"0xff3300"; //FW_NORMAL 15 0 0
- donpcevent instance_npcname("#Bakonawan2")+"::OnStart";
- stopnpctimer;
- disablenpc instance_npcname("#BakonawaDeadn1");
+ mapannounce(instance_mapname("1@ma_b"), _("Mission - Destroy 2 caldrons and 2 gongs on left and right sides of the lake."), bc_map, "0xff3300"); //FW_NORMAL 15 0 0
+ donpcevent(instance_npcname("#Bakonawan2")+"::OnStart");
+ stopnpctimer();
+ disablenpc(instance_npcname("#BakonawaDeadn1"));
end;
}
1@ma_b,36,111,4 script #Bakonawan2 CLEAR_NPC,{
end;
OnInstanceInit:
- disablenpc instance_npcname("#Bakonawan2");
+ disablenpc(instance_npcname("#Bakonawan2"));
end;
OnStart:
- enablenpc instance_npcname("#Bakonawan2");
+ enablenpc(instance_npcname("#Bakonawan2"));
.@label$ = instance_npcname("#Bakonawan2")+"::OnMyMobDead";
.@map$ = instance_mapname("1@ma_b");
- monster .@map$,95,98,"Caldron",2328,1,.@label$;
- monster .@map$,60,98,"Caldron",2328,1,.@label$;
- monster .@map$,97,104,"Gong",2328,1,.@label$;
- monster .@map$,58,104,"Gong",2328,1,.@label$;
- donpcevent instance_npcname("#Bakonawan2-1")+"::OnStart";
- initnpctimer;
+ monster(.@map$, 95, 98, _("Caldron"), MA_DRUM, 1, .@label$);
+ monster(.@map$, 60, 98, _("Caldron"), MA_DRUM, 1, .@label$);
+ monster(.@map$, 97, 104, _("Gong"), MA_DRUM, 1, .@label$);
+ monster(.@map$, 58, 104, _("Gong"), MA_DRUM, 1, .@label$);
+ donpcevent(instance_npcname("#Bakonawan2-1")+"::OnStart");
+ initnpctimer();
end;
OnMyMobDead:
.@map$ = instance_mapname("1@ma_b");
- .@mob_dead_num = mobcount(.@map$,instance_npcname("#Bakonawan2")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("#Bakonawan2")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- donpcevent instance_npcname("#Bakonawan2-1")+"::OnEnd";
- stopnpctimer;
- disablenpc instance_npcname("#Bakonawan2");
- } else
- mapannounce .@map$,"Taho: Good! "+.@mob_dead_num+" left to go!",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
- end;
-OnTimer1000: callsub OnAnnounce,"5 minutes",15,1;
-OnTimer60000: callsub OnAnnounce,"4 minutes",15,1;
-OnTimer120000: callsub OnAnnounce,"3 minutes",15,1;
-OnTimer180000: callsub OnAnnounce,"2 minutes",15,1;
-OnTimer240000: callsub OnAnnounce,"1 minute",15,1;
-OnTimer270000: callsub OnAnnounce,"30 seconds",15,0;
-OnTimer280000: callsub OnAnnounce,"20 seconds",15,0;
-OnTimer290000: callsub OnAnnounce,"10 seconds",15,0;
-OnTimer295000: callsub OnAnnounce,"5 seconds",16,0;
-OnTimer296000: callsub OnAnnounce,"4 seconds",17,0;
-OnTimer297000: callsub OnAnnounce,"3 seconds",18,0;
-OnTimer298000: callsub OnAnnounce,"2 seconds",19,0;
-OnTimer299000: callsub OnAnnounce,"1 second",20,0;
+ donpcevent(instance_npcname("#Bakonawan2-1")+"::OnEnd");
+ stopnpctimer();
+ disablenpc(instance_npcname("#Bakonawan2"));
+ } else {
+ mapannounce(.@map$, sprintf(_$("Taho: Good! %d left to go!"), .@mob_dead_num), bc_map, C_AQUA); //FW_NORMAL 15 0 0
+ }
+ end;
+OnTimer1000:
+ callsub(OnAnnounce, _("5 minutes"), 15, 1);
+OnTimer60000:
+ callsub(OnAnnounce, _("4 minutes"), 15, 1);
+OnTimer120000:
+ callsub(OnAnnounce, _("3 minutes"), 15, 1);
+OnTimer180000:
+ callsub(OnAnnounce, _("2 minutes"), 15, 1);
+OnTimer240000:
+ callsub(OnAnnounce, _("1 minute"), 15, 1);
+OnTimer270000:
+ callsub(OnAnnounce, _("30 seconds"), 15, 0);
+OnTimer280000:
+ callsub(OnAnnounce, _("20 seconds"), 15, 0);
+OnTimer290000:
+ callsub(OnAnnounce, _("10 seconds"), 15, 0);
+OnTimer295000:
+ callsub(OnAnnounce, _("5 seconds"), 16, 0);
+OnTimer296000:
+ callsub(OnAnnounce, _("4 seconds"), 17, 0);
+OnTimer297000:
+ callsub(OnAnnounce, _("3 seconds"), 18, 0);
+OnTimer298000:
+ callsub(OnAnnounce, _("2 seconds"), 19, 0);
+OnTimer299000:
+ callsub(OnAnnounce, _("1 second"), 20, 0);
OnTimer300000:
.@map$ = instance_mapname("1@ma_b");
- mapannounce .@map$,"Bakonawa has escaped deep into the lake.",bc_map,"0xffff00"; //FW_NORMAL 20 0 0
- donpcevent instance_npcname("Taho#Fail")+"::OnStart";
- donpcevent instance_npcname("#Bakonawan2-1")+"::OnFail";
- killmonster .@map$,instance_npcname("#Bakonawan2")+"::OnMyMobDead";
- stopnpctimer;
- disablenpc instance_npcname("#Bakonawan2");
+ mapannounce(.@map$, _("Bakonawa has escaped deep into the lake."), bc_map, C_YELLOW); //FW_NORMAL 20 0 0
+ donpcevent(instance_npcname("Taho#Fail")+"::OnStart");
+ donpcevent(instance_npcname("#Bakonawan2-1")+"::OnFail");
+ killmonster(.@map$, instance_npcname("#Bakonawan2")+"::OnMyMobDead");
+ stopnpctimer();
+ disablenpc(instance_npcname("#Bakonawan2"));
end;
OnAnnounce:
- mapannounce instance_mapname("1@ma_b"),"Time Limit: "+getarg(0),bc_map,"0xff4400"; //FW_NORMAL getarg(1) 0 0
- if (getarg(2)) donpcevent instance_npcname("#SummonPuppetsn1")+"::OnStart";
+ mapannounce(instance_mapname("1@ma_b"), sprintf(_$("Time Limit: %s"), getarg(0)), bc_map, "0xff4400"); //FW_NORMAL getarg(1) 0 0
+ if (getarg(2))
+ donpcevent(instance_npcname("#SummonPuppetsn1")+"::OnStart");
end;
}
1@ma_b,36,111,4 script #Bakonawan2-1 CLEAR_NPC,{
end;
OnInstanceInit:
- disablenpc instance_npcname("#Bakonawan2-1");
+ disablenpc(instance_npcname("#Bakonawan2-1"));
end;
OnStart:
- enablenpc instance_npcname("#Bakonawan2-1");
- monster instance_mapname("1@ma_b"),78,81,"Enraged Bakonawa",2321,1,instance_npcname("#Bakonawan2-1")+"::OnMyMobDead"; //original: (78,93)
+ enablenpc(instance_npcname("#Bakonawan2-1"));
+ monster(instance_mapname("1@ma_b"), 78, 81, _("Enraged Bakonawa"), BAKONAWA_2, 1, instance_npcname("#Bakonawan2-1")+"::OnMyMobDead"); //original: (78, 93)
end;
OnFail:
- killmonster instance_mapname("1@ma_b"),instance_npcname("#Bakonawan2-1")+"::OnMyMobDead";
+ killmonster(instance_mapname("1@ma_b"), instance_npcname("#Bakonawan2-1")+"::OnMyMobDead");
end;
OnEnd:
- enablenpc instance_npcname("#Bakonawan2-1");
- killmonster instance_mapname("1@ma_b"),instance_npcname("#Bakonawan2-1")+"::OnMyMobDead";
- initnpctimer;
+ enablenpc(instance_npcname("#Bakonawan2-1"));
+ killmonster(instance_mapname("1@ma_b"), instance_npcname("#Bakonawan2-1")+"::OnMyMobDead");
+ initnpctimer();
end;
OnTimer1000:
- mapannounce instance_mapname("1@ma_b"),"Taho: He is back into the lake again. Is it over?",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+ mapannounce(instance_mapname("1@ma_b"), _("Taho: He is back into the lake again. Is it over?"), bc_map, C_AQUA); //FW_NORMAL 15 0 0
end;
OnTimer5000:
- mapannounce instance_mapname("1@ma_b"),"Taho: UHM! Something is moving up rapidly under the water! Ba... Bakonawa is coming!!",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+ mapannounce(instance_mapname("1@ma_b"), _("Taho: UHM! Something is moving up rapidly under the water! Ba... Bakonawa is coming!!"), bc_map, C_AQUA); //FW_NORMAL 15 0 0
end;
OnTimer10000:
- mapannounce instance_mapname("1@ma_b"),"Mission - Eliminate Bakonawa who became more fierce.",bc_map,"0xff3300"; //FW_NORMAL 15 0 0
- donpcevent instance_npcname("#Bakonawan3")+"::OnStart";
- stopnpctimer;
- disablenpc instance_npcname("#Bakonawan2-1");
+ mapannounce(instance_mapname("1@ma_b"), _("Mission - Eliminate Bakonawa who became more fierce."), bc_map, "0xff3300"); //FW_NORMAL 15 0 0
+ donpcevent(instance_npcname("#Bakonawan3")+"::OnStart");
+ stopnpctimer();
+ disablenpc(instance_npcname("#Bakonawan2-1"));
end;
OnMyMobDead:
end;
@@ -372,190 +396,212 @@ OnMyMobDead:
1@ma_b,36,111,4 script #Bakonawan3 CLEAR_NPC,{
end;
OnInstanceInit:
- disablenpc instance_npcname("#Bakonawan3");
+ disablenpc(instance_npcname("#Bakonawan3"));
end;
OnStart:
- enablenpc instance_npcname("#Bakonawan3");
- initnpctimer;
- monster instance_mapname("1@ma_b"),78,81,"Enraged Bakonawa",2322,1,instance_npcname("#Bakonawan3")+"::OnMyMobDead"; //original: (78,83)
- donpcevent instance_npcname("#Bakonawan3-1")+"::OnStart";
+ enablenpc(instance_npcname("#Bakonawan3"));
+ initnpctimer();
+ monster(instance_mapname("1@ma_b"), 78, 81, _("Enraged Bakonawa"), BAKONAWA_3, 1, instance_npcname("#Bakonawan3")+"::OnMyMobDead"); //original: (78, 83)
+ donpcevent(instance_npcname("#Bakonawan3-1")+"::OnStart");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@ma_b");
- .@mob_dead_num = mobcount(.@map$,instance_npcname("#Bakonawan3")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("#Bakonawan3")+"::OnMyMobDead");
if (.@mob_dead_num < 1) {
- mapannounce .@map$,"Taho: We got him! I can see he has threw up something that looks like a box.",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
- donpcevent instance_npcname("Taho#Completed")+"::OnStart";
- donpcevent instance_npcname("#Bakonawan3-1")+"::OnEnd";
- killmonster .@map$,instance_npcname("#Bakonawan3")+"::OnMyMobDead";
- stopnpctimer;
- disablenpc instance_npcname("#Bakonawan3");
+ mapannounce(.@map$, _("Taho: We got him! I can see he has threw up something that looks like a box."), bc_map, C_AQUA); //FW_NORMAL 15 0 0
+ donpcevent(instance_npcname("Taho#Completed")+"::OnStart");
+ donpcevent(instance_npcname("#Bakonawan3-1")+"::OnEnd");
+ killmonster(.@map$, instance_npcname("#Bakonawan3")+"::OnMyMobDead");
+ stopnpctimer();
+ disablenpc(instance_npcname("#Bakonawan3"));
}
end;
OnTimer1000:
- callsub OnAnnounce,"10 minutes",15,1;
+ callsub(OnAnnounce, _("10 minutes"), 15, 1);
end;
OnTimer60000:
OnTimer120000:
OnTimer180000:
OnTimer240000:
- donpcevent instance_npcname("#SummonPuppetsn1")+"::OnStart";
- end;
-OnTimer300000: callsub OnAnnounce,"5 minutes",15,1;
-OnTimer360000: callsub OnAnnounce,"4 minutes",15,1;
-OnTimer420000: callsub OnAnnounce,"3 minutes",15,1;
-OnTimer480000: callsub OnAnnounce,"2 minutes",15,1;
-OnTimer540000: callsub OnAnnounce,"1 minute",15,1;
-OnTimer570000: callsub OnAnnounce,"30 seconds",15,0;
-OnTimer580000: callsub OnAnnounce,"20 seconds",15,0;
-OnTimer590000: callsub OnAnnounce,"10 seconds",15,0;
-OnTimer595000: callsub OnAnnounce,"5 seconds",16,0;
-OnTimer596000: callsub OnAnnounce,"4 seconds",17,0;
-OnTimer597000: callsub OnAnnounce,"3 seconds",18,0;
-OnTimer598000: callsub OnAnnounce,"2 seconds",19,0;
-OnTimer599000: callsub OnAnnounce,"1 second",20,0;
+ donpcevent(instance_npcname("#SummonPuppetsn1")+"::OnStart");
+ end;
+OnTimer300000:
+ callsub(OnAnnounce, _("5 minutes"), 15, 1);
+OnTimer360000:
+ callsub(OnAnnounce, _("4 minutes"), 15, 1);
+OnTimer420000:
+ callsub(OnAnnounce, _("3 minutes"), 15, 1);
+OnTimer480000:
+ callsub(OnAnnounce, _("2 minutes"), 15, 1);
+OnTimer540000:
+ callsub(OnAnnounce, _("1 minute"), 15, 1);
+OnTimer570000:
+ callsub(OnAnnounce, _("30 seconds"), 15, 0);
+OnTimer580000:
+ callsub(OnAnnounce, _("20 seconds"), 15, 0);
+OnTimer590000:
+ callsub(OnAnnounce, _("10 seconds"), 15, 0);
+OnTimer595000:
+ callsub(OnAnnounce, _("5 seconds"), 16, 0);
+OnTimer596000:
+ callsub(OnAnnounce, _("4 seconds"), 17, 0);
+OnTimer597000:
+ callsub(OnAnnounce, _("3 seconds"), 18, 0);
+OnTimer598000:
+ callsub(OnAnnounce, _("2 seconds"), 19, 0);
+OnTimer599000:
+ callsub(OnAnnounce, _("1 second"), 20, 0);
OnTimer600000:
.@map$ = instance_mapname("1@ma_b");
- mapannounce .@map$,"Bakonawa has escaped deep into the lake.",bc_map,"0xffff00"; //FW_NORMAL 20 0 0
- donpcevent instance_npcname("Taho#Fail")+"::OnStart";
- killmonster .@map$,instance_npcname("#Bakonawan3")+"::OnMyMobDead";
- stopnpctimer;
- disablenpc instance_npcname("#Bakonawan3");
+ mapannounce(.@map$, _("Bakonawa has escaped deep into the lake."), bc_map, C_YELLOW); //FW_NORMAL 20 0 0
+ donpcevent(instance_npcname("Taho#Fail")+"::OnStart");
+ killmonster(.@map$, instance_npcname("#Bakonawan3")+"::OnMyMobDead");
+ stopnpctimer();
+ disablenpc(instance_npcname("#Bakonawan3"));
end;
OnAnnounce:
- mapannounce instance_mapname("1@ma_b"),"Time Limit: "+getarg(0),bc_map,"0xff4400"; //FW_NORMAL getarg(1) 0 0
- if (getarg(2)) donpcevent instance_npcname("#SummonPuppetsn1")+"::OnStart";
+ mapannounce(instance_mapname("1@ma_b"), sprintf(_$("Time Limit: %s"), getarg(0)), bc_map, "0xff4400"); //FW_NORMAL getarg(1) 0 0
+ if (getarg(2))
+ donpcevent(instance_npcname("#SummonPuppetsn1")+"::OnStart");
end;
}
1@ma_b,36,111,4 script #Bakonawan3-1 CLEAR_NPC,{
end;
OnInstanceInit:
- disablenpc instance_npcname("#Bakonawan3-1");
+ disablenpc(instance_npcname("#Bakonawan3-1"));
end;
OnStart:
- initnpctimer;
+ initnpctimer();
end;
OnEnd:
- killmonster instance_mapname("1@ma_b"),instance_npcname("#Bakonawan3-1")+"::OnMyMobDead";
- //showdigit 0;
- stopnpctimer;
+ killmonster(instance_mapname("1@ma_b"), instance_npcname("#Bakonawan3-1")+"::OnMyMobDead");
+ //showdigit(0);
+ stopnpctimer();
end;
OnMyMobDead:
- showdigit mobcount(instance_mapname("1@ma_b"),instance_npcname("#Bakonawan3-1")+"::OnMyMobDead");
- end;
-OnTimer120000: callsub OnMobSpawn,10;
-OnTimer180000: callsub OnMobSpawn,15;
-OnTimer240000: callsub OnMobSpawn,20;
-//OnTimer300000: callsub OnMobSpawn,25;
-OnTimer300000: callsub OnMobSpawn,30;
-OnTimer360000: callsub OnMobSpawn,35;
-OnTimer420000: callsub OnMobSpawn,40;
-OnTimer480000: callsub OnMobSpawn,45;
-OnTimer540000: callsub OnMobSpawn,50;
+ showdigit(mobcount(instance_mapname("1@ma_b"), instance_npcname("#Bakonawan3-1")+"::OnMyMobDead"));
+ end;
+OnTimer120000:
+ callsub(OnMobSpawn, 10);
+OnTimer180000:
+ callsub(OnMobSpawn, 15);
+OnTimer240000:
+ callsub(OnMobSpawn, 20);
+//OnTimer300000:
+// callsub(OnMobSpawn, 25);
+OnTimer300000:
+ callsub(OnMobSpawn, 30);
+OnTimer360000:
+ callsub(OnMobSpawn, 35);
+OnTimer420000:
+ callsub(OnMobSpawn, 40);
+OnTimer480000:
+ callsub(OnMobSpawn, 45);
+OnTimer540000:
+ callsub(OnMobSpawn, 50);
OnTimer600000:
- killmonster instance_mapname("1@ma_b"),instance_npcname("#Bakonawan3-1")+"::OnMyMobDead";
- stopnpctimer;
+ killmonster(instance_mapname("1@ma_b"), instance_npcname("#Bakonawan3-1")+"::OnMyMobDead");
+ stopnpctimer();
end;
OnMobSpawn:
.@label$ = instance_npcname("#Bakonawan3-1")+"::OnMyMobDead";
.@map$ = instance_mapname("1@ma_b");
- killmonster .@map$,.@label$;
- .@mob_dead_num = mobcount(.@map$,.@label$);
+ killmonster(.@map$, .@label$);
+ .@mob_dead_num = mobcount(.@map$, .@label$);
if (.@mob_dead_num < 50) {
.@mob_rg = 50 - .@mob_dead_num;
if (.@mob_rg > getarg(0))
.@mob_rg = getarg(0);
- while(1) {
- areamonster .@map$,74,74,82,74,"Bakonawa's Puppet",2334,1,.@label$;
- .@mob_dead_num = mobcount(.@map$,.@label$);
- if (.@mob_dead_num >= .@mob_rg) {
+ while (true) {
+ areamonster(.@map$, 74, 74, 82, 74, _("Bakonawa's Puppet"), G_WAKWAK, 1, .@label$);
+ .@mob_dead_num = mobcount(.@map$, .@label$);
+ if (.@mob_dead_num >= .@mob_rg)
break;
- }
}
}
end;
}
1@ma_b,62,52,4 script Taho#Completed 4_M_DEWZATIMAN,{
- disable_items;
- if (checkweight(Knife,1) == 0) {
- mes "It seems you are carrying too many different kinds of items. Please try again after reducing it.";
- close;
+ disable_items();
+ if (checkweight(Knife, 1) == 0) {
+ mes("It seems you are carrying too many different kinds of items. Please try again after reducing it.");
+ close();
}
if (MaxWeight - Weight < 10000) {
- mes "It seems you are already carrying items of too much weight. Please try again after reducing the weight.";
- close;
- }
- if (questprogress(12279,HUNTING) == 2) {
- erasequest 12279;
- mes "[Taho]";
- mes "This was found from Bakonawa's corpse. It would be better if you take this.";
+ mes("It seems you are already carrying items of too much weight. Please try again after reducing the weight.");
+ close();
+ }
+ if (questprogress(12279, HUNTING) == 2) {
+ erasequest(12279);
+ mes("[Taho]");
+ mes("This was found from Bakonawa's corpse. It would be better if you take this.");
// if (IsPremiumPcCafe == 10)
- getitem Ancient_Grudge,7;
+ getitem(Ancient_Grudge, 7);
// else
-// getitem Ancient_Grudge,5;
- getexp 0,100000;
- next;
+// getitem(Ancient_Grudge, 5);
+ getexp(0, 100000);
+ next();
}
- mes "[Taho]";
- mes "We better hurry and get out of this place. This place is still dangerous even without Bakonawa...";
- next;
- mes "[Taho]";
- mes "Then let's use to the rope to go up!";
- close2;
- warp "ma_scene01",175,176;
+ mes("[Taho]");
+ mes("We better hurry and get out of this place. This place is still dangerous even without Bakonawa...");
+ next();
+ mes("[Taho]");
+ mes("Then let's use to the rope to go up!");
+ close2();
+ warp("ma_scene01", 175, 176);
end;
OnInstanceInit:
- disablenpc instance_npcname("Taho#Completed");
+ disablenpc(instance_npcname("Taho#Completed"));
end;
OnStart:
- enablenpc instance_npcname("Taho#Completed");
- initnpctimer;
+ enablenpc(instance_npcname("Taho#Completed"));
+ initnpctimer();
end;
OnTimer1000:
- monster instance_mapname("1@ma_b"),78,74,"Bakonawa Treasure Box",2335,1;
+ monster(instance_mapname("1@ma_b"), 78, 74, _("Bakonawa Treasure Box"), MA_TREASURE, 1);
end;
OnTimer10000:
- mapannounce instance_mapname("1@ma_b"),"Taho: After opening the treasure box, please visit me at the top of the hill. I've got something to give to you.",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
- stopnpctimer;
+ mapannounce(instance_mapname("1@ma_b"), _("Taho: After opening the treasure box, please visit me at the top of the hill. I've got something to give to you."), bc_map, C_AQUA); //FW_NORMAL 15 0 0
+ stopnpctimer();
end;
}
1@ma_b,62,52,4 script Taho#Fail 4_M_DEWZATIMAN,{
- mes "[Taho]";
- mes "HMM. We almost got him but he is one fast creature...";
- next;
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
- mes "[Taho]";
- mes "Are we going to try again?";
- next;
- switch(select("Hold on a sec!", "Of course! We cannot stand back now!")) {
+ mes("[Taho]");
+ mes("HMM. We almost got him but he is one fast creature...");
+ next();
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
+ mes("[Taho]");
+ mes("Are we going to try again?");
+ next();
+ switch (select("Hold on a sec!", "Of course! We cannot stand back now!")) {
case 1:
- mes "[Taho]";
- mes "AWW... I almost brought him out.";
- close;
+ mes("[Taho]");
+ mes("AWW... I almost brought him out.");
+ close();
case 2:
- mes "[Taho]";
- mes "Then I will use Albopal once again to the lake.";
- next;
- mes "[Taho]";
- mes "We are about to see Bakonawa with intenser anger...";
- disablenpc instance_npcname("Taho#Fail");
- donpcevent instance_npcname("#Bakonawan1")+"::OnStart";
- close;
+ mes("[Taho]");
+ mes("Then I will use Albopal once again to the lake.");
+ next();
+ mes("[Taho]");
+ mes("We are about to see Bakonawa with intenser anger...");
+ disablenpc(instance_npcname("Taho#Fail"));
+ donpcevent(instance_npcname("#Bakonawan1")+"::OnStart");
+ close();
}
- close;
+ close();
} else {
- mes "[Taho]";
- mes "I am dropping Albopal like I did a while ago. I hope it pisses him off...";
- close;
+ mes("[Taho]");
+ mes("I am dropping Albopal like I did a while ago. I hope it pisses him off...");
+ close();
}
OnInstanceInit:
- disablenpc instance_npcname("Taho#Fail");
+ disablenpc(instance_npcname("Taho#Fail"));
end;
OnStart:
- enablenpc instance_npcname("Taho#Fail");
+ enablenpc(instance_npcname("Taho#Fail"));
end;
}
diff --git a/npc/re/instances/BangungotHospital.txt b/npc/re/instances/BangungotHospital.txt
index 3962ee4fa..4af583879 100644
--- a/npc/re/instances/BangungotHospital.txt
+++ b/npc/re/instances/BangungotHospital.txt
@@ -48,7 +48,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
else if (malaya_bang == 31)
callsub L_Closed,0;
else
- goto L_NoParty;
+ callsub L_NoParty;
}
if (questprogress(11309,HUNTING) != 2) {
.@playtime = questprogress(9224,PLAYTIME);
@@ -100,7 +100,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
cutin "",255;
end;
} else {
- //if (!.@party_id) goto L_NoParty; //unneeded
+ //if (!.@party_id) callsub L_NoParty; //unneeded
if (malaya_bang > 39)
callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
else {
@@ -122,7 +122,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
end;
}
} else if (.@quest == 1) {
- if (!.@party_id) goto L_NoParty;
+ if (!.@party_id) callsub L_NoParty;
if (malaya_bang > 39) {
if (questprogress(9222,HUNTING) == 1) {
.@playtime = questprogress(9224,PLAYTIME);
@@ -132,7 +132,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
next;
callsub L_Enter,0,0;
} else if (.@playtime == 2) {
- //if (!.@party_id) goto L_NoParty; //unneeded
+ //if (!.@party_id) callsub L_NoParty; //unneeded
if (malaya_bang > 39)
callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
else {
@@ -211,7 +211,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
cutin "",255;
end;
} else {
- if (!.@party_id) goto L_NoParty;
+ if (!.@party_id) callsub L_NoParty;
if (malaya_bang > 39)
callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
else {
@@ -274,21 +274,19 @@ L_Enter:
switch(select(((getarg(0))?"Prepare to enter the second floor.":""), "Enter the second floor.", "Do not enter.")) {
case 1:
.@instance = instance_create(.@md_name$,getcharid(CHAR_ID_PARTY));
- if (.@instance < 0) {
- mes "[Nurse Maenne]";
- mes "A critical situation has happened.";
- mes "You can't go up to the 2nd floor.";
- close2;
- cutin "",255;
- end;
- }
- if (instance_attachmap("1@ma_h",.@instance) == "") {
- mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
- instance_destroy(.@instance);
- close;
+ if (.@instance >= 0) {
+ if (instance_attachmap("1@ma_h", .@instance) == "") {
+ mes("[Nurse Maenne]");
+ mes("A critical situation has happened.");
+ mes("You can't go up to the 2nd floor.");
+ instance_destroy(.@instance);
+ close2();
+ cutin("", 255);
+ end;
+ }
+ instance_set_timeout(3600, 300, .@instance);
+ instance_init(.@instance);
}
- instance_set_timeout 3600,300,.@instance;
- instance_init(.@instance);
mes "[Nurse Maenne]";
mes "We are preparing to go up";
mes "to the second floor.";
@@ -406,7 +404,7 @@ OnInstanceInit:
disablenpc instance_npcname("#Memorial Start_time");
end;
OnEnable:
- specialeffect EF_BAT2,AREA,instance_npcname("#Memorial Start");
+ specialeffect(EF_BAT2, AREA, getnpcid(instance_npcname("#Memorial Start")));
initnpctimer;
end;
OnDisable:
@@ -892,19 +890,19 @@ OnStopTimer:
end;
OnTimer1000:
mapannounce instance_mapname("1@ma_h"),"- Bangungot's Pillar of Spirit is curing Bangungot. If you don't hunt it now, he will fully recover!! -",bc_map,"0xFF8200";
- specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Patternwarp45");
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid(instance_npcname("#Patternwarp45")));
end;
OnTimer7000:
mapannounce instance_mapname("1@ma_h"),"Bangungot: I never die!!!!",bc_map,"0xFF82FF";
- specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Patternwarp45");
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid(instance_npcname("#Patternwarp45")));
end;
OnTimer14000:
mapannounce instance_mapname("1@ma_h"),"Bangungot: If you dare, kill me!! I will revive soon!!!",bc_map,"0xFF82FF";
- specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Patternwarp45");
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid(instance_npcname("#Patternwarp45")));
end;
OnTimer21000:
mapannounce instance_mapname("1@ma_h"),"Bangungot: I cannot die this way...!!!!",bc_map,"0xFF82FF";
- specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Patternwarp45");
+ specialeffect(EF_MAPPILLAR2, AREA, getnpcid(instance_npcname("#Patternwarp45")));
end;
OnTimer30000:
donpcevent instance_npcname("#Summon Pillar")+"::OnReset";
diff --git a/npc/re/instances/BuwayaCave.txt b/npc/re/instances/BuwayaCave.txt
index 859d6bd85..1d3eddc6a 100644
--- a/npc/re/instances/BuwayaCave.txt
+++ b/npc/re/instances/BuwayaCave.txt
@@ -35,95 +35,92 @@
ma_fild02,312,317,5 script Guard#buwaya_cave 4_MAL_SOLDIER,{
if (BaseLevel < 130) {
- mes "[Guard]";
- mes "People under ^ff0000level 130^000000";
- mes "cannot enter this place.";
- mes "This place is dangerous. Please go back.";
- close;
+ mes("[Guard]");
+ mes("People under ^ff0000level 130^000000");
+ mes("cannot enter this place.");
+ mes("This place is dangerous. Please go back.");
+ close();
}
.@party_id = getcharid(CHAR_ID_PARTY);
- .@md_name$ = "Buwaya Cave";
+ .@md_name$ = _("Buwaya Cave");
if (!.@party_id) {
- mes "[Guard]";
- mes "Buwaya is dangerous.";
- mes "Please come back after you form a";
- mes "team with other people.";
- close;
+ mes("[Guard]");
+ mes("Buwaya is dangerous.");
+ mes("Please come back after you form a");
+ mes("team with other people.");
+ close();
}
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
- mes "[Guard]";
- mes "This place is dangerous. Please go back.";
- mes "If you dont have any business here, please go back.";
- next;
- while(1) {
- switch(select("Why is it so dangerous?", "I'm here to hunt down Buwaya.", "End conversation.")) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2)) {
+ mes("[Guard]");
+ mes("This place is dangerous. Please go back.");
+ mes("If you dont have any business here, please go back.");
+ next();
+ while (true) {
+ switch (select("Why is it so dangerous?", "I'm here to hunt down Buwaya.", "End conversation.")) {
case 1:
- mes "[Guard]";
- mes "Recently, there has been a case";
- mes "where villagers have disappeared.";
- mes "After investigating the tracks, ";
- mes "we found out the giant monster Buwaya";
- mes "was responsible.";
- next;
- mes "[Guard]";
- mes "Soldiers and mercenaries have been dispatched to ";
- mes "hunt down Buwaya, but were never";
- mes "completely successful.";
- next;
- mes "[Guard]";
- mes "Buwaya is still kidnapping";
- mes "the villagers to this day.";
- mes "Please gather some people to get rid of Buwaya.";
- next;
+ mes("[Guard]");
+ mes("Recently, there has been a case");
+ mes("where villagers have disappeared.");
+ mes("After investigating the tracks, ");
+ mes("we found out the giant monster Buwaya");
+ mes("was responsible.");
+ next();
+ mes("[Guard]");
+ mes("Soldiers and mercenaries have been dispatched to ");
+ mes("hunt down Buwaya, but were never");
+ mes("completely successful.");
+ next();
+ mes("[Guard]");
+ mes("Buwaya is still kidnapping");
+ mes("the villagers to this day.");
+ mes("Please gather some people to get rid of Buwaya.");
+ next();
break;
case 2:
- .@playtime = questprogress(4229,PLAYTIME);
+ .@playtime = questprogress(4229, PLAYTIME);
if (!.@playtime) {
// fall through
} else if (.@playtime == 1) {
- mes "[Guard]";
- mes "Buwaya is still hiding.";
- mes "Even if you enter now, Buwaya will not come out. ";
- mes "Please come back later.";
- close;
+ mes("[Guard]");
+ mes("Buwaya is still hiding.");
+ mes("Even if you enter now, Buwaya will not come out. ");
+ mes("Please come back later.");
+ close();
} else {
- erasequest 4229;
+ erasequest(4229);
// fall through
}
- .@instance = instance_create(.@md_name$,.@party_id);
- if (.@instance < 0) {
- mes "[Guard]";
- mes "Party name is... "+getpartyname(.@party_id)+".";;
- mes "Party leader is... "+strcharinfo(PC_NAME);
- mes "^0000ff"+.@md_name$+"^000000 cannot be opened now.";
- mes "Please try a moment later.";
- close;
+ .@instance = instance_create(.@md_name$, .@party_id);
+ if (.@instance >= 0) {
+ if (instance_attachmap("1@ma_c", .@instance) == "") {
+ mes("[Guard]");
+ mesf("Party name is... %s.", getpartyname(.@party_id));
+ mesf("Party leader is... %s", strcharinfo(PC_NAME));
+ mesf("^0000ff%s^000000 cannot be opened now.", .@md_name$);
+ mes("Please try a moment later.");
+ instance_destroy(.@instance);
+ close();
+ }
+ instance_set_timeout(3600, 300, .@instance);
+ instance_init(.@instance);
}
- if (instance_attachmap("1@ma_c",.@instance) == "") {
- mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
- instance_destroy(.@instance);
- close;
- }
- instance_set_timeout 3600,300,.@instance;
- instance_init(.@instance);
-
- mes "[Guard]";
- mes "I will open up the tunnel to ^0000ff"+.@md_name$+"^000000.";
- mes "I wish you good luck.";
- close;
+ mes("[Guard]");
+ mesf("I will open up the tunnel to ^0000ff%s^000000.", .@md_name$);
+ mes("I wish you good luck.");
+ close();
case 3:
- mes "[Guard]";
- mes "This place is dangerous. You cannot enter.";
- close;
+ mes("[Guard]");
+ mes("This place is dangerous. You cannot enter.");
+ close();
}
}
} else {
- mes "[Guard]";
- mes "Let me talk with the party leader.";
- mes "Please call forth the leader.";
- close;
+ mes("[Guard]");
+ mes("Let me talk with the party leader.");
+ mes("Please call forth the leader.");
+ close();
}
}
@@ -131,214 +128,214 @@ ma_fild02,315,323,0 script Cave Entrance#buwaya WARPNPC,2,2,{
end;
OnTouch:
if (BaseLevel < 130) {
- mes "[Guard]";
- mes "People under ^ff0000level 130^000000";
- mes "cannot enter this place.";
- mes "This place is dangerous. Please go back.";
- close;
+ mes("[Guard]");
+ mes("People under ^ff0000level 130^000000");
+ mes("cannot enter this place.");
+ mes("This place is dangerous. Please go back.");
+ close();
}
- .@playtime = questprogress(4229,PLAYTIME);
+ .@playtime = questprogress(4229, PLAYTIME);
if (!.@playtime) {
// fall through
} else if (.@playtime == 1) {
- mes "[Guard]";
- mes "Buwaya is still hiding.";
- mes "Even if you enter now, Buwaya will not come out.";
- mes "Please come back later.";
- close;
+ mes("[Guard]");
+ mes("Buwaya is still hiding.");
+ mes("Even if you enter now, Buwaya will not come out.");
+ mes("Please come back later.");
+ close();
} else {
- erasequest 4229;
+ erasequest(4229);
// fall through
}
- switch(select("Enter.", "Turn back.")) {
+ switch (select("Enter.", "Turn back.")) {
case 1:
- if( has_instance("1@ma_c") == "" ) {
- mes "The memorial dungeon Buwaya Cave does not exist.";
- mes "The party leader did not generate the dungeon yet.";
- close;
+ if (has_instance("1@ma_c") == "") {
+ mes("The memorial dungeon Buwaya Cave does not exist.");
+ mes("The party leader did not generate the dungeon yet.");
+ close();
} else {
- mapannounce "ma_fild02",getpartyname(getcharid(CHAR_ID_PARTY))+" party's "+strcharinfo(PC_NAME)+" member began hunting Buwaya in Buwaya Cave.",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
- setquest 4229;
- warp "1@ma_c",35,57;
+ mapannounce("ma_fild02", sprintf(_$("%s party's %s member began hunting Buwaya in Buwaya Cave."), getpartyname(getcharid(CHAR_ID_PARTY)), strcharinfo(PC_NAME)), bc_map, C_SPRINGGREEN); //FW_NORMAL 12 0 0
+ setquest(4229);
+ warp("1@ma_c", 35, 57);
end;
}
case 2:
- mes "[Guard]";
- mes "You must value your life.";
- mes "It is better to think carefully before you act.";
- close;
+ mes("[Guard]");
+ mes("You must value your life.");
+ mes("It is better to think carefully before you act.");
+ close();
}
}
1@ma_c,33,112,0 script #damage HIDDEN_WARP_NPC,7,7,{
end;
OnInstanceInit:
- initnpctimer;
- disablenpc instance_npcname("#damage");
+ initnpctimer();
+ disablenpc(instance_npcname("#damage"));
end;
OnTimer1000:
- enablenpc instance_npcname("#damage");
- specialeffect EF_POISONHIT;
+ enablenpc(instance_npcname("#damage"));
+ specialeffect(EF_POISONHIT);
end;
OnTimer2000:
- stopnpctimer;
- initnpctimer;
- disablenpc instance_npcname("#damage");
+ stopnpctimer();
+ initnpctimer();
+ disablenpc(instance_npcname("#damage"));
end;
OnTouch:
- percentheal -10,-10;
- sc_start SC_BLOODING,60000,0;
- sc_start SC_POISON,60000,0;
+ percentheal(-10, -10);
+ sc_start(SC_BLOODING, 60000, 0);
+ sc_start(SC_POISON, 60000, 0);
end;
}
1@ma_c,29,110,5 script Kidnapped People#1 4_F_BARYO_OLD,{
- mes "[Kidnapped Residents]";
- mes "Buwaya was running around,";
- mes "and new people got caught.";
- mes "We will be stuck in here for the rest of our lives.";
- next;
- switch(select("Get me outta here!!", "Ca...can't escape?")) {
+ mes("[Kidnapped Residents]");
+ mes("Buwaya was running around,");
+ mes("and new people got caught.");
+ mes("We will be stuck in here for the rest of our lives.");
+ next();
+ switch (select("Get me outta here!!", "Ca...can't escape?")) {
case 1:
- mes "[Kidnapped Residents]";
- mes "We don't have enough power to destroy it but Buwaya has a weakness.";
- mes "Look at the wall over there.";
- mes "If you knock there, Buywaya will feel pain and spit you out.";
- donpcevent instance_npcname("#box_mob_call")+"::OnEnable";
- close2;
- disablenpc instance_npcname("Kidnapped People#1");
+ mes("[Kidnapped Residents]");
+ mes("We don't have enough power to destroy it but Buwaya has a weakness.");
+ mes("Look at the wall over there.");
+ mes("If you knock there, Buywaya will feel pain and spit you out.");
+ donpcevent(instance_npcname("#box_mob_call")+"::OnEnable");
+ close2();
+ disablenpc(instance_npcname("Kidnapped People#1"));
end;
case 2:
- mes "[Kidnapped People]";
- mes "Somthing is wrong here...";
- mes "Have you experienced this before?";
- close;
+ mes("[Kidnapped People]");
+ mes("Somthing is wrong here...");
+ mes("Have you experienced this before?");
+ close();
}
end;
OnInstanceInit:
- disablenpc instance_npcname("Kidnapped People#1");
+ disablenpc(instance_npcname("Kidnapped People#1"));
end;
OnEnable:
- enablenpc instance_npcname("Kidnapped People#1");
- donpcevent instance_npcname("#box_mob_call")+"::OnDisable";
+ enablenpc(instance_npcname("Kidnapped People#1"));
+ donpcevent(instance_npcname("#box_mob_call")+"::OnDisable");
end;
}
1@ma_c,36,110,5 script Kidnapped People#2 4_M_BARYO_OLD,{
- mes "[Kidnapped Residents]";
- mes "Ahaa! I wish I had a little more power...";
- mes "I know its weakness...";
- next;
- switch(select("Tell me.", "Do you really know?")) {
+ mes("[Kidnapped Residents]");
+ mes("Ahaa! I wish I had a little more power...");
+ mes("I know its weakness...");
+ next();
+ switch (select("Tell me.", "Do you really know?")) {
case 1:
- mes "[Kidnapped Residents]";
- mes "Are you sure you can do it...?";
- mes "Ok, listen carefully,";
- mes "its weakness is...";
- next;
- mes "[Kidnapped Residents]";
- mes "...behind us on the walls.";
- sc_start SC_ATKPOTION,60000,45;
- sc_start SC_MATKPOTION,60000,45;
- disablenpc instance_npcname("Kidnapped People#2");
- close;
+ mes("[Kidnapped Residents]");
+ mes("Are you sure you can do it...?");
+ mes("Ok, listen carefully,");
+ mes("its weakness is...");
+ next();
+ mes("[Kidnapped Residents]");
+ mes("...behind us on the walls.");
+ sc_start(SC_ATKPOTION, 60000, 45);
+ sc_start(SC_MATKPOTION, 60000, 45);
+ disablenpc(instance_npcname("Kidnapped People#2"));
+ close();
case 2:
- mes "[Kidnapped Residents]";
- mes "WHAT?!";
- mes "Are you ignoring me";
- mes "because I'm captured in here?";
- close;
+ mes("[Kidnapped Residents]");
+ mes("WHAT?!");
+ mes("Are you ignoring me");
+ mes("because I'm captured in here?");
+ close();
}
end;
OnInstanceInit:
- disablenpc instance_npcname("Kidnapped People#2");
+ disablenpc(instance_npcname("Kidnapped People#2"));
end;
OnEnable:
- enablenpc instance_npcname("Kidnapped People#2");
+ enablenpc(instance_npcname("Kidnapped People#2"));
end;
}
1@ma_c,3,3,0 script #box_mob_call HIDDEN_WARP_NPC,1,1,{
end;
OnInstanceInit:
- setcell instance_mapname("1@ma_c"),30,118,35,118,cell_shootable,1; //custom
- disablenpc instance_npcname("#box_mob_call");
+ setcell(instance_mapname("1@ma_c"), 30, 118, 35, 118, cell_shootable, 1); //custom
+ disablenpc(instance_npcname("#box_mob_call"));
end;
OnEnable:
- enablenpc instance_npcname("#box_mob_call");
+ enablenpc(instance_npcname("#box_mob_call"));
.@label$ = instance_npcname("#box_mob_call")+"::OnMyMobDead";
.@map$ = instance_mapname("1@ma_c");
- monster .@map$,30,118,"Buwaya's Weakness",2333,1,.@label$;
- monster .@map$,35,118,"Buwaya's Weakness",2333,1,.@label$;
+ monster(.@map$, 30, 118, _("Buwaya's Weakness"), BUWAYA_WEAK, 1, .@label$);
+ monster(.@map$, 35, 118, _("Buwaya's Weakness"), BUWAYA_WEAK, 1, .@label$);
end;
OnDisable:
- killmonster instance_mapname("1@ma_c"),instance_npcname("#box_mob_call")+"::OnMyMobDead";
- disablenpc instance_npcname("#box_mob_call");
+ killmonster(instance_mapname("1@ma_c"), instance_npcname("#box_mob_call")+"::OnMyMobDead");
+ disablenpc(instance_npcname("#box_mob_call"));
end;
OnMyMobDead:
- if (mobcount(instance_mapname("1@ma_c"),instance_npcname("#box_mob_call")+"::OnMyMobDead") < 1)
- donpcevent instance_npcname("#box_out")+"::OnEnable";
+ if (mobcount(instance_mapname("1@ma_c"), instance_npcname("#box_mob_call")+"::OnMyMobDead") < 1)
+ donpcevent(instance_npcname("#box_out")+"::OnEnable");
end;
}
1@ma_c,38,118,0 script #box_out WARPNPC,2,2,{
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#box_out");
+ disablenpc(instance_npcname("#box_out"));
end;
OnEnable:
- enablenpc instance_npcname("#box_out");
+ enablenpc(instance_npcname("#box_out"));
end;
OnTouch:
- .@x = rand(1,20) + 97;
- .@y = rand(1,20) + 74;
- warp instance_mapname("1@ma_c"),.@x,.@y;
+ .@x = rand(1, 20) + 97;
+ .@y = rand(1, 20) + 74;
+ warp(instance_mapname("1@ma_c"), .@x, .@y);
end;
}
1@ma_c,97,74,0 script #box_call HIDDEN_WARP_NPC,50,50,{
end;
OnInstanceInit:
- disablenpc instance_npcname("#box_call");
- initnpctimer;
+ disablenpc(instance_npcname("#box_call"));
+ initnpctimer();
end;
OnTimer30000:
- mapannounce instance_mapname("1@ma_c"),"Buwaya : I will put you in my treasure box!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@ma_c"), _("Buwaya : I will put you in my treasure box!"), bc_map, C_SPRINGGREEN); //FW_NORMAL 12 0 0
// Should execute OnTimer33000, but client doesn't render the effect fast enough.
- for(.@i = 1; .@i<=9; ++.@i)
- donpcevent instance_npcname("#yunobi"+.@i)+"::OnEnable";
+ for(.@i = 1; .@i <= 9; ++.@i)
+ donpcevent(instance_npcname("#yunobi"+.@i)+"::OnEnable");
end;
OnTimer33000:
- donpcevent instance_npcname("#box_out")+"::OnDisable";
- donpcevent instance_npcname("#box_mob_call")+"::OnDisable";
- donpcevent instance_npcname("Kidnapped People#1")+"::OnEnable";
- donpcevent instance_npcname("Kidnapped People#2")+"::OnEnable";
+ donpcevent(instance_npcname("#box_out")+"::OnDisable");
+ donpcevent(instance_npcname("#box_mob_call")+"::OnDisable");
+ donpcevent(instance_npcname("Kidnapped People#1")+"::OnEnable");
+ donpcevent(instance_npcname("Kidnapped People#2")+"::OnEnable");
end;
OnTimer34000:
- enablenpc instance_npcname("#box_call");
+ enablenpc(instance_npcname("#box_call"));
end;
OnTimer35000:
- stopnpctimer;
- initnpctimer;
- disablenpc instance_npcname("#box_call");
+ stopnpctimer();
+ initnpctimer();
+ disablenpc(instance_npcname("#box_call"));
end;
OnTouch:
- specialeffect2 EF_GUIDEDATTACK;
- warp instance_mapname("1@ma_c"),33,112;
+ specialeffect(EF_GUIDEDATTACK, AREA, playerattached());
+ warp(instance_mapname("1@ma_c"), 33, 112);
end;
OnDisable:
- stopnpctimer;
- disablenpc instance_npcname("#box_call");
+ stopnpctimer();
+ disablenpc(instance_npcname("#box_call"));
end;
}
1@ma_c,97,74,0 script #yunobi1 HIDDEN_WARP_NPC,{
end;
OnInstanceInit:
- hideonnpc instance_npcname(strnpcinfo(NPC_NAME));
+ hideonnpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- specialeffect EF_MAPPILLAR2;
+ specialeffect(EF_MAPPILLAR2);
end;
}
1@ma_c,97,94,0 duplicate(#yunobi1) #yunobi2 HIDDEN_WARP_NPC
@@ -353,65 +350,65 @@ OnEnable:
1@ma_c,1,1,0 script #bunshin HIDDEN_WARP_NPC,{
end;
OnInstanceInit:
- initnpctimer;
+ initnpctimer();
end;
OnTimer58000:
- mapannounce instance_mapname("1@ma_c"),"Buwaya : I had enough with this, let's go till the end!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@ma_c"), _("Buwaya : I had enough with this, let's go till the end!"), bc_map, C_SPRINGGREEN); //FW_NORMAL 12 0 0
end;
OnTimer61000:
- mapannounce instance_mapname("1@ma_c"),"Buwaya : This is!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@ma_c"), _("Buwaya : This is!"), bc_map, C_SPRINGGREEN); //FW_NORMAL 12 0 0
end;
OnTimer62000:
- mapannounce instance_mapname("1@ma_c"),"Buwaya : This is...MY!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@ma_c"), _("Buwaya : This is...MY!"), bc_map, C_SPRINGGREEN); //FW_NORMAL 12 0 0
end;
OnTimer63000:
- mapannounce instance_mapname("1@ma_c"),"Buwaya : This is...MY...Deadly!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@ma_c"), _("Buwaya : This is...MY...Deadly!"), bc_map, C_SPRINGGREEN); //FW_NORMAL 12 0 0
end;
OnTimer64000:
- mapannounce instance_mapname("1@ma_c"),"Buwaya : This is...MY...Deadly... ATTACK!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@ma_c"), _("Buwaya : This is...MY...Deadly... ATTACK!"), bc_map, C_SPRINGGREEN); //FW_NORMAL 12 0 0
end;
OnTimer65000:
.@label$ = instance_npcname("#bunshin")+"::OnMyMobDead";
.@map$ = instance_mapname("1@ma_c");
- areamonster .@map$,112,89,122,99,"Buwaya",2332,1,.@label$;
- areamonster .@map$,112,49,122,59,"Buwaya",2332,1,.@label$;
- areamonster .@map$,72,49,82,59,"Buwaya",2332,1,.@label$;
- areamonster .@map$,72,89,82,99,"Buwaya",2332,1,.@label$;
+ areamonster(.@map$, 112, 89, 122, 99, _("Buwaya"), BUWAYA_GHOST, 1, .@label$);
+ areamonster(.@map$, 112, 49, 122, 59, _("Buwaya"), BUWAYA_GHOST, 1, .@label$);
+ areamonster(.@map$, 72, 49, 82, 59, _("Buwaya"), BUWAYA_GHOST, 1, .@label$);
+ areamonster(.@map$, 72, 89, 82, 99, _("Buwaya"), BUWAYA_GHOST, 1, .@label$);
end;
OnTimer66000:
- mapannounce instance_mapname("1@ma_c"),"Buwaya : Are you scared?",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@ma_c"), _("Buwaya : Are you scared?"), bc_map, C_SPRINGGREEN); //FW_NORMAL 12 0 0
end;
OnTimer105000:
- killmonster instance_mapname("1@ma_c"),instance_npcname("#bunshin")+"::OnMyMobDead";
- stopnpctimer;
- initnpctimer;
+ killmonster(instance_mapname("1@ma_c"), instance_npcname("#bunshin")+"::OnMyMobDead");
+ stopnpctimer();
+ initnpctimer();
end;
OnMyMobDead:
- if (mobcount(instance_mapname("1@ma_c"),instance_npcname("#bunshin")+"::OnMyMobDead") < 1) {
- stopnpctimer;
- initnpctimer;
+ if (mobcount(instance_mapname("1@ma_c"), instance_npcname("#bunshin")+"::OnMyMobDead") < 1) {
+ stopnpctimer();
+ initnpctimer();
}
end;
OnDisable:
- stopnpctimer;
- killmonster instance_mapname("1@ma_c"),instance_npcname("#bunshin")+"::OnMyMobDead";
- disablenpc instance_npcname("#bunshin");
+ stopnpctimer();
+ killmonster(instance_mapname("1@ma_c"), instance_npcname("#bunshin")+"::OnMyMobDead");
+ disablenpc(instance_npcname("#bunshin"));
end;
}
1@ma_c,2,2,0 script #buwaya_con HIDDEN_WARP_NPC,{
end;
OnInstanceInit:
- areamonster instance_mapname("1@ma_c"),90,67,104,81,"Buwaya",2319,1,instance_npcname("#buwaya_con")+"::OnMyMobDead";
+ areamonster(instance_mapname("1@ma_c"), 90, 67, 104, 81, _("Buwaya"), BUWAYA, 1, instance_npcname("#buwaya_con")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@ma_c");
- if (mobcount(.@map$,instance_npcname("#buwaya_con")+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("#box_call")+"::OnDisable";
- donpcevent instance_npcname("#bunshin")+"::OnDisable";
- donpcevent instance_npcname("#exit_mob")+"::OnDisable";
- donpcevent instance_npcname("#cave_out")+"::OnEnable";
- mapannounce .@map$,"Guard : You did great work. Please hurry up and escape to the way you came in!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ if (mobcount(.@map$, instance_npcname("#buwaya_con")+"::OnMyMobDead") < 1) {
+ donpcevent(instance_npcname("#box_call")+"::OnDisable");
+ donpcevent(instance_npcname("#bunshin")+"::OnDisable");
+ donpcevent(instance_npcname("#exit_mob")+"::OnDisable");
+ donpcevent(instance_npcname("#cave_out")+"::OnEnable");
+ mapannounce(.@map$, _("Guard : You did great work. Please hurry up and escape to the way you came in!"), bc_map, C_SPRINGGREEN); //FW_NORMAL 12 0 0
}
end;
}
@@ -419,24 +416,24 @@ OnMyMobDead:
1@ma_c,3,3,0 script #exit_mob HIDDEN_WARP_NPC,{
end;
OnInstanceInit:
- initnpctimer;
+ initnpctimer();
end;
OnTimer60000:
.@label$ = instance_npcname("#exit_mob")+"::OnMyMobDead";
.@map$ = instance_mapname("1@ma_c");
- if (mobcount(.@map$,.@label$) < 30)
+ if (mobcount(.@map$, .@label$) < 30)
.@amount = 10;
else
.@amount = 1;
- areamonster .@map$,43,58,47,60,"Water Plant",2331,.@amount,.@label$;
- areamonster .@map$,43,58,47,60,"Egg",2329,.@amount,.@label$;
- stopnpctimer;
- initnpctimer;
+ areamonster(.@map$, 43, 58, 47, 60, _("Water Plant"), MA_SEAW, .@amount, .@label$);
+ areamonster(.@map$, 43, 58, 47, 60, _("Egg"), BUWAYA_EGG, .@amount, .@label$);
+ stopnpctimer();
+ initnpctimer();
end;
OnDisable:
- stopnpctimer;
- killmonster instance_mapname("1@ma_c"),instance_npcname("#exit_mob")+"::OnMyMobDead";
- disablenpc instance_npcname("#exit_mob");
+ stopnpctimer();
+ killmonster(instance_mapname("1@ma_c"), instance_npcname("#exit_mob")+"::OnMyMobDead");
+ disablenpc(instance_npcname("#exit_mob"));
end;
OnMyMobDead:
end;
@@ -444,35 +441,35 @@ OnMyMobDead:
1@ma_c,28,57,0 script #cave_out WARPNPC,2,2,{
OnInstanceInit:
- disablenpc instance_npcname("#cave_out");
+ disablenpc(instance_npcname("#cave_out"));
end;
OnEnable:
- enablenpc instance_npcname("#cave_out");
+ enablenpc(instance_npcname("#cave_out"));
end;
OnTouch:
- mes "Would like to go out?";
- next;
- if(select("Yes!", "No, I will stay.") == 1)
- warp "ma_fild02",315,315;
- close;
+ mes("Would like to go out?");
+ next();
+ if (select("Yes!", "No, I will stay.") == 1)
+ warp("ma_fild02", 315, 315);
+ close();
}
1@ma_c,1,1,0 script #buwaya_spawn_mobs FAKE_NPC,{
OnInstanceInit:
.@map$ = instance_mapname("1@ma_c");
- areamonster .@map$,73,81,93,101,"Seaweed",2331,18;
- areamonster .@map$,110,97,116,103,"Seaweed",2331,8;
- areamonster .@map$,59,63,63,67,"Seaweed",2331,8;
- areamonster .@map$,73,55,77,59,"Seaweed",2331,4;
- areamonster .@map$,103,69,107,73,"Seaweed",2331,4;
- areamonster .@map$,108,45,122,63,"Seaweed",2331,15;
- areamonster .@map$,73,81,93,101,"Buwaya's Egg",2329,10;
- areamonster .@map$,110,97,116,103,"Buwaya's Egg",2329,8;
- areamonster .@map$,59,63,63,67,"Buwaya's Egg",2329,4;
- areamonster .@map$,73,55,77,59,"Buwaya's Egg",2329,3;
- areamonster .@map$,103,69,107,73,"Buwaya's Egg",2329,3;
- areamonster .@map$,108,45,122,63,"Buwaya's Egg",2329,15;
- monster .@map$,0,0,"Seaweed",2331,5;
- monster .@map$,0,0,"Buwaya's Slave",2330,5;
+ areamonster(.@map$, 73, 81, 93, 101, _("Seaweed"), MA_SEAW, 18);
+ areamonster(.@map$, 110, 97, 116, 103, _("Seaweed"), MA_SEAW, 8);
+ areamonster(.@map$, 59, 63, 63, 67, _("Seaweed"), MA_SEAW, 8);
+ areamonster(.@map$, 73, 55, 77, 59, _("Seaweed"), MA_SEAW, 4);
+ areamonster(.@map$, 103, 69, 107, 73, _("Seaweed"), MA_SEAW, 4);
+ areamonster(.@map$, 108, 45, 122, 63, _("Seaweed"), MA_SEAW, 15);
+ areamonster(.@map$, 73, 81, 93, 101, _("Buwaya's Egg"), BUWAYA_EGG, 10);
+ areamonster(.@map$, 110, 97, 116, 103, _("Buwaya's Egg"), BUWAYA_EGG, 8);
+ areamonster(.@map$, 59, 63, 63, 67, _("Buwaya's Egg"), BUWAYA_EGG, 4);
+ areamonster(.@map$, 73, 55, 77, 59, _("Buwaya's Egg"), BUWAYA_EGG, 3);
+ areamonster(.@map$, 103, 69, 107, 73, _("Buwaya's Egg"), BUWAYA_EGG, 3);
+ areamonster(.@map$, 108, 45, 122, 63, _("Buwaya's Egg"), BUWAYA_EGG, 15);
+ monster(.@map$, 0, 0, _("Seaweed"), MA_SEAW, 5);
+ monster(.@map$, 0, 0, _("Buwaya's Slave"), BUWAYA_SLAVE, 5);
end;
}
diff --git a/npc/re/instances/EclageInterior.txt b/npc/re/instances/EclageInterior.txt
index 9ad8519b4..2b2117b93 100644
--- a/npc/re/instances/EclageInterior.txt
+++ b/npc/re/instances/EclageInterior.txt
@@ -34,133 +34,130 @@
ecl_hub01,132,12,3 script Chief of Staff#tl01::EclInstance 4_F_FAIRY,{
.@party_id = getcharid(CHAR_ID_PARTY);
- .@md_name$ = "Eclage Interior";
- if (!.@party_id){
- mes "-! Warning !-";
- mes "This current quest will be held at Memorial dungeon.";
- mes "Only the party leader will enter. Please create your party.";
- close;
+ .@md_name$ = _("Eclage Interior");
+ if (!.@party_id) {
+ mes("-! Warning !-");
+ mes("This current quest will be held at Memorial dungeon.");
+ mes("Only the party leader will enter. Please create your party.");
+ close();
}
-
- if (getpartyleader(.@party_id,2) != getcharid(CHAR_ID_CHAR)) {
- mes "-! Warning !-";
- mes "This current quest will be held at Memorial dungeon.";
- mes "Only the party leader will enter. Please create your party.";
- close;
+ if (getpartyleader(.@party_id, 2) != getcharid(CHAR_ID_CHAR)) {
+ mes("-! Warning !-");
+ mes("This current quest will be held at Memorial dungeon.");
+ mes("Only the party leader will enter. Please create your party.");
+ close();
}
if (ep14_2_mylord == 29) {
- mes "[Shenime]";
- mes "This place is set up with lighting for Orb.";
- mes "If you favor Mayor, you should be cautious here.";
- next;
+ mes("[Shenime]");
+ mes("This place is set up with lighting for Orb.");
+ mes("If you favor Mayor, you should be cautious here.");
+ next();
switch (select("Enter it.", "Forget it.")) {
- case 1:
- .@instance = instance_create(.@md_name$,.@party_id);
- if (.@instance < 0) {
- mes "[Shenime]";
- mes "There are some soldiers dispatched by Mayor not too long ago.";
- mes "I should sure hope that you aren't the disturbance they're looking for, right?";
- close;
- }
- if (instance_attachmap("1@ecl",.@instance) == "") {
- mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
+ case 1:
+ .@instance = instance_create(.@md_name$, .@party_id);
+ if (.@instance >= 0) {
+ if (instance_attachmap("1@ecl", .@instance) == "") {
+ mes("[Shenime]");
+ mes("There are some soldiers dispatched by Mayor not too long ago.");
+ mes("I should sure hope that you aren't the disturbance they're looking for, right?");
instance_destroy(.@instance);
- close;
+ close();
}
- ecl_interior_time = gettimetick(2)+20*60;
- instance_set_timeout 1200,1200,.@instance;
+ ecl_interior_time = gettimetick(2) + 20 * 60;
+ instance_set_timeout(1200, 1200, .@instance);
instance_init(.@instance);
- mes "[Shenime]";
- mes "Given the tight internal security, you should prepare yourself.";
- mes "Wait here for a minute.";
- close;
- case 2:
- mes "[Shenime]";
- mes "It's not an easy task.";
- close;
+ }
+ mes("[Shenime]");
+ mes("Given the tight internal security, you should prepare yourself.");
+ mes("Wait here for a minute.");
+ close();
+ case 2:
+ mes("[Shenime]");
+ mes("It's not an easy task.");
+ close();
}
}
- mes "[High-level Laphine's]";
- mes "Hmm? This room?";
- mes "Never mind. Don't worry about it.";
- close;
+ mes("[High-level Laphine's]");
+ mes("Hmm? This room?");
+ mes("Never mind. Don't worry about it.");
+ close();
}
ecl_hub01,130,15,0 script It is closed shut. CLEAR_NPC,{
if (ep14_2_mylord == 29) {
- mes "This door connects to the plaza's ceiling.";
- mes "It's also a place where the lighting is set up to make Orb seem more beautiful.";
- next;
+ mes("This door connects to the plaza's ceiling.");
+ mes("It's also a place where the lighting is set up to make Orb seem more beautiful.");
+ next();
switch (select("Enter it.", "Forget it.")) {
- case 1:
- .@party_id = getcharid(CHAR_ID_PARTY);
+ case 1:
+ .@party_id = getcharid(CHAR_ID_PARTY);
- if (has_instance("1@ecl") == "") {
- mes "It is closed shut.";
- close;
+ if (has_instance("1@ecl") == "") {
+ mes("It is closed shut.");
+ close();
+ }
+ if (.@party_id) {
+ .@md_name$ = _("Eclage Interior");
+ if (getpartyleader(.@party_id, 2) != getcharid(CHAR_ID_CHAR)) {
+ mes("-! Warning !-");
+ mes("This current quest will be held at Memorial dungeon.");
+ mes("Only the party leader will enter. Please create your party.");
+ close();
}
- if (.@party_id) {
- .@md_name$ = "Eclage Interior";
- if (getpartyleader(.@party_id,2) != getcharid(CHAR_ID_CHAR)){
- mes "-! Warning !-";
- mes "This current quest will be held at Memorial dungeon.";
- mes "Only the party leader will enter. Please create your party.";
- close;
- }
- if (gettimetick(2) >= ecl_interior_time){
- mes "[Shenime]";
- mes "Looks like the soldiers inside are really tense.";
- mes "It is pretty difficult to guide an outsider like you.";
- close;
- }
- close2;
- mapannounce "ecl_hub01",getpartyname(.@party_id) + " Party leader " + strcharinfo(PC_NAME) + " is entering " + .@md_name$,bc_map,"0x00ff99";
- warp "1@ecl",60,50;
- end;
+ if (gettimetick(2) >= ecl_interior_time) {
+ mes("[Shenime]");
+ mes("Looks like the soldiers inside are really tense.");
+ mes("It is pretty difficult to guide an outsider like you.");
+ close();
}
- mes "-! Warning !-";
- mes "This current quest will be held at Memorial dungeon.";
- mes "Only the party leader will enter. Please create your party.";
- close;
- case 2:
- close;
+ close2();
+ mapannounce("ecl_hub01", sprintf(_$("%s Party leader %s is entering %s"), getpartyname(.@party_id), strcharinfo(PC_NAME), .@md_name$), bc_map, C_SPRINGGREEN);
+ warp("1@ecl", 60, 50);
+ end;
+ }
+ mes("-! Warning !-");
+ mes("This current quest will be held at Memorial dungeon.");
+ mes("Only the party leader will enter. Please create your party.");
+ close();
+ case 2:
+ close();
}
}
- mes "This door connects to the plaza's ceiling.";
- mes "It's also a place where the lighting is set up to make Orb seem more beautiful.";
- mes "It is closed shut.";
- close;
+ mes("This door connects to the plaza's ceiling.");
+ mes("It's also a place where the lighting is set up to make Orb seem more beautiful.");
+ mes("It is closed shut.");
+ close();
}
1@ecl,58,69,3 script Shenime#ecl01 4_F_FAIRY,{
- mes "[Shenime]";
- mes "Oh, what's going on here?";
- mes "They destroyed additional troops that Mayor sent?";
- next;
+ mes("[Shenime]");
+ mes("Oh, what's going on here?");
+ mes("They destroyed additional troops that Mayor sent?");
+ next();
select("What...?", "I fought monsters off!");
- mes "[Shenime]";
- mes "It doesn't matter.";
- mes "Your job ends here.";
- mes "Now you became a betrayer.";
- mes "Farewell, then!";
- specialeffect EF_BEGINSPELL3;
- next;
- mes "[" + strcharinfo(PC_NAME) + "]";
- mes "No...way!!!";
- specialeffect2 EF_LORD;
- percentheal -99,0;
- soundeffect "wander_man_move.wav",1;
- sc_start SC_BLIND,60000,0;
- close2;
- warp "1@ecl",146,95;
+ mes("[Shenime]");
+ mes("It doesn't matter.");
+ mes("Your job ends here.");
+ mes("Now you became a betrayer.");
+ mes("Farewell, then!");
+ specialeffect(EF_BEGINSPELL3);
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("No...way!!!");
+ specialeffect(EF_LORD, AREA, playerattached());
+ percentheal(-99, 0);
+ soundeffect("wander_man_move.wav", 1);
+ sc_start(SC_BLIND, 60000, 0);
+ close2();
+ warp("1@ecl", 146, 95);
end;
OnInstanceInit:
- hideonnpc instance_npcname(strnpcinfo(NPC_NAME));
+ hideonnpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- hideoffnpc instance_npcname(strnpcinfo(NPC_NAME));
+ hideoffnpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
}
@@ -174,8 +171,9 @@ OnEnable:
1@ecl,42,80,5 script Suspicious Creature#5 MOROCC_2_142,{
end;
+
OnInstanceInit:
- hideonnpc instance_npcname(strnpcinfo(NPC_NAME));
+ hideonnpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
}
@@ -188,109 +186,113 @@ OnInstanceInit:
OnInstanceInit:
.mob_summoned = 0;
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- initnpctimer;
+ initnpctimer();
end;
OnReset:
- killmonster instance_mapname("1@ecl"),instance_npcname("#sndmaster")+"::OnMyMobDead";
- stopnpctimer;
+ killmonster(instance_mapname("1@ecl"), instance_npcname("#sndmaster")+"::OnMyMobDead");
+ stopnpctimer();
end;
+
OnTimer1000:
- mapannounce instance_mapname("1@ecl"),"Warning: Abnormal occurrence in the lighting room. Abnormal occurrence in the lighting room.",bc_map,"0xffff00"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@ecl"), _("Warning: Abnormal occurrence in the lighting room. Abnormal occurrence in the lighting room."), bc_map, C_YELLOW); //FW_NORMAL 12 0 0
end;
+
OnTimer2000:
- mapannounce instance_mapname("1@ecl"),"Suspicious Creature: Kerrrrr....krwahhhh!!",bc_map,"0xffff00"; //FW_NORMAL 12 0 0
- hideoffnpc instance_npcname("Suspicious Creature#5");
- hideoffnpc instance_npcname("Suspicious Creature#6");
- hideoffnpc instance_npcname("Suspicious Creature#7");
- hideoffnpc instance_npcname("Suspicious Creature#8");
+ mapannounce(instance_mapname("1@ecl"), _("Suspicious Creature: Kerrrrr....krwahhhh!!"), bc_map, C_YELLOW); //FW_NORMAL 12 0 0
+ hideoffnpc(instance_npcname("Suspicious Creature#5"));
+ hideoffnpc(instance_npcname("Suspicious Creature#6"));
+ hideoffnpc(instance_npcname("Suspicious Creature#7"));
+ hideoffnpc(instance_npcname("Suspicious Creature#8"));
end;
OnTimer3000:
- hideonnpc instance_npcname("#sndmaster");
- stopnpctimer;
+ hideonnpc(instance_npcname("#sndmaster"));
+ stopnpctimer();
end;
OnMyMobDead:
- if (mobcount(instance_mapname("1@ecl"),instance_npcname("#sndmaster")+"::OnMyMobDead") == 0) {
- donpcevent instance_npcname("Shenime#ecl01")+"::OnEnable";
- mapannounce instance_mapname("1@ecl"),"Shenime: Good, I got here just in time.",bc_map,"0xffff00"; //FW_NORMAL 12 0 0
+ if (mobcount(instance_mapname("1@ecl"), instance_npcname("#sndmaster")+"::OnMyMobDead") == 0) {
+ donpcevent(instance_npcname("Shenime#ecl01")+"::OnEnable");
+ mapannounce(instance_mapname("1@ecl"), _("Shenime: Good, I got here just in time."), bc_map, C_YELLOW); //FW_NORMAL 12 0 0
}
end;
OnTouch:
- if (.mob_summoned) end;
- mes "Upon eliminating the intruders near the Orb, another strange-looking creatures appeared.";
- next;
- mes "We couldn't communicate with them either, and one of them seemed furious after looking around and finding out that its fellows are defeated.";
- next;
- mes "[" + strcharinfo(PC_NAME) + "]";
- mes "They look as if they are incarnation of Morroc.";
- mes "Is the King of Domons after the Orb?";
- mes "Or is it just a coincidence?";
- next;
- mes "[Subordinate of the King of Demons]";
- mes "Kyaarr...Keraahhh!!!";
- mes "Kkwaaa!";
- next;
- mes "A battle cannot be avoided!";
- mes "They will kill me!";
- hideonnpc instance_npcname("Suspicious Creature#5");
- hideonnpc instance_npcname("Suspicious Creature#6");
- hideonnpc instance_npcname("Suspicious Creature#7");
- hideonnpc instance_npcname("Suspicious Creature#8");
+ if (.mob_summoned)
+ end;
+ mes("Upon eliminating the intruders near the Orb, another strange-looking creatures appeared.");
+ next();
+ mes("We couldn't communicate with them either, and one of them seemed furious after looking around and finding out that its fellows are defeated.");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("They look as if they are incarnation of Morroc.");
+ mes("Is the King of Domons after the Orb?");
+ mes("Or is it just a coincidence?");
+ next();
+ mes("[Subordinate of the King of Demons]");
+ mes("Kyaarr...Keraahhh!!!");
+ mes("Kkwaaa!");
+ next();
+ mes("A battle cannot be avoided!");
+ mes("They will kill me!");
+ hideonnpc(instance_npcname("Suspicious Creature#5"));
+ hideonnpc(instance_npcname("Suspicious Creature#6"));
+ hideonnpc(instance_npcname("Suspicious Creature#7"));
+ hideonnpc(instance_npcname("Suspicious Creature#8"));
.@eclmap$ = instance_mapname("1@ecl");
.@sndmaster$ = instance_npcname("#sndmaster");
- monster .@eclmap$,42,80,"Subordinate of the King of Demons",MOROCC_2_142,1,.@sndmaster$+"::OnMyMobDead";
- monster .@eclmap$,48,86,"Subordinate of the King of Demons",MOROCC_2_142,1,.@sndmaster$+"::OnMyMobDead";
- monster .@eclmap$,59,82,"Subordinate of the King of Demons",MOROCC_2_142,1,.@sndmaster$+"::OnMyMobDead";
- monster .@eclmap$,56,88,"Subordinate of the King of Demons",MOROCC_2_142,1,.@sndmaster$+"::OnMyMobDead";
- monster .@eclmap$,39,72,"Subordinate of the King of Demons",MOROCC_2_142,1,.@sndmaster$+"::OnMyMobDead";
- monster .@eclmap$,42,69,"Subordinate of the King of Demons",MOROCC_2_142,1,.@sndmaster$+"::OnMyMobDead";
- monster .@eclmap$,47,64,"Subordinate of the King of Demons",MOROCC_2_142,1,.@sndmaster$+"::OnMyMobDead";
- monster .@eclmap$,50,60,"Subordinate of the King of Demons",MOROCC_2_142,1,.@sndmaster$+"::OnMyMobDead";
+ monster(.@eclmap$, 42, 80, _("Subordinate of the King of Demons"), MOROCC_2_142, 1, .@sndmaster$+"::OnMyMobDead");
+ monster(.@eclmap$, 48, 86, _("Subordinate of the King of Demons"), MOROCC_2_142, 1, .@sndmaster$+"::OnMyMobDead");
+ monster(.@eclmap$, 59, 82, _("Subordinate of the King of Demons"), MOROCC_2_142, 1, .@sndmaster$+"::OnMyMobDead");
+ monster(.@eclmap$, 56, 88, _("Subordinate of the King of Demons"), MOROCC_2_142, 1, .@sndmaster$+"::OnMyMobDead");
+ monster(.@eclmap$, 39, 72, _("Subordinate of the King of Demons"), MOROCC_2_142, 1, .@sndmaster$+"::OnMyMobDead");
+ monster(.@eclmap$, 42, 69, _("Subordinate of the King of Demons"), MOROCC_2_142, 1, .@sndmaster$+"::OnMyMobDead");
+ monster(.@eclmap$, 47, 64, _("Subordinate of the King of Demons"), MOROCC_2_142, 1, .@sndmaster$+"::OnMyMobDead");
+ monster(.@eclmap$, 50, 60, _("Subordinate of the King of Demons"), MOROCC_2_142, 1, .@sndmaster$+"::OnMyMobDead");
.mob_summoned = 1;
- close;
+ close();
}
1@ecl,57,65,0 script #event HIDDEN_WARP_NPC,5,5,{
end;
OnTouch:
- if (.mob_summoned) end;
+ if (.mob_summoned)
+ end;
.@eclmap$ = instance_mapname("1@ecl");
.@eventname$ = instance_npcname("#event");
- mes "An empty room with nothing inside.";
- mes "a light is coming out of a circular equipment in the middle of the room.";
- next;
- mes "[Suspicious Creature]";
- mes "Keheehehehe......";
- next;
- mes "A group of unidentifiable creatures is approaching threateningly.";
- mes "They seemed surprised, and although Bifrost's will still holds, it's hard to communicate.";
- next;
- mes "[Suspicious Creature]";
- mes "Kyaarr...Ke...Keryarya!!";
- next;
- mes "It seems like they are going to start attacking any minute.";
- mes "We cannot help fighting them!";
- hideonnpc instance_npcname("Suspicious Creature#1");
- hideonnpc instance_npcname("Suspicious Creature#2");
- hideonnpc instance_npcname("Suspicious Creature#3");
- hideonnpc instance_npcname("Suspicious Creature#4");
- monster .@eclmap$,51,64,"Suspicious Creature",MOROCC_4_142,1,.@eventname$+"::OnMyMobDead";
- monster .@eclmap$,43,67,"Suspicious Creature",MOROCC_4_142,1,.@eventname$+"::OnMyMobDead";
- monster .@eclmap$,55,80,"Suspicious Creature",MOROCC_4_142,1,.@eventname$+"::OnMyMobDead";
- monster .@eclmap$,60,75,"Suspicious Creature",MOROCC_4_142,1,.@eventname$+"::OnMyMobDead";
+ mes("An empty room with nothing inside.");
+ mes("a light is coming out of a circular equipment in the middle of the room.");
+ next();
+ mes("[Suspicious Creature]");
+ mes("Keheehehehe......");
+ next();
+ mes("A group of unidentifiable creatures is approaching threateningly.");
+ mes("They seemed surprised, and although Bifrost's will still holds, it's hard to communicate.");
+ next();
+ mes("[Suspicious Creature]");
+ mes("Kyaarr...Ke...Keryarya!!");
+ next();
+ mes("It seems like they are going to start attacking any minute.");
+ mes("We cannot help fighting them!");
+ hideonnpc(instance_npcname("Suspicious Creature#1"));
+ hideonnpc(instance_npcname("Suspicious Creature#2"));
+ hideonnpc(instance_npcname("Suspicious Creature#3"));
+ hideonnpc(instance_npcname("Suspicious Creature#4"));
+ monster(.@eclmap$, 51, 64, _("Suspicious Creature"), MOROCC_4_142, 1, .@eventname$+"::OnMyMobDead");
+ monster(.@eclmap$, 43, 67, _("Suspicious Creature"), MOROCC_4_142, 1, .@eventname$+"::OnMyMobDead");
+ monster(.@eclmap$, 55, 80, _("Suspicious Creature"), MOROCC_4_142, 1, .@eventname$+"::OnMyMobDead");
+ monster(.@eclmap$, 60, 75, _("Suspicious Creature"), MOROCC_4_142, 1, .@eventname$+"::OnMyMobDead");
.mob_summoned = 1;
- close;
+ close();
OnMyMobDead:
- if (mobcount(instance_mapname("1@ecl"),instance_npcname("#event")+"::OnMyMobDead") == 0) {
- enablenpc instance_npcname("#sndmaster");
- donpcevent instance_npcname("#sndmaster")+"::OnEnable";
+ if (mobcount(instance_mapname("1@ecl"), instance_npcname("#event")+"::OnMyMobDead") == 0) {
+ enablenpc(instance_npcname("#sndmaster"));
+ donpcevent(instance_npcname("#sndmaster")+"::OnEnable");
}
end;
OnInstanceInit:
@@ -299,218 +301,218 @@ OnInstanceInit:
}
1@ecl,148,97,3 script Avant# 4_M_FAIRYAVANT,{
- mes "[Avant]";
- mes "Hey, look who's here!";
- mes "You're a friend of my son, right?";
- mes "What a strange chance it is that has brought us together here!";
- cutin "avant01",1;
- next;
- mes "[Avant]";
- mes "Did something happen to you?";
- mes "There was a subtle and magical echo to it.";
- mes "Immidiately after that, you were thrown here.";
- next;
+ mes("[Avant]");
+ mes("Hey, look who's here!");
+ mes("You're a friend of my son, right?");
+ mes("What a strange chance it is that has brought us together here!");
+ cutin("avant01", 1);
+ next();
+ mes("[Avant]");
+ mes("Did something happen to you?");
+ mes("There was a subtle and magical echo to it.");
+ mes("Immidiately after that, you were thrown here.");
+ next();
if (select("It's all because of you!", "Shenime said...") == 1) {
- mes "[Avant]";
- mes "I don't understand a word you're saying.";
- mes "Can't you organize your story? Don't you know 'five W's and one H' rule?";
- next;
+ mes("[Avant]");
+ mes("I don't understand a word you're saying.");
+ mes("Can't you organize your story? Don't you know 'five W's and one H' rule?");
+ next();
}
- mes "[Avant]";
- mes "Ooh...so that's what happened.";
- mes "So you're saying that Shenime was after the Orb?";
- next;
- mes "[Avant]";
- mes "hehehe...hahahhaha ahahahahha";
- mes "Well, well...did he get me, too?";
- mes "Me, Avant, of all the people?! Hahahaha!";
- cutin "avant02",1;
- next;
+ mes("[Avant]");
+ mes("Ooh...so that's what happened.");
+ mes("So you're saying that Shenime was after the Orb?");
+ next();
+ mes("[Avant]");
+ mes("hehehe...hahahhaha ahahahahha");
+ mes("Well, well...did he get me, too?");
+ mes("Me, Avant, of all the people?! Hahahaha!");
+ cutin("avant02", 1);
+ next();
select("What do you mean?");
- mes "[Avant]";
- mes "I was doing a research on the power of the Orb on my own.";
- mes "But Shenime just urged me persistently.";
- cutin "avant01",1;
- next;
- mes "[Avant]";
- mes "I started from thinking about the beauty of the Orb and went on to wondering what kind of power is accumulated inside the Orb...";
- mes "and I started questioning the principle of the Orb's power since we all benefit from it.";
- next;
- mes "[Avant]";
- mes "All Laphines think of the Orb as something natural as air and water, but he was the first one to make me perceive it differently and investigate its origin.";
- mes "Right...Shenime. He excited my curiosity on purpose.";
- next;
- mes "[Avant]";
- mes "Stimulate a person who wasn't aware of air and water, and make him recognize and carry on investigating!";
- mes "Well, well...isn't that interesting!";
- cutin "avant02",1;
- next;
- mes "[Avant]";
- mes "Ha...hahaha...";
- mes "...I'm so angry about the fact that I just realized how he used me, but what's even worse is that I've done something horrible to our people.";
- mes "I think I'm pretty irritated now.";
- next;
+ mes("[Avant]");
+ mes("I was doing a research on the power of the Orb on my own.");
+ mes("But Shenime just urged me persistently.");
+ cutin("avant01", 1);
+ next();
+ mes("[Avant]");
+ mes("I started from thinking about the beauty of the Orb and went on to wondering what kind of power is accumulated inside the Orb...");
+ mes("and I started questioning the principle of the Orb's power since we all benefit from it.");
+ next();
+ mes("[Avant]");
+ mes("All Laphines think of the Orb as something natural as air and water, but he was the first one to make me perceive it differently and investigate its origin.");
+ mes("Right...Shenime. He excited my curiosity on purpose.");
+ next();
+ mes("[Avant]");
+ mes("Stimulate a person who wasn't aware of air and water, and make him recognize and carry on investigating!");
+ mes("Well, well...isn't that interesting!");
+ cutin("avant02", 1);
+ next();
+ mes("[Avant]");
+ mes("Ha...hahaha...");
+ mes("...I'm so angry about the fact that I just realized how he used me, but what's even worse is that I've done something horrible to our people.");
+ mes("I think I'm pretty irritated now.");
+ next();
select("You had a conscience?");
- mes "[Avant]";
- mes "What kind of a person do you think I am, seriously!";
- mes "Is it because of my sons?";
- mes "Well, then, I can't blame you too much.";
- cutin "avant01",1;
- next;
- mes "[Avant]";
- mes "...Bah.";
- mes "It's no fun.";
- mes "It's not fun anymore. I'm no longer interested in you.";
- next;
- mes "[Avant]";
- mes "......";
- mes "Seems like there's a visitor.";
- next;
- cutin "minuel01",4;
- mes "[Minuel]";
- mes "" + strcharinfo(PC_NAME) + "Sir,";
- mes "Although you're detained on suspicion of being responsible for the recent incident in the lighting room,";
- mes "there are some witnesses to prove your innocence.";
- next;
- mes "[Minuel]";
- mes "I don't know the details,";
- mes "but I also believe you're not guilty.";
- mes "I'll move you to the treatment room since this seems like a severe wound.";
- next;
- mes "[Minuel]";
- mes "I don't think it's a big deal.";
- mes "...hopefully.";
- mes "Let's go. I'll guide you.";
- close2;
- cutin "",255;
- warp "1@ecl",146,29;
+ mes("[Avant]");
+ mes("What kind of a person do you think I am, seriously!");
+ mes("Is it because of my sons?");
+ mes("Well, then, I can't blame you too much.");
+ cutin("avant01", 1);
+ next();
+ mes("[Avant]");
+ mes("...Bah.");
+ mes("It's no fun.");
+ mes("It's not fun anymore. I'm no longer interested in you.");
+ next();
+ mes("[Avant]");
+ mes("......");
+ mes("Seems like there's a visitor.");
+ next();
+ cutin("minuel01", 4);
+ mes("[Minuel]");
+ mesf("%s Sir,", strcharinfo(PC_NAME));
+ mes("Although you're detained on suspicion of being responsible for the recent incident in the lighting room,");
+ mes("there are some witnesses to prove your innocence.");
+ next();
+ mes("[Minuel]");
+ mes("I don't know the details,");
+ mes("but I also believe you're not guilty.");
+ mes("I'll move you to the treatment room since this seems like a severe wound.");
+ next();
+ mes("[Minuel]");
+ mes("I don't think it's a big deal.");
+ mes("...hopefully.");
+ mes("Let's go. I'll guide you.");
+ close2();
+ cutin("", 255);
+ warp("1@ecl", 146, 29);
end;
}
1@ecl,148,29,3 script Loki#ecl01 4_M_ROKI2,{
- mes "[Loki]";
- mes "It seems like this guy next to me has a lot more to say than I do.";
- mes "Why don't you explain to him first?";
- close;
+ mes("[Loki]");
+ mes("It seems like this guy next to me has a lot more to say than I do.");
+ mes("Why don't you explain to him first?");
+ close();
}
1@ecl,147,30,3 script Nydhog#ecl01 4_F_NYDHOG,{
- mes "[Guardian Nydhog]";
- mes "I think you should talk to Hisie first.";
- close;
+ mes("[Guardian Nydhog]");
+ mes("I think you should talk to Hisie first.");
+ close();
}
1@ecl,144,27,5 script Hisie#ecl01 4_M_FARIY_HISIE,{
- cutin "hisie01",0;
- mes "[Hisie]";
- mes "Can you tell me exactly what happened?";
- next;
+ cutin("hisie01", 0);
+ mes("[Hisie]");
+ mes("Can you tell me exactly what happened?");
+ next();
select("I fought with monsters.");
- cutin "hisie03",0;
- mes "[Hisie]";
- mes "Monsters? Subordinates of Morroc?";
- mes "What you were trying to kill were our soldiers, the Laphines!!";
- mes "What on earth happened there?";
- npcskill AL_HEAL,9,99,80;
- next;
- cutin "",255;
- mes "[Loki]";
- mes "It's because of this.";
- mes "" + strcharinfo(PC_NAME) + "It was inside the body of -";
- mes "This is how powerful Shenime is.";
- next;
- mes "On Loki's palm, there rested a small, thin, and dried piece of thorn.";
- next;
- cutin "hisie03",0;
- mes "[Hisie]";
- mes "Shenime, the Chief of Staff?";
- mes "Why is he related to this?";
- npcskill AL_HEAL,9,99,80;
- next;
- cutin "",255;
- mes "[Loki]";
- mes "Shenime is one of the subordinates of Morroc.";
- mes "His power enbales him to control another person directly or mentally influence that person indirectly through a part of his body.";
- next;
+ cutin("hisie03", 0);
+ mes("[Hisie]");
+ mes("Monsters? Subordinates of Morroc?");
+ mes("What you were trying to kill were our soldiers, the Laphines!!");
+ mes("What on earth happened there?");
+ npcskill(AL_HEAL, 9, 99, 80);
+ next();
+ cutin("", 255);
+ mes("[Loki]");
+ mes("It's because of this.");
+ mesf("%s It was inside the body of -", strcharinfo(PC_NAME));
+ mes("This is how powerful Shenime is.");
+ next();
+ mes("On Loki's palm, there rested a small, thin, and dried piece of thorn.");
+ next();
+ cutin("hisie03", 0);
+ mes("[Hisie]");
+ mes("Shenime, the Chief of Staff?");
+ mes("Why is he related to this?");
+ npcskill(AL_HEAL, 9, 99, 80);
+ next();
+ cutin("", 255);
+ mes("[Loki]");
+ mes("Shenime is one of the subordinates of Morroc.");
+ mes("His power enbales him to control another person directly or mentally influence that person indirectly through a part of his body.");
+ next();
select("Now that I think about it...");
- mes "[" + strcharinfo(PC_NAME) + "]";
- mes "Right before coming here, Shenime reached his hand out to me and I felt a spark when I held his hand.";
- mes "I thought it was just my imagination and ignored it...maybe that's when he...";
- next;
- mes "[Nydhog]";
- mes "You're probably right.";
- mes "They use wicked tricks.";
- mes "This thorn here probably has clouded your judgement.";
- next;
- cutin "hisie03",0;
- mes "[Hisie]";
- mes "So you're saying that he deceived us all?";
- mes "The Chief of Staff is a Laphine who stayed with us for a long time! He can't be...";
- npcskill AL_HEAL,9,99,80;
- next;
- cutin "",255;
- mes "[Loki]";
- mes "He might have been under the influence for a good while.";
- mes "Anyway, this guy is not guilty.";
- mes "I can prove it.";
- next;
- mes "[Nydhog]";
- mes "I swear by the name of the guardian of Yggdrasil, too.";
- mes "" + strcharinfo(PC_NAME) + "- will by no means do such a thing.";
- next;
- cutin "hisie02",0;
- mes "[Hisie]";
- mes "Hah...";
- mes "But things got out of control.";
- mes "I didn't expect this.";
- next;
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Right before coming here, Shenime reached his hand out to me and I felt a spark when I held his hand.");
+ mes("I thought it was just my imagination and ignored it...maybe that's when he...");
+ next();
+ mes("[Nydhog]");
+ mes("You're probably right.");
+ mes("They use wicked tricks.");
+ mes("This thorn here probably has clouded your judgement.");
+ next();
+ cutin("hisie03", 0);
+ mes("[Hisie]");
+ mes("So you're saying that he deceived us all?");
+ mes("The Chief of Staff is a Laphine who stayed with us for a long time! He can't be...");
+ npcskill(AL_HEAL, 9, 99, 80);
+ next();
+ cutin("", 255);
+ mes("[Loki]");
+ mes("He might have been under the influence for a good while.");
+ mes("Anyway, this guy is not guilty.");
+ mes("I can prove it.");
+ next();
+ mes("[Nydhog]");
+ mes("I swear by the name of the guardian of Yggdrasil, too.");
+ mesf("%s - will by no means do such a thing.", strcharinfo(PC_NAME));
+ next();
+ cutin("hisie02", 0);
+ mes("[Hisie]");
+ mes("Hah...");
+ mes("But things got out of control.");
+ mes("I didn't expect this.");
+ next();
select("What happened to the Orb?");
- mes "[Hisie]";
- mes "The inner core is stolen.";
- mes "Nobody knows that the Orb's inner core is gone,";
- mes "and that's why Karr didn't make it here.";
- npcskill AL_HEAL,9,99,80;
- next;
- mes "[Hisie]";
- mes "And what's more, several soldiers are injured because of you.";
- mes "None of them died fortunately, but most of them are wounded severely.";
- mes "The situation is not very good right now.";
- next;
- cutin "",255;
- mes "[Loki]";
- mes "Someone has to take the responsibility here then.";
- mes "In all probablility," + strcharinfo(PC_NAME) + "it will be you.";
- next;
- cutin "hisie02",0;
- mes "[Hisie]";
- mes "......these two gentlemen here cleared up all charges related to the Orb,";
- mes "but both you and Karr won't be able to avoid your responsibility.";
- mes "you'll have to catch Shenime.";
- npcskill AL_HEAL,9,99,80;
- next;
- cutin "hisie01",0;
- mes "[Hisie]";
- mes "It seems like you've rested enough. Let's get going.";
- mes "Karr is waiting for you.";
- mes "What will you two do?";
- next;
- cutin "",255;
- mes "[Loki]";
- mes "Don't worry about us.";
- mes "Our target is Morroc, the King of Demons.";
- mes "It's good enough that we found an evidence here.";
- next;
- cutin "hisie01",0;
- mes "[Hisie]";
- mes "Thank you for your help.";
- mes "We will take off now.";
- mes "Let's go." + strcharinfo(PC_NAME) + ".";
+ mes("[Hisie]");
+ mes("The inner core is stolen.");
+ mes("Nobody knows that the Orb's inner core is gone,");
+ mes("and that's why Karr didn't make it here.");
+ npcskill(AL_HEAL, 9, 99, 80);
+ next();
+ mes("[Hisie]");
+ mes("And what's more, several soldiers are injured because of you.");
+ mes("None of them died fortunately, but most of them are wounded severely.");
+ mes("The situation is not very good right now.");
+ next();
+ cutin("", 255);
+ mes("[Loki]");
+ mes("Someone has to take the responsibility here then.");
+ mesf("In all probablility, %s it will be you.", strcharinfo(PC_NAME));
+ next();
+ cutin("hisie02", 0);
+ mes("[Hisie]");
+ mes("......these two gentlemen here cleared up all charges related to the Orb,");
+ mes("but both you and Karr won't be able to avoid your responsibility.");
+ mes("you'll have to catch Shenime.");
+ npcskill(AL_HEAL, 9, 99, 80);
+ next();
+ cutin("hisie01", 0);
+ mes("[Hisie]");
+ mes("It seems like you've rested enough. Let's get going.");
+ mes("Karr is waiting for you.");
+ mes("What will you two do?");
+ next();
+ cutin("", 255);
+ mes("[Loki]");
+ mes("Don't worry about us.");
+ mes("Our target is Morroc, the King of Demons.");
+ mes("It's good enough that we found an evidence here.");
+ next();
+ cutin("hisie01", 0);
+ mes("[Hisie]");
+ mes("Thank you for your help.");
+ mes("We will take off now.");
+ mesf("Let's go. %s.", strcharinfo(PC_NAME));
ep14_2_mylord = 30;
- changequest 7450,7451;
- erasequest 7450;
- setquest 7451;
- close2;
- cutin "",255;
- warp "ecl_in03",57,76;
+ changequest(7450, 7451);
+ erasequest(7450);
+ setquest(7451);
+ close2();
+ cutin("", 255);
+ warp("ecl_in03", 57, 76);
end;
}
diff --git a/npc/re/instances/HazyForest.txt b/npc/re/instances/HazyForest.txt
index c649171f8..24e03b22e 100644
--- a/npc/re/instances/HazyForest.txt
+++ b/npc/re/instances/HazyForest.txt
@@ -37,147 +37,148 @@
bif_fild01,158,340,5 script Laphine Soldier#mist 4_M_FAIRYSOLDIER,{
.@party_id = getcharid(CHAR_ID_PARTY);
- .@md_name$ = "Mistwood Maze";
+ .@md_name$ = _("Mistwood Maze");
- mes "[Laphine Soldier]";
- mes "Are you going into the forest?";
- next;
+ mes("[Laphine Soldier]");
+ mes("Are you going into the forest?");
+ next();
if (!.@party_id) {
- mes "[Laphine Soldier]";
- mes "Well, well, well, aren't you being too rash?";
- mes "Why don't you at least organize a party?";
- close;
+ mes("[Laphine Soldier]");
+ mes("Well, well, well, aren't you being too rash?");
+ mes("Why don't you at least organize a party?");
+ close();
}
- .@playtime = questprogress(7211,PLAYTIME);
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
+ .@playtime = questprogress(7211, PLAYTIME);
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2)) {
if (.@playtime == 1) {
- mes "[Laphine Soldier]";
- mes "...Are you sure you're not doing too much?";
- mes "I think you'd better get some rest.";
- mes "You'll only wear yourself out by trying to do too much";
- next;
- mes "[Laphine Soldier]";
- mes "I don't think the authority will give you permission, either.";
- mes "...Even a Sapha would be stopped from entering the forest.";
- next;
+ mes("[Laphine Soldier]");
+ mes("...Are you sure you're not doing too much?");
+ mes("I think you'd better get some rest.");
+ mes("You'll only wear yourself out by trying to do too much");
+ next();
+ mes("[Laphine Soldier]");
+ mes("I don't think the authority will give you permission, either.");
+ mes("...Even a Sapha would be stopped from entering the forest.");
+ next();
select("You speak our language quite well, don't you?");
- mes "[Laphine Soldier]";
- mes "...Do I?";
- mes "Actually I'm not speaking your language.";
- mes "I'm speaking Laphine language.";
- next;
- mes "[Laphine Soldier]";
- mes "But it's one of the mysteries of Bifrost.";
- mes "That we can understand each other even if we speak different languages.";
- next;
- mes "[Laphine Soldier]";
- mes "To be able to talk with everybody...";
- mes "Perhaps that's the power of Bifrost.";
- close;
+ mes("[Laphine Soldier]");
+ mes("...Do I?");
+ mes("Actually I'm not speaking your language.");
+ mes("I'm speaking Laphine language.");
+ next();
+ mes("[Laphine Soldier]");
+ mes("But it's one of the mysteries of Bifrost.");
+ mes("That we can understand each other even if we speak different languages.");
+ next();
+ mes("[Laphine Soldier]");
+ mes("To be able to talk with everybody...");
+ mes("Perhaps that's the power of Bifrost.");
+ close();
} else if (.@playtime == 2) {
- mes "[Laphine Soldier]";
- mes "Great, great.";
- mes "Now the forest won't reject you.";
- mes "What are you going to do now?";
- erasequest 7211;
+ mes("[Laphine Soldier]");
+ mes("Great, great.");
+ mes("Now the forest won't reject you.");
+ mes("What are you going to do now?");
+ erasequest(7211);
} else {
- mes "[Laphine Soldier]";
- mes "You human adventurers are incredible.";
- mes "You're always going into the forest, where no one else dares to go.";
- next;
- mes "[Laphine Soldier]";
- mes "Phew. But I have to report to the authority";
- mes "everyone who goes into the forest, just in case.";
- next;
- mes "[Laphine Soldier]";
- mes "You'll get permission";
- mes "after you register.";
- mes "Are you going to venture into the Hazy Forest?";
+ mes("[Laphine Soldier]");
+ mes("You human adventurers are incredible.");
+ mes("You're always going into the forest, where no one else dares to go.");
+ next();
+ mes("[Laphine Soldier]");
+ mes("Phew. But I have to report to the authority");
+ mes("everyone who goes into the forest, just in case.");
+ next();
+ mes("[Laphine Soldier]");
+ mes("You'll get permission");
+ mes("after you register.");
+ mes("Are you going to venture into the Hazy Forest?");
}
- next;
+ next();
switch(select("Venture into the Hazy Forest.", "Give up.")) {
case 1:
- mes "[Laphine Soldier]";
- mes "Party Name "+getpartyname(.@party_id)+"...";
- mes "Party Leader "+strcharinfo(PC_NAME)+"...";
+ mes("[Laphine Soldier]");
+ mesf("Party Name %s...", getpartyname(.@party_id));
+ mesf("Party Leader %s...", strcharinfo(PC_NAME));
.@instance = instance_create(.@md_name$, .@party_id);
- if (.@instance < 0) {
- mes "Hmm...";
- next;
- mes "[Laphine Soldier]";
- if (!.@playtime)
- mes "It's dangerous in the forest.";
- else
- mes "The atmosphere is somewhat tense in the forest.";
- mes "...Why don't you just go back today?";
- close;
- }
- if (instance_attachmap("1@mist",.@instance) != "") {
- instance_set_timeout 7200,300,.@instance;
+ if (.@instance >= 0) {
+ if (instance_attachmap("1@mist", .@instance) == "") {
+ mes("Hmm...");
+ next();
+ mes("[Laphine Soldier]");
+ if (!.@playtime)
+ mes("It's dangerous in the forest.");
+ else
+ mes("The atmosphere is somewhat tense in the forest.");
+ mes("...Why don't you just go back today?");
+ instance_destroy(.@instance);
+ close();
+ }
+ instance_set_timeout(7200, 300, .@instance);
instance_init(.@instance);
- mes "I've got it. I've written them down on the report here.";
- next;
- mes "[Laphine Soldier]";
- mes "You'll get permission soon.";
- mes "Now go to the log tunnel, the only way to get into the Hazy Forest.";
- mes "You understand?";
- next;
- mes "[Laphine Soldier]";
- mes "We can't go against the forest,";
- mes "but maybe you humans can.";
- mes "Good luck!";
- close;
- } else {
- instance_destroy(.@instance);
}
+ mes("I've got it. I've written them down on the report here.");
+ next();
+ mes("[Laphine Soldier]");
+ mes("You'll get permission soon.");
+ mes("Now go to the log tunnel, the only way to get into the Hazy Forest.");
+ mes("You understand?");
+ next();
+ mes("[Laphine Soldier]");
+ mes("We can't go against the forest,");
+ mes("but maybe you humans can.");
+ mes("Good luck!");
+ close();
case 2:
- mes "[Laphine Soldier]";
- mes "Well, you've made the right decision.";
+ mes("[Laphine Soldier]");
+ mes("Well, you've made the right decision.");
if (!.@playtime)
- mes "That's what's good for you.";
- close;
+ mes("That's what's good for you.");
+ close();
}
} else {
- mes "[Laphine Soldier]";
- mes "Where's your party leader?";
- mes "It's dangerous in there.";
- next;
+ mes("[Laphine Soldier]");
+ mes("Where's your party leader?");
+ mes("It's dangerous in there.");
+ next();
if (.@playtime == 2) {
- mes "[Laphine Soldier]";
- mes "I see you've been into the forest before.";
- mes "Okay, at least the forest won't reject you.";
- mes "However...";
- erasequest 7211;
- next;
+ mes("[Laphine Soldier]");
+ mes("I see you've been into the forest before.");
+ mes("Okay, at least the forest won't reject you.");
+ mes("However...");
+ erasequest(7211);
+ next();
}
- mes "[Laphine Soldier]";
- mes "Put yourself in my shoes, the entrance guard, and let me meet the representative of your party.";
- mes "I have to discuss some things with him/her.";
- close;
+ mes("[Laphine Soldier]");
+ mes("Put yourself in my shoes, the entrance guard, and let me meet the representative of your party.");
+ mes("I have to discuss some things with him/her.");
+ close();
}
}
bif_fild01,161,355,0 script Log Tunnel CLEAR_NPC,{
- mes "I see the forest through the log tunnel.";
- mes "It looks like I can enter the forest through the log tunnel.";
- next;
- if(select("Enter the tunnel.", "Give up.") == 2)
- close;
+ mes("I see the forest through the log tunnel.");
+ mes("It looks like I can enter the forest through the log tunnel.");
+ next();
+ if (select("Enter the tunnel.", "Give up.") == 2)
+ close();
if (has_instance("1@mist") == "") {
- if (questprogress(7211,PLAYTIME) == 1) {
- mes "You try to crawl into the log, but some mysterious power pushes you back with a gush of wind.";
- mes "It seems like you can't force your way into the forest.";
- close;
+ if (questprogress(7211, PLAYTIME) == 1) {
+ mes("You try to crawl into the log, but some mysterious power pushes you back with a gush of wind.");
+ mes("It seems like you can't force your way into the forest.");
+ close();
}
- mes "The world beyond the log tunnel looks dark and suffocating.";
- mes "Your instinct is screaming that this forest is dangerous.";
- close;
+ mes("The world beyond the log tunnel looks dark and suffocating.");
+ mes("Your instinct is screaming that this forest is dangerous.");
+ close();
} else {
- if (questprogress(7211,PLAYTIME) == 2) erasequest 7211;
- if (!questprogress(7211,PLAYTIME)) setquest 7211;
- mapannounce "bif_fild01",getpartyname(getcharid(CHAR_ID_PARTY))+" party's "+strcharinfo(PC_NAME)+" member is entering the Mistwood Maze.",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
- warp "1@mist",89,29;
- close;
+ if (questprogress(7211, PLAYTIME) == 2)
+ erasequest(7211);
+ if (!questprogress(7211, PLAYTIME))
+ setquest(7211);
+ mapannounce("bif_fild01", sprintf(_$("%s party's %s member is entering the Mistwood Maze."), getpartyname(getcharid(CHAR_ID_PARTY)), strcharinfo(PC_NAME)), bc_map, C_SPRINGGREEN); //FW_NORMAL 12 0 0
+ warp("1@mist", 89, 29);
+ close();
}
}
@@ -185,284 +186,325 @@ bif_fild01,161,355,0 script Log Tunnel CLEAR_NPC,{
1@mist,89,29,0 script #Whisper_mist CLEAR_NPC,1,1,{
end;
OnInstanceInit:
- enablenpc instance_npcname("#Whisper_mist");
+ enablenpc(instance_npcname("#Whisper_mist"));
end;
OnTouch:
- disablenpc instance_npcname("#Whisper_mist");
- initnpctimer;
+ disablenpc(instance_npcname("#Whisper_mist"));
+ initnpctimer();
end;
OnTimer10000:
OnTimer20000:
- mapannounce instance_mapname("1@mist"),"Whisper: Who's this? Who's this!? The forest is open! Tom, Tomba, Tired Rem, Remi! Wake up!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@mist"), _("Whisper: Who's this? Who's this!? The forest is open! Tom, Tomba, Tired Rem, Remi! Wake up!"), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
end;
OnTimer60000:
- mapannounce instance_mapname("1@mist"),"Loud Whisper: What are the forest keepers doing? What are the gardeners doing??",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@mist"), _("Loud Whisper: What are the forest keepers doing? What are the gardeners doing??"), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
end;
OnTimer120000:
- mapannounce instance_mapname("1@mist"),"Loud Whisper: Don't go out, wander around forever, and play with us!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@mist"), _("Loud Whisper: Don't go out, wander around forever, and play with us!"), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
end;
OnTimer180000:
- mapannounce instance_mapname("1@mist"),"Loud Whisper: Useless, useless. Wandering around and around, you'll meet your end!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
- stopnpctimer;
+ mapannounce(instance_mapname("1@mist"), _("Loud Whisper: Useless, useless. Wandering around and around, you'll meet your end!"), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
+ stopnpctimer();
end;
}
-// callfunc "F_Mora_Mist",<warp to enable>,<success message>,<fail message>{,<end flag>}
+// callfunc("F_Mora_Mist", <warp to enable>, <success message>, <fail message>{, <end flag>})
function script F_Mora_Mist {
.@map$ = instance_mapname("1@mist");
- if (mobcount(.@map$,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") == 0) {
- mes "Obviously no one is taking care of it.";
- mes "It seems like you can chop down the garden tree.";
- next;
- if(select("Chop down the garden tree.", "Give up.") == 2)
- close;
- mes "You chop down the tree, which was blocking the path of the maze, "+((getarg(3,0))?"clearing the way out of the forest.":"so now you can continue.");
- mapannounce .@map$,getarg(1),bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
- enablenpc instance_npcname(getarg(0));
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- close;
- } else
- mapannounce .@map$,((getarg(3,0))?getarg(2):getarg(2)+"'s Cry: Huh? Who's doing bad things to my tree?!"),bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ if (mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") == 0) {
+ mes("Obviously no one is taking care of it.");
+ mes("It seems like you can chop down the garden tree.");
+ next();
+ if (select("Chop down the garden tree.", "Give up.") == 2)
+ close();
+ mesf("You chop down the tree, which was blocking the path of the maze, %s", ((getarg(3, 0))?"clearing the way out of the forest.":"so now you can continue."));
+ mapannounce(.@map$, getarg(1), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
+ enablenpc(instance_npcname(getarg(0)));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
+ close();
+ } else {
+ mapannounce(.@map$, (getarg(3, 0) ? getarg(2) : sprintf(_$("%s's Cry: Huh? Who's doing bad things to my tree?!"), getarg(2))), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
+ }
+ end;
+}
+
+1@mist,251,121,3 script Tom's Garden 4_BULLETIN_BOARD2,{
end;
}
-1@mist,251,121,3 script Tom's Garden 4_BULLETIN_BOARD2,{ end; }
1@mist,247,123,0 script Tom's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"a25_a18-1",
"Roaring Cry: Tom's bolt is broken! Watch out, Tomba! Watch out, Tomba!",
- "Tom";
+ "Tom");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),249,120,"Tom",2136,1,instance_npcname("Tom's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 249, 120, _("Tom"), LITTLE_FATUM, 1, instance_npcname("Tom's Garden Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
-1@mist,226,95,3 script Tomba's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,226,95,3 script Tomba's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,225,98,0 script Tomba's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"a27-2_af1-2",
"Roaring Cry: Tomba's Garden Tree is gone with Tomba. Remi, what are you going to do now?",
- "Tomba";
+ "Tomba");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),200,64,"Tomba",2136,1,instance_npcname("Tomba's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 200, 64, _("Tomba"), LITTLE_FATUM, 1, instance_npcname("Tomba's Garden Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
-1@mist,157,183,3 script Remi's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,157,183,3 script Remi's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,159,184,0 script Remi's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"a15-2_a4-1",
"Roaring Cry: Remi, Remi's Garden Tree was chopped down- Rem, it's your turn next. Poor Rem!",
- "Remi";
+ "Remi");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),154,184,"Remi the Tired",2137,1,instance_npcname("Remi's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 154, 184, _("Remi the Tired"), MIMING, 1, instance_npcname("Remi's Garden Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
-1@mist,58,39,3 script Tired Rem's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,58,39,3 script Tired Rem's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,61,39,0 script Tired Rem's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"a4-2_a11",
"Rem's Desperate Cry: Argh... Rem will sleep. Rem will sleep now, and won't wake up forever!",
- "Rem";
+ "Rem");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),101,107,"Rem the Gardener",2136,1,instance_npcname("Tired Rem's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 101, 107, _("Rem the Gardener"), LITTLE_FATUM, 1, instance_npcname("Tired Rem's Garden Tree")+"::OnMyMobDead");
end;
OnTimer10000:
- mapannounce instance_mapname("1@mist"),"Whisper of the Forest: So Tom's, Tomba's, Remi's, and Rem's garden trees were all chopped down?",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@mist"), _("Whisper of the Forest: So Tom's, Tomba's, Remi's, and Rem's garden trees were all chopped down?"), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
end;
OnTimer15000:
- mapannounce instance_mapname("1@mist"),"Whisper of the Forest: Trouble, trouble, we're in big trouble.",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@mist"), _("Whisper of the Forest: Trouble, trouble, we're in big trouble."), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
end;
OnTimer20000:
- mapannounce instance_mapname("1@mist"),"Loud Whisper: They've come to the second deepest forest. Gardeners of the deep forest, watch out!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
- stopnpctimer;
+ mapannounce(instance_mapname("1@mist"), _("Loud Whisper: They've come to the second deepest forest. Gardeners of the deep forest, watch out!"), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
+ stopnpctimer();
end;
OnMyMobDead:
end;
}
-1@mist,227,179,3 script Ron's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,227,179,3 script Ron's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,230,179,0 script Ron's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"b4-2_b2",
"Ron the Gardener's Cry: I'm getting off work! Don't look for Ron, the second gardener, any more!!",
- "Ron";
+ "Ron");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),227,178,"Ron the Gardener",2134,1,instance_npcname("Ron's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 227, 178, _("Ron the Gardener"), PARUS, 1, instance_npcname("Ron's Garden Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
-1@mist,288,226,3 script Rover's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,288,226,3 script Rover's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,285,225,0 script Rover's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"b7_bf1-2",
"Roaring Whisper: Ron's, and Rover's trees were chopped down as well. Who is forcing his way into the forest? Who is it?",
- "Rover";
+ "Rover");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),304,237,"Rover the Strutter",2134,1,instance_npcname("Rover's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 304, 237, _("Rover the Strutter"), PARUS, 1, instance_npcname("Rover's Garden Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
-1@mist,159,318,3 script Mona's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,159,318,3 script Mona's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,161,316,0 script Mona's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"b31_b16",
"Clamoring Whisper: Mona the Seedseeker's garden tree is gone! Mona is gone too! Namon will be okay, because he is brave, right? Namon, are you okay?",
- "Mona";
+ "Mona");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),239,253,"Mona the Seedseeker",2133,1,instance_npcname("Mona's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 239, 253, _("Mona the Seedseeker"), ANGRA_MANTIS, 1, instance_npcname("Mona's Garden Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
-1@mist,205,300,3 script Namon's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,205,300,3 script Namon's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,204,299,0 script Namon's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"b27-3_bN-1",
"Clamoring Whisper: Brave Namon met his fate not so bravely... *giggle*",
- "Namon";
+ "Namon");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),89,173,"Brave Namon",2134,1,instance_npcname("Namon's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 89, 173, _("Brave Namon"), PARUS, 1, instance_npcname("Namon's Garden Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
-1@mist,219,232,3 script Sad Neoron's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,219,232,3 script Sad Neoron's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,221,236,0 script Sad Neoron's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"b6-1_b33",
"Lamenting Whisper: Sad Neoron has become cheerful! Spyder the Superior Spider, what are you going to do? What are you going to do now?",
- "Neoron";
+ "Neoron");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),143,265,"Sad Neoron",2137,1,instance_npcname("Sad Neoron's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 143, 265, _("Sad Neoron"), MIMING, 1, instance_npcname("Sad Neoron's Garden Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
-1@mist,206,202,3 script Spyder's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,206,202,3 script Spyder's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,206,200,0 script Spyder's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"b5_b14",
"Depressed Whisper: Now it's all over with the second deepest forest. Gardeners are dying out-",
- "Spyder";
+ "Spyder");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),209,200,"Spyder the Eight-Legged",2132,1,instance_npcname("Spyder's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 209, 200, _("Spyder the Eight-Legged"), POM_SPIDER, 1, instance_npcname("Spyder's Garden Tree")+"::OnMyMobDead");
end;
OnTimer5000:
- mapannounce instance_mapname("1@mist"),"Roaring Whisper: The path is about to open. The tight bolts have been removed!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@mist"), _("Roaring Whisper: The path is about to open. The tight bolts have been removed!"), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
end;
OnTimer9000:
- mapannounce instance_mapname("1@mist"),"Roaring Whisper: A forest opened, another opened, and the other is going to open as well. Tito and Pumba, they are heading your way!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@mist"), _("Roaring Whisper: A forest opened, another opened, and the other is going to open as well. Tito and Pumba, they are heading your way!"), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
end;
OnTimer13000:
- mapannounce instance_mapname("1@mist"),"Roaring Whisper: Where you get after wandering around, around and around, everybody you've met while wandering around, around and around,",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ mapannounce(instance_mapname("1@mist"), _("Roaring Whisper: Where you get after wandering around, around and around, everybody you've met while wandering around, around and around,"), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
end;
OnTimer17000:
- mapannounce instance_mapname("1@mist"),"Roaring Whisper: all the gardeners will be waiting for you, with their clippers in their hands-!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
- stopnpctimer;
+ mapannounce(instance_mapname("1@mist"), _("Roaring Whisper: all the gardeners will be waiting for you, with their clippers in their hands-!"), bc_map, "0xccffcc"); //FW_NORMAL 12 0 0
+ stopnpctimer();
end;
OnMyMobDead:
end;
}
-1@mist,96,288,3 script Tito's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,96,288,3 script Tito's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,95,287,0 script Tito's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"c1_c13-1",
"Tito's Cry: *sob* *sob* Tito's gone now! Tito's done for! Boo hoo!!",
- "Tito";
+ "Tito");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),264,291,"Tito the Flipper",2133,1,instance_npcname("Tito's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 264, 291, _("Tito the Flipper"), ANGRA_MANTIS, 1, instance_npcname("Tito's Garden Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
-1@mist,326,325,3 script Pumba's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,326,325,3 script Pumba's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,324,325,0 script Pumba's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"c13-3_c4",
"Roaring Whisper: Tito the Hard Worker was defeated! Stop playing and go to work, Tete! Start working!",
- "Pumba";
+ "Pumba");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),309,165,"Diligent Pumba",2134,1,instance_npcname("Pumba's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 309, 165, _("Diligent Pumba"), PARUS, 1, instance_npcname("Pumba's Garden Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
-1@mist,278,345,3 script Tete's Garden 4_BULLETIN_BOARD2,{ end; }
+1@mist,278,345,3 script Tete's Garden 4_BULLETIN_BOARD2,{
+ end;
+}
+
1@mist,280,344,0 script Tete's Garden Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"c19_c4",
"Whisper: They are strong, strong indeed. What are we going to do now? Are there any gardeners left? Are there any?",
- "Tete";
+ "Tete");
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),277,343,"Carefree Tete",2136,1,instance_npcname("Tete's Garden Tree")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 277, 343, _("Carefree Tete"), LITTLE_FATUM, 1, instance_npcname("Tete's Garden Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
1@mist,345,186,0 script The Gardeners' Tree 4_CREEPER,{
- callfunc "F_Mora_Mist",
+ callfunc("F_Mora_Mist",
"#to_bif02",
"Roaring Whisper: The forest will remember you! It will remember you, the one who broke the clippers of all the gardeners!",
- "Gardeners: We're not dead, yet!!!!",1;
+ "Gardeners: We're not dead, yet!!!!", 1);
end;
OnInstanceInit:
.@map$ = instance_mapname("1@mist");
- monster .@map$,318,137,"Baby Tom",2136,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,321,137,"Tomba the Baby",2136,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,324,137,"Exhausted Remi",2137,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,319,135,"Rem the Exhausted",2136,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,323,135,"Ron the Ex-Gardener",2134,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,320,133,"Rover the Strutter",2134,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,323,133,"Mona the Seedpicker",2133,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,317,132,"Timid Namon",2134,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,326,132,"Indifferent Neoron",2137,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,317,129,"Spyder the Seven-Legged",2132,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,320,129,"Tito the Flapper",2133,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,324,129,"Lazy Pumba",2134,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
- monster .@map$,327,129,"Careless Tete",2136,1,instance_npcname("The Gardeners' Tree")+"::OnMyMobDead";
+ monster(.@map$, 318, 137, _("Baby Tom"), LITTLE_FATUM, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 321, 137, _("Tomba the Baby"), LITTLE_FATUM, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 324, 137, _("Exhausted Remi"), MIMING, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 319, 135, _("Rem the Exhausted"), LITTLE_FATUM, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 323, 135, _("Ron the Ex-Gardener"), PARUS, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 320, 133, _("Rover the Strutter"), PARUS, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 323, 133, _("Mona the Seedpicker"), ANGRA_MANTIS, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 317, 132, _("Timid Namon"), PARUS, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 326, 132, _("Indifferent Neoron"), MIMING, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 317, 129, _("Spyder the Seven-Legged"), POM_SPIDER, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 320, 129, _("Tito the Flapper"), ANGRA_MANTIS, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 324, 129, _("Lazy Pumba"), PARUS, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
+ monster(.@map$, 327, 129, _("Careless Tete"), LITTLE_FATUM, 1, instance_npcname("The Gardeners' Tree")+"::OnMyMobDead");
end;
OnMyMobDead:
end;
}
1@mist,73,290,0 script Mysterious Flower#1 CLEAR_NPC,{
- specialeffect EF_LEVEL99_4;
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- getitem Mysterious_Seed,1;
+ specialeffect(EF_LEVEL99_4);
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
+ getitem(Mysterious_Seed, 1);
end;
}
+
1@mist,69,295,0 duplicate(Mysterious Flower#1) Mysterious Flower#2 CLEAR_NPC
1@mist,62,291,0 duplicate(Mysterious Flower#1) Mysterious Flower#3 CLEAR_NPC
1@mist,54,293,0 duplicate(Mysterious Flower#1) Mysterious Flower#4 CLEAR_NPC
@@ -516,420 +558,432 @@ OnMyMobDead:
1@mist,2,2,0 script #Dragon Herder CLEAR_NPC,{
end;
OnInstanceInit:
- switch(rand(1,6)) {
- case 1: setarray .@c[0],77,240; break;
- case 2: setarray .@c[0],147,261; break;
- case 3: setarray .@c[0],182,263; break;
- case 4: setarray .@c[0],194,350; break;
- case 5: setarray .@c[0],268,183; break;
- case 6: setarray .@c[0],65,278; break;
+ switch (rand(1, 6)) {
+ case 1:
+ setarray .@c[0], 77, 240;
+ break;
+ case 2:
+ setarray .@c[0], 147, 261;
+ break;
+ case 3:
+ setarray .@c[0], 182, 263;
+ break;
+ case 4:
+ setarray .@c[0], 194, 350;
+ break;
+ case 5:
+ setarray .@c[0], 268, 183;
+ break;
+ case 6:
+ setarray .@c[0], 65, 278;
+ break;
}
- monster instance_mapname("1@mist"),.@c[0],.@c[1],"Wandering Purple Dragon",2131,1,instance_npcname("#Dragon Herder")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), .@c[0], .@c[1], _("Wandering Purple Dragon"), LOST_DRAGON, 1, instance_npcname("#Dragon Herder")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@mist");
- if (mobcount(.@map$,instance_npcname("#Dragon Herder")+"::OnMyMobDead") == 0) {
- donpcevent instance_npcname("Collapsed Girl#mist")+"::OnEnable";
- donpcevent instance_npcname("Mysterious Young Man#mis")+"::OnEnable";
- donpcevent instance_npcname("Loki#mist")+"::OnEnable";
- mapannounce .@map$,"The Dragon's Cry: Am I being punished... for abandoning the way... of the guardian...?",bc_map,"0xffff00"; //FW_NORMAL 12 0 0
- disablenpc instance_npcname("#Dragon Herder");
- initnpctimer;
+ if (mobcount(.@map$, instance_npcname("#Dragon Herder")+"::OnMyMobDead") == 0) {
+ donpcevent(instance_npcname("Collapsed Girl#mist")+"::OnEnable");
+ donpcevent(instance_npcname("Mysterious Young Man#mis")+"::OnEnable");
+ donpcevent(instance_npcname("Loki#mist")+"::OnEnable");
+ mapannounce(.@map$, _("The Dragon's Cry: Am I being punished... for abandoning the way... of the guardian...?"), bc_map, C_YELLOW); //FW_NORMAL 12 0 0
+ disablenpc(instance_npcname("#Dragon Herder"));
+ initnpctimer();
}
end;
OnTimer3000:
- stopnpctimer;
- mapannounce instance_mapname("1@mist"),"Voice in your head: ...Will you... save... me... please......?",bc_map,"0xffff00"; //FW_NORMAL 12 0 0
+ stopnpctimer();
+ mapannounce(instance_mapname("1@mist"), _("Voice in your head: ...Will you... save... me... please......?"), bc_map, C_YELLOW); //FW_NORMAL 12 0 0
end;
}
1@mist,97,30,3 script Mysterious Young Man#mis 4_M_ROKI2,{
if (BaseLevel < 98) {
- mes "[Mysterious Young Man]";
- mes "Huh? Do you plan to pass through here?";
- mes ".....I'm afraid it's beyond your ability, but I won't meddle in your affairs.";
- mes "We'll meet again, if you survive.";
- close;
+ mes("[Mysterious Young Man]");
+ mes("Huh? Do you plan to pass through here?");
+ mes(".....I'm afraid it's beyond your ability, but I won't meddle in your affairs.");
+ mes("We'll meet again, if you survive.");
+ close();
}
if (ep14_1_mistwoods == 0) {
if (ep13_3_secret > 23) {
- mes "[Mysterious Young Man]";
- mes "You... I remember seeing you at the camp.";
- mes "The information you gave on Ahat was useful.";
- mes "Thanks!";
- next;
- mes "[Mysterious Young Man]";
- mes "But do you plan to pass through here?";
- mes "What good is it to go across Bifrost?";
- next;
+ mes("[Mysterious Young Man]");
+ mes("You... I remember seeing you at the camp.");
+ mes("The information you gave on Ahat was useful.");
+ mes("Thanks!");
+ next();
+ mes("[Mysterious Young Man]");
+ mes("But do you plan to pass through here?");
+ mes("What good is it to go across Bifrost?");
+ next();
} else {
- mes "[Mysterious Young Man]";
- mes "Do you plan to pass through here?";
- mes "I will advise against it if you're just curious.";
- mes "It will only bring about your untimely death...";
- next;
+ mes("[Mysterious Young Man]");
+ mes("Do you plan to pass through here?");
+ mes("I will advise against it if you're just curious.");
+ mes("It will only bring about your untimely death...");
+ next();
}
- mes "[Mysterious Young Man]";
- mes "If you are determined to pass through here,";
- mes "I will ask for your help with something.";
- next;
+ mes("[Mysterious Young Man]");
+ mes("If you are determined to pass through here,");
+ mes("I will ask for your help with something.");
+ next();
select("Who are you?");
- mes "[Loki]";
- mes "Loki... from the Assassin's Guild.";
- mes "That's my name.";
- mes "And yours?";
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "....";
- mes "...."+strcharinfo(PC_NAME)+" sir.";
- next;
- mes "[Loki]";
- mes "I see. "+strcharinfo(PC_NAME)+".";
- mes "I'm asking you again.";
- mes "Do you plan to pass through this forest?";
- next;
+ mes("[Loki]");
+ mes("Loki... from the Assassin's Guild.");
+ mes("That's my name.");
+ mes("And yours?");
+ next();
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("....");
+ mesf("....%s sir.", strcharinfo(PC_NAME));
+ next();
+ mes("[Loki]");
+ mesf("I see. %s.", strcharinfo(PC_NAME));
+ mes("I'm asking you again.");
+ mes("Do you plan to pass through this forest?");
+ next();
switch(select("Yes, I do.", "No, I don't.")) {
case 1:
- mes "[Loki]";
- mes "Then I'll ask you a question.";
- mes "Have you ever seen a guard... a girl with purple hair?";
- next;
+ mes("[Loki]");
+ mes("Then I'll ask you a question.");
+ mes("Have you ever seen a guard... a girl with purple hair?");
+ next();
switch(select("No, I haven't.", "Yes, I might have...")) {
case 1:
- mes "[Loki]";
- mes "So you haven't.";
- mes "You're telling the truth.";
- next;
+ mes("[Loki]");
+ mes("So you haven't.");
+ mes("You're telling the truth.");
+ next();
break;
case 2:
- mes "[Loki]";
- mes "Wait.";
- mes "(Loki comes closer.)";
- mes "... No.";
- mes "You're telling the truth.";
- next;
+ mes("[Loki]");
+ mes("Wait.");
+ mes("(Loki comes closer.)");
+ mes("... No.");
+ mes("You're telling the truth.");
+ next();
break;
}
- mes "[Loki]";
- mes "Now we have to say goodbye here.";
- mes "If you survive this forest, of course.";
+ mes("[Loki]");
+ mes("Now we have to say goodbye here.");
+ mes("If you survive this forest, of course.");
ep14_1_mistwoods = 2;
- setquest 7212;
- close;
+ setquest(7212);
+ close();
case 2:
- mes "[Loki]";
- mes "I understand.";
- mes "Step back if you aren't ready.";
- mes "This forest doesn't like strangers.";
+ mes("[Loki]");
+ mes("I understand.");
+ mes("Step back if you aren't ready.");
+ mes("This forest doesn't like strangers.");
ep14_1_mistwoods = 1;
- close;
+ close();
}
} else if (ep14_1_mistwoods == 1) {
- mes "[Loki]";
- mes "I told you - step back if you don't want to die.";
- mes "It's not easy going through the forest.";
- mes "It may cost you your life.";
- next;
+ mes("[Loki]");
+ mes("I told you - step back if you don't want to die.");
+ mes("It's not easy going through the forest.");
+ mes("It may cost you your life.");
+ next();
switch(select("Okay.", "What do you want?")) {
case 1:
- mes "- When you step back,";
- mes "Loki nods slightly and then looks away. -";
- close;
+ mes("- When you step back,");
+ mes("Loki nods slightly and then looks away. -");
+ close();
case 2:
- mes "[Loki]";
- mes "I'm looking for somebody.";
- mes "Have you ever seen a guard... a girl with purple hair?";
- next;
+ mes("[Loki]");
+ mes("I'm looking for somebody.");
+ mes("Have you ever seen a guard... a girl with purple hair?");
+ next();
switch(select("No, I haven't.", "Yes, I might have...")) {
case 1:
- mes "[Loki]";
- mes "So you haven't.";
- mes "You're telling the truth.";
- next;
+ mes("[Loki]");
+ mes("So you haven't.");
+ mes("You're telling the truth.");
+ next();
break;
case 2:
- mes "[Loki]";
- mes "Wait.";
- mes "(Loki comes closer.)";
- mes "... No.";
- mes "You're telling the truth.";
- next;
+ mes("[Loki]");
+ mes("Wait.");
+ mes("(Loki comes closer.)");
+ mes("... No.");
+ mes("You're telling the truth.");
+ next();
break;
}
- mes "[Loki]";
- mes "Now we have to say goodbye here.";
- mes "Hopefully, we will see each other again in Mora.";
+ mes("[Loki]");
+ mes("Now we have to say goodbye here.");
+ mes("Hopefully, we will see each other again in Mora.");
ep14_1_mistwoods = 2;
- setquest 7212;
- close;
+ setquest(7212);
+ close();
}
} else if (ep14_1_mistwoods == 2) {
- mes "[Loki]";
- mes "I don't want to go with you.";
- mes "Hopefully, we will see each other again in Mora.";
- close;
+ mes("[Loki]");
+ mes("I don't want to go with you.");
+ mes("Hopefully, we will see each other again in Mora.");
+ close();
} else if (ep14_1_mistwoods == 3) {
- mes "[Loki]";
- mes "So we meet again.";
- mes "Are you used to this place?";
- mes "Come to the inn in Mora.";
- mes "I have something to give to you.";
- close;
+ mes("[Loki]");
+ mes("So we meet again.");
+ mes("Are you used to this place?");
+ mes("Come to the inn in Mora.");
+ mes("I have something to give to you.");
+ close();
} else {
- mes "[Loki]";
- mes "We're seeing a lot of each other these days.";
- mes "It seems you are completely comfortable with the place.";
- mes "You'd better not be too proud of yourself.";
- close;
+ mes("[Loki]");
+ mes("We're seeing a lot of each other these days.");
+ mes("It seems you are completely comfortable with the place.");
+ mes("You'd better not be too proud of yourself.");
+ close();
}
end;
OnEnable:
- enablenpc instance_npcname("Mysterious Young Man#mis");
+ enablenpc(instance_npcname("Mysterious Young Man#mis"));
end;
OnDisable:
- disablenpc instance_npcname("Mysterious Young Man#mis");
+ disablenpc(instance_npcname("Mysterious Young Man#mis"));
end;
}
1@mist,183,304,3 script Loki#mist 4_M_ROKI2,{
if (ep14_1_mistwoods < 2) {
- mes "[Loki]";
- mes "An adventurer in the forest.";
- mes ".....";
- mes "You can go to Mora through this forest.";
- close;
+ mes("[Loki]");
+ mes("An adventurer in the forest.");
+ mes(".....");
+ mes("You can go to Mora through this forest.");
+ close();
} else if (ep14_1_mistwoods == 2) {
- mes "[Loki]";
- mes "Is it you that took care of this unruly girl?";
- mes "I guess I have to thank you.";
- mes "You've calmed her down.";
- next;
+ mes("[Loki]");
+ mes("Is it you that took care of this unruly girl?");
+ mes("I guess I have to thank you.");
+ mes("You've calmed her down.");
+ next();
select("What's happening?", "This girl...?");
- mes "[Loki]";
- mes "You might be able to change your appearance, but you cannot change your unique, innate light.";
- mes "A scent strong enough to burn your nose.";
- next;
- mes "[Loki]";
- mes "This is Nydhogg, the Guardian of Yggdrasil,";
- mes "whom I was looking for.";
- mes "Now she won't wander around crazy any more.";
- next;
+ mes("[Loki]");
+ mes("You might be able to change your appearance, but you cannot change your unique, innate light.");
+ mes("A scent strong enough to burn your nose.");
+ next();
+ mes("[Loki]");
+ mes("This is Nydhogg, the Guardian of Yggdrasil,");
+ mes("whom I was looking for.");
+ mes("Now she won't wander around crazy any more.");
+ next();
select("What are you going to do now?");
- mes "[Loki]";
- mes "I'll wait for her to wake up and get out of this forest.";
- mes "I can manage it on my own.";
- mes "I'll see you in Mora.";
+ mes("[Loki]");
+ mes("I'll wait for her to wake up and get out of this forest.");
+ mes("I can manage it on my own.");
+ mes("I'll see you in Mora.");
ep14_1_mistwoods = 3;
- erasequest 7212;
- setquest 7213;
- close;
+ erasequest(7212);
+ setquest(7213);
+ close();
} else if (ep14_1_mistwoods == 3) {
- mes "[Loki]";
- mes "I don't want to go with you.";
- mes "I can manage her on my own.";
- mes "If you have something to say, say it after we get out of the forest.";
- close;
+ mes("[Loki]");
+ mes("I don't want to go with you.");
+ mes("I can manage her on my own.");
+ mes("If you have something to say, say it after we get out of the forest.");
+ close();
} else {
- mes "[Loki]";
- mes "I don't want to go with you.";
- mes "If you have something to say, say it after we get out of the forest.";
- close;
+ mes("[Loki]");
+ mes("I don't want to go with you.");
+ mes("If you have something to say, say it after we get out of the forest.");
+ close();
}
end;
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Loki#mist");
+ disablenpc(instance_npcname("Loki#mist"));
end;
OnEnable:
- enablenpc instance_npcname("Loki#mist");
+ enablenpc(instance_npcname("Loki#mist"));
end;
}
1@mist,181,303,3 script Collapsed Girl#mist 4_F_NYDHOG2,{
- mes "You see a girl with mysterious hair collapsed on the ground.";
- mes "As you approach her, you smell the scent of flowers so strong that it makes you dizzy.";
- close;
+ mes("You see a girl with mysterious hair collapsed on the ground.");
+ mes("As you approach her, you smell the scent of flowers so strong that it makes you dizzy.");
+ close();
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Collapsed Girl#mist");
+ disablenpc(instance_npcname("Collapsed Girl#mist"));
end;
OnEnable:
- enablenpc instance_npcname("Collapsed Girl#mist");
+ enablenpc(instance_npcname("Collapsed Girl#mist"));
end;
}
mora,46,152,5 script Flower Smelling Lady 4_F_NYDHOG,{
if (ep14_1_mistwoods < 3) {
- mes "[Flower Smell Lady]";
- mes "I need rest.";
- mes "I'm too tired to talk to you.";
- mes "I'm sorry.";
- close;
+ mes("[Flower Smell Lady]");
+ mes("I need rest.");
+ mes("I'm too tired to talk to you.");
+ mes("I'm sorry.");
+ close();
} else if (ep14_1_mistwoods == 3) {
- mes "[Nydhogg the Guardian]";
- mes "I've been waiting for you.";
- mes "I'm still confused, but I know what I did wrong.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "If it weren't for you, I would still be wandering in the abyssal darkness.";
- mes "I thank you, from the bottom of my heart.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "I'm ashamed of myself, falling for the sweet but empty words that came to me in my loneliness.";
- mes "....";
- next;
- mes "[Nydhogg the Guardian]";
- mes "I don't deserve to be a guardian any more.";
- mes "A dragon gone crazy is not a guardian any more.";
- next;
- mes "[Loki]";
- mes "Yggdrasil doesn't think so.";
- mes "Nidi, don't forget your duties.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "Are you...?";
- mes "I see...";
- mes "I thought I was forsaken...";
- next;
- mes "The Guardian slowly looked away as if deep in thought.";
+ mes("[Nydhogg the Guardian]");
+ mes("I've been waiting for you.");
+ mes("I'm still confused, but I know what I did wrong.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("If it weren't for you, I would still be wandering in the abyssal darkness.");
+ mes("I thank you, from the bottom of my heart.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("I'm ashamed of myself, falling for the sweet but empty words that came to me in my loneliness.");
+ mes("....");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("I don't deserve to be a guardian any more.");
+ mes("A dragon gone crazy is not a guardian any more.");
+ next();
+ mes("[Loki]");
+ mes("Yggdrasil doesn't think so.");
+ mes("Nidi, don't forget your duties.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("Are you...?");
+ mes("I see...");
+ mes("I thought I was forsaken...");
+ next();
+ mes("The Guardian slowly looked away as if deep in thought.");
ep14_1_mistwoods = 4;
- close2;
+ close2();
} else if (ep14_1_mistwoods == 4) {
- mes "- He seems to be deep in thought. -";
- close;
+ mes("- He seems to be deep in thought. -");
+ close();
} else {
- mes "[Nydhogg the Guardian]";
- mes "I haven't gotten all of my powers back.";
- mes "I'm sorry I can't protect you.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "Loki said...";
- mes "that I won't cry from loneliness again,";
- mes "that I will always have new friends like you...";
- next;
- mes "[Nydhogg the Guardian]";
- mes "...I've lost everything, but I'm happy now.";
- close;
+ mes("[Nydhogg the Guardian]");
+ mes("I haven't gotten all of my powers back.");
+ mes("I'm sorry I can't protect you.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("Loki said...");
+ mes("that I won't cry from loneliness again,");
+ mes("that I will always have new friends like you...");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("...I've lost everything, but I'm happy now.");
+ close();
}
}
mora,48,152,3 script Sharp Eyed Man 4_M_ROKI2,{
- if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 1000) {
- mes "- You have too many items to do this quest. -";
- close;
+ if (checkweight(Knife, 1) == 0 || MaxWeight - Weight < 1000) {
+ mes("- You have too many items to do this quest. -");
+ close();
}
if (ep14_1_mistwoods < 3) {
- mes "He won't look at you. It's like he's not interested at all.";
- close;
+ mes("He won't look at you. It's like he's not interested at all.");
+ close();
} else if (ep14_1_mistwoods == 3) {
- mes "[Loki]";
- mes "So you've passed through the forest.";
- mes "It seems Niddy has something to say to you.";
- close;
+ mes("[Loki]");
+ mes("So you've passed through the forest.");
+ mes("It seems Niddy has something to say to you.");
+ close();
} else if (ep14_1_mistwoods == 4) {
- mes "[Loki]";
- mes "Nydhogg was one of the guardians of the World Tree.";
- mes "But he abandoned his duties as a guardian when he gave in to Morroc's temptation.";
- next;
- mes "[Loki]";
- mes "Some fools performed a ritual to break the seal that held Morroc.";
- mes "But the ritual didn't work right. The servant of Morroc failed to break the seal.";
- next;
- mes "[Loki]";
- mes "But the seal is so weak that it can break open any time.";
- mes "It's Yggdrasil the World Tree's will that has kept the seal from breaking.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "That's right. The power of the World Tree is linked to the whole world.";
- mes "When the bond between the guardians and Yggdrasil broke, Yggdrasil became unstable.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "That's why all those disasters happened to Yggdrasil.";
- mes "As the World Tree became unstable, the influence it had on the seal grew weak.";
- next;
- mes "[Loki]";
- mes "And Morroc broke himself free from the seal.";
- mes "Although it seems like he used most of his powers just to break the seal...";
- next;
- mes "[Nydhogg the Guardian]";
- mes "It's all my fault.";
- mes "I couldn't break free from Morroc's temptation.";
- mes "For too... too long...";
- next;
- mes "[Nydhogg the Guardian]";
- mes "...I wanted to be relieved of my thousands of years of loneliness.";
- mes "I wasn't in my right mind then.";
- mes "It was none other than I that broke my bond with Yggdrasil.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "I lost control of myself, and did what I shouldn't have done.";
- mes "The other side of me became a shadow and a reckless tyrant.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "Facing the world, I realized...";
- mes "I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "That's how I was left alone.";
- mes "I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "So I became a sinner, forgotten to the world.";
- next;
- mes "[Loki]";
- mes "It's not too late.";
- mes "You're still a guardian.";
- mes "You still have things to do.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "...Oh, yes. It's late, but I have to fulfill my duties as a guardian.";
- mes "Now I know. I'll destroy Morroc with my own hands.";
- mes "I will fulfill my duties as a guardian.";
- next;
+ mes("[Loki]");
+ mes("Nydhogg was one of the guardians of the World Tree.");
+ mes("But he abandoned his duties as a guardian when he gave in to Morroc's temptation.");
+ next();
+ mes("[Loki]");
+ mes("Some fools performed a ritual to break the seal that held Morroc.");
+ mes("But the ritual didn't work right. The servant of Morroc failed to break the seal.");
+ next();
+ mes("[Loki]");
+ mes("But the seal is so weak that it can break open any time.");
+ mes("It's Yggdrasil the World Tree's will that has kept the seal from breaking.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("That's right. The power of the World Tree is linked to the whole world.");
+ mes("When the bond between the guardians and Yggdrasil broke, Yggdrasil became unstable.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("That's why all those disasters happened to Yggdrasil.");
+ mes("As the World Tree became unstable, the influence it had on the seal grew weak.");
+ next();
+ mes("[Loki]");
+ mes("And Morroc broke himself free from the seal.");
+ mes("Although it seems like he used most of his powers just to break the seal...");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("It's all my fault.");
+ mes("I couldn't break free from Morroc's temptation.");
+ mes("For too... too long...");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("...I wanted to be relieved of my thousands of years of loneliness.");
+ mes("I wasn't in my right mind then.");
+ mes("It was none other than I that broke my bond with Yggdrasil.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("I lost control of myself, and did what I shouldn't have done.");
+ mes("The other side of me became a shadow and a reckless tyrant.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("Facing the world, I realized...");
+ mes("I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("That's how I was left alone.");
+ mes("I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("So I became a sinner, forgotten to the world.");
+ next();
+ mes("[Loki]");
+ mes("It's not too late.");
+ mes("You're still a guardian.");
+ mes("You still have things to do.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("...Oh, yes. It's late, but I have to fulfill my duties as a guardian.");
+ mes("Now I know. I'll destroy Morroc with my own hands.");
+ mes("I will fulfill my duties as a guardian.");
+ next();
switch(select("You're not alone.", "Those are very important duties.")) {
case 1:
- mes "[Nydhogg the Guardian]";
- mes "You're right.";
- mes "It may be why I haven't been forsaken - to realize that I'm not alone.";
- mes "You are a kind soul.";
- next;
+ mes("[Nydhogg the Guardian]");
+ mes("You're right.");
+ mes("It may be why I haven't been forsaken - to realize that I'm not alone.");
+ mes("You are a kind soul.");
+ next();
break;
case 2:
- mes "[Nydhogg the Guardian]";
- mes "But this is my atonement.";
- mes "I'm happy, though.";
- mes "I don't have to fight the loneliness any more.";
- next;
+ mes("[Nydhogg the Guardian]");
+ mes("But this is my atonement.");
+ mes("I'm happy, though.");
+ mes("I don't have to fight the loneliness any more.");
+ next();
break;
}
- mes "[Nydhogg the Guardian]";
- mes strcharinfo(PC_NAME)+"...";
- mes "Thanks for listening to my long story.";
- next;
- mes "[Nydhogg the Guardian]";
- mes "It's what I always have with me.";
- mes "I'm sure it will protect you someday.";
- next;
- mes "[Loki]";
- mes "(Removes his scarf from around his neck and hands it to you.)";
- next;
- mes "[Nydhogg the Guardian]";
- mes "May the blessing of Mother Yggdrasil be with you...";
+ mes("[Nydhogg the Guardian]");
+ mesf("%s...", strcharinfo(PC_NAME));
+ mes("Thanks for listening to my long story.");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("It's what I always have with me.");
+ mes("I'm sure it will protect you someday.");
+ next();
+ mes("[Loki]");
+ mes("(Removes his scarf from around his neck and hands it to you.)");
+ next();
+ mes("[Nydhogg the Guardian]");
+ mes("May the blessing of Mother Yggdrasil be with you...");
ep14_1_mistwoods = 10;
- completequest 7213;
- getitem Muffler_Of_Roki,1;
- getitem Pendant_Of_Guardian,1;
- getexp 400000,400000;
- close;
+ completequest(7213);
+ getitem(Muffler_Of_Roki, 1);
+ getitem(Pendant_Of_Guardian, 1);
+ getexp(400000, 400000);
+ close();
} else {
- mes "[Loki]";
- mes "I'll be staying here for a while.";
- mes "We may meet again.";
- next;
- mes "[Loki]";
- mes "The day when Morroc reveals his despicable nature...";
- mes "I will be waiting for him.";
- close;
+ mes("[Loki]");
+ mes("I'll be staying here for a while.");
+ mes("We may meet again.");
+ next();
+ mes("[Loki]");
+ mes("The day when Morroc reveals his despicable nature...");
+ mes("I will be waiting for him.");
+ close();
}
}
@@ -937,98 +991,98 @@ mora,48,152,3 script Sharp Eyed Man 4_M_ROKI2,{
1@mist,1,1,0 script #Mist Mobs Respawn1 CLEAR_NPC,{
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),0,0,"Miming",2137,15,instance_npcname("#Mist Mobs Respawn1")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 0, 0, _("Miming"), MIMING, 15, instance_npcname("#Mist Mobs Respawn1")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@mist");
- .@num_mobs = 15 - mobcount(.@map$,instance_npcname("#Mist Mobs Respawn1")+"::OnMyMobDead");
+ .@num_mobs = 15 - mobcount(.@map$, instance_npcname("#Mist Mobs Respawn1")+"::OnMyMobDead");
if (.@num_mobs > 0)
- monster .@map$,0,0,"Miming",2137,.@num_mobs,instance_npcname("#Mist Mobs Respawn1")+"::OnMyMobDead";
+ monster(.@map$, 0, 0, _("Miming"), MIMING, .@num_mobs, instance_npcname("#Mist Mobs Respawn1")+"::OnMyMobDead");
end;
}
1@mist,1,2,0 script #Mist Mobs Respawn2 CLEAR_NPC,{
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),0,0,"Pom Spider",2132,35,instance_npcname("#Mist Mobs Respawn2")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 0, 0, _("Pom Spider"), POM_SPIDER, 35, instance_npcname("#Mist Mobs Respawn2")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@mist");
- .@num_mobs = 35 - mobcount(.@map$,instance_npcname("#Mist Mobs Respawn2")+"::OnMyMobDead");
+ .@num_mobs = 35 - mobcount(.@map$, instance_npcname("#Mist Mobs Respawn2")+"::OnMyMobDead");
if (.@num_mobs > 0)
- monster .@map$,0,0,"Pom Spider",2132,.@num_mobs,instance_npcname("#Mist Mobs Respawn2")+"::OnMyMobDead";
+ monster(.@map$, 0, 0, _("Pom Spider"), POM_SPIDER, .@num_mobs, instance_npcname("#Mist Mobs Respawn2")+"::OnMyMobDead");
end;
}
1@mist,1,3,0 script #Mist Mobs Respawn3 CLEAR_NPC,{
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),0,0,"Angra Mantis",2133,35,instance_npcname("#Mist Mobs Respawn3")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 0, 0, _("Angra Mantis"), ANGRA_MANTIS, 35, instance_npcname("#Mist Mobs Respawn3")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@mist");
- .@num_mobs = 35 - mobcount(.@map$,instance_npcname("#Mist Mobs Respawn3")+"::OnMyMobDead");
+ .@num_mobs = 35 - mobcount(.@map$, instance_npcname("#Mist Mobs Respawn3")+"::OnMyMobDead");
if (.@num_mobs > 0)
- monster .@map$,0,0,"Angra Mantis",2133,.@num_mobs,instance_npcname("#Mist Mobs Respawn3")+"::OnMyMobDead";
+ monster(.@map$, 0, 0, _("Angra Mantis"), ANGRA_MANTIS, .@num_mobs, instance_npcname("#Mist Mobs Respawn3")+"::OnMyMobDead");
end;
}
1@mist,1,4,0 script #Mist Mobs Respawn4 CLEAR_NPC,{
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),0,0,"Parus",2134,35,instance_npcname("#Mist Mobs Respawn4")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 0, 0, _("Parus"), PARUS, 35, instance_npcname("#Mist Mobs Respawn4")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@mist");
- .@num_mobs = 35 - mobcount(.@map$,instance_npcname("#Mist Mobs Respawn4")+"::OnMyMobDead");
+ .@num_mobs = 35 - mobcount(.@map$, instance_npcname("#Mist Mobs Respawn4")+"::OnMyMobDead");
if (.@num_mobs > 0)
- monster .@map$,0,0,"Parus",2134,.@num_mobs,instance_npcname("#Mist Mobs Respawn4")+"::OnMyMobDead";
+ monster(.@map$, 0, 0, _("Parus"), PARUS, .@num_mobs, instance_npcname("#Mist Mobs Respawn4")+"::OnMyMobDead");
end;
}
1@mist,1,5,0 script #Mist Mobs Respawn5 CLEAR_NPC,{
end;
OnInstanceInit:
- monster instance_mapname("1@mist"),0,0,"Little Fatum",2136,15,instance_npcname("#Mist Mobs Respawn5")+"::OnMyMobDead";
+ monster(instance_mapname("1@mist"), 0, 0, _("Little Fatum"), LITTLE_FATUM, 15, instance_npcname("#Mist Mobs Respawn5")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@mist");
- .@num_mobs = 15 - mobcount(.@map$,instance_npcname("#Mist Mobs Respawn5")+"::OnMyMobDead");
+ .@num_mobs = 15 - mobcount(.@map$, instance_npcname("#Mist Mobs Respawn5")+"::OnMyMobDead");
if (.@num_mobs > 0)
- monster .@map$,0,0,"Little Fatum",2136,.@num_mobs,instance_npcname("#Mist Mobs Respawn5")+"::OnMyMobDead";
+ monster(.@map$, 0, 0, _("Little Fatum"), LITTLE_FATUM, .@num_mobs, instance_npcname("#Mist Mobs Respawn5")+"::OnMyMobDead");
end;
}
1@mist,1,6,0 script #Fragments of Memory CLEAR_NPC,{
end;
OnInstanceInit:
- disablenpc instance_npcname("#Fragments of Memory");
- monster instance_mapname("1@mist"),0,0,"Guardian's Fragments of Memory",2138,15;
+ disablenpc(instance_npcname("#Fragments of Memory"));
+ monster(instance_mapname("1@mist"), 0, 0, _("Guardian's Fragments of Memory"), NYDHOG_MEMORY1_1, 15);
end;
}
//== Warp Portals ==========================================
bif_fild01,38,374,0 script Mysterious Flower#ep14_1 CLEAR_NPC,{
- mes "It's a giant flower with mysterious energy.";
+ mes("It's a giant flower with mysterious energy.");
if (countitem(Mysterious_Seed)) {
- mes "It's reacting to the Mysterious Flower Seeds you have with you.";
- next;
+ mes("It's reacting to the Mysterious Flower Seeds you have with you.");
+ next();
switch(select("Observe the reaction.", "Stop the reaction.")) {
case 1:
- mes "The flower started to shake violently";
- mes "and swing forward as if trying to send the seeds as far away as possible!!!";
- close2;
- delitem Mysterious_Seed,1;
- warp "bif_fild02",160,230;
+ mes("The flower started to shake violently");
+ mes("and swing forward as if trying to send the seeds as far away as possible!!!");
+ close2();
+ delitem(Mysterious_Seed, 1);
+ warp("bif_fild02", 160, 230);
end;
case 2:
- mes "As you hold onto the Mysterious Flower Seeds tightly,";
- mes "the flower shook violently and then became calm again.";
- close;
+ mes("As you hold onto the Mysterious Flower Seeds tightly,");
+ mes("the flower shook violently and then became calm again.");
+ close();
}
}
- mes "It looks like it has some special use, but you're not sure what.";
- close;
+ mes("It looks like it has some special use, but you're not sure what.");
+ close();
}
1@mist,104,23,0 warp #to_bif01 1,1,bif_fild01,160,352
@@ -1036,9 +1090,9 @@ bif_fild01,38,374,0 script Mysterious Flower#ep14_1 CLEAR_NPC,{
1@mist,109,70,0 script a1_a2 WARPNPC,1,1,{
end;
OnTouch:
- if (!questprogress(7211,PLAYTIME))
- setquest 7211;
- warp instance_mapname("1@mist"),116,40;
+ if (!questprogress(7211, PLAYTIME))
+ setquest(7211);
+ warp(instance_mapname("1@mist"), 116, 40);
end;
}
@@ -1140,21 +1194,21 @@ OnTouch:
1@mist,1,1,0 script #mist_warp_init CLEAR_NPC,{
end;
OnInstanceInit:
- disablenpc instance_npcname("a25_a18-1");
- disablenpc instance_npcname("a27-2_af1-2");
- disablenpc instance_npcname("a15-2_a4-1");
- disablenpc instance_npcname("a4-2_a11");
- disablenpc instance_npcname("b4-2_b2");
- disablenpc instance_npcname("b7_bf1-2");
- disablenpc instance_npcname("b31_b16");
- disablenpc instance_npcname("b27-3_bN-1");
- disablenpc instance_npcname("b6-1_b33");
- disablenpc instance_npcname("b5_b14");
- disablenpc instance_npcname("c1_c13-1");
- disablenpc instance_npcname("c13-3_c4");
- disablenpc instance_npcname("c19_c4");
- disablenpc instance_npcname("#to_bif02");
- disablenpc instance_npcname("#mist_warp_init");
+ disablenpc(instance_npcname("a25_a18-1"));
+ disablenpc(instance_npcname("a27-2_af1-2"));
+ disablenpc(instance_npcname("a15-2_a4-1"));
+ disablenpc(instance_npcname("a4-2_a11"));
+ disablenpc(instance_npcname("b4-2_b2"));
+ disablenpc(instance_npcname("b7_bf1-2"));
+ disablenpc(instance_npcname("b31_b16"));
+ disablenpc(instance_npcname("b27-3_bN-1"));
+ disablenpc(instance_npcname("b6-1_b33"));
+ disablenpc(instance_npcname("b5_b14"));
+ disablenpc(instance_npcname("c1_c13-1"));
+ disablenpc(instance_npcname("c13-3_c4"));
+ disablenpc(instance_npcname("c19_c4"));
+ disablenpc(instance_npcname("#to_bif02"));
+ disablenpc(instance_npcname("#mist_warp_init"));
end;
}
1@mist,247,123,0 warp a25_a18-1 1,1,1@mist,164,66 //Tom
diff --git a/npc/re/instances/MalangdoCulvert.txt b/npc/re/instances/MalangdoCulvert.txt
index 1bd76aedb..d61509511 100644
--- a/npc/re/instances/MalangdoCulvert.txt
+++ b/npc/re/instances/MalangdoCulvert.txt
@@ -37,245 +37,261 @@
//== Quest NPCs ============================================
mal_in01,172,28,2 script Albo#mal 4_CAT_SAILOR5,{
- if (checkweight(Knife,1) == 0) {
- mes "You have too many kinds of objects. Try to continue after reducing those objects.";
- close;
+ if (checkweight(Knife, 1) == 0) {
+ mes("You have too many kinds of objects. Try to continue after reducing those objects.");
+ close();
}
if (MaxWeight - Weight < 1000) {
- mes "You have too many heavy objects. Try to continue after reducing your weight.";
- close;
+ mes("You have too many heavy objects. Try to continue after reducing your weight.");
+ close();
}
if (BaseLevel < 90) {
- mes "[Albo]";
- mes "Who are you?";
- mes "We don't need a weaking!!";
- close;
+ mes("[Albo]");
+ mes("Who are you?");
+ mes("We don't need a weaking!!");
+ close();
}
- setarray .@quests[0],12271,12272,12273,12274;
- setarray .@names$[0],
- "General Culvert Daily Service","^990000Hard Culvert Daily Service^000000",
- "General Culvert Weekly Service","^990000Hard Culvert Weekly Service^000000";
- .@menu$ = "Why are doing this job?:";
+ setarray(.@quests[0], 12271, 12272, 12273, 12274);
+ setarray(.@names$[0],
+ _("General Culvert Daily Service"), _("^990000Hard Culvert Daily Service^000000"),
+ _("General Culvert Weekly Service"), _("^990000Hard Culvert Weekly Service^000000"));
+ .@menu$ = _("Why are doing this job?:");
for(.@i = 0; .@i<4; ++.@i) {
- if (questprogress(.@quests[.@i],PLAYTIME)) {
+ if (questprogress(.@quests[.@i], PLAYTIME)) {
.@status[.@i] = 2;
- .@menu$ += "^aaaaaa- There is no new task -^000000:";
+ .@menu$ += _("^aaaaaa- There is no new task -^000000:");
} else if (.@i%2 && BaseLevel < 140) {
.@status[.@i] = 0;
- .@menu$ += "^aaaaaaCan't take this job because level is too low^000000:";
+ .@menu$ += _("^aaaaaaCan't take this job because level is too low^000000:");
} else {
.@status[.@i] = 1;
.@menu$ += .@names$[.@i]+":";
}
}
- mes "[Albo]";
- mes "We crossed the sea!";
- mes "We are great heroes of Culvert! We do not forgive the seafood that aims at Culvert!";
- next;
- .@i = select(.@menu$)-1;
+ mes("[Albo]");
+ mes("We crossed the sea!");
+ mes("We are great heroes of Culvert! We do not forgive the seafood that aims at Culvert!");
+ next();
+ .@i = select(.@menu$) - 1;
if (.@i == 0) {
- mes "[Albo]";
- mes "We used to be the henchmen of Mr. Missing! We almost became guards of such a historic site.";
- next;
- mes "[Albo]";
- mes "However, when sea water flooded all precious the resources, my dream... all my dreams melted away...";
- next;
- mes "[Albo]";
- mes "We do not forgive the seafood that invaded our territory. I'll eat them with spicy paste!!!";
- next;
- mes "^0000ffAlbo's voice shakes with anger. He smacked his lips when he mentioned spicy paste.^000000";
- close;
+ mes("[Albo]");
+ mes("We used to be the henchmen of Mr. Missing! We almost became guards of such a historic site.");
+ next();
+ mes("[Albo]");
+ mes("However, when sea water flooded all precious the resources, my dream... all my dreams melted away...");
+ next();
+ mes("[Albo]");
+ mes("We do not forgive the seafood that invaded our territory. I'll eat them with spicy paste!!!");
+ next();
+ mes("^0000ffAlbo's voice shakes with anger. He smacked his lips when he mentioned spicy paste.^000000");
+ close();
}
- switch(.@status[.@i-1]) {
+ switch (.@status[.@i - 1]) {
case 0:
- mes "[Albo]";
- mes "That task is really hard for you, so I can't tell you about it. Why don't you find another one?";
- close;
+ mes("[Albo]");
+ mes("That task is really hard for you, so I can't tell you about it. Why don't you find another one?");
+ close();
case 1:
break;
case 2:
- mes "[Albo]";
- mes "I'm sorry. There is no new task yet! If I find any work, I'll tell you so!";
- close;
+ mes("[Albo]");
+ mes("I'm sorry. There is no new task yet! If I find any work, I'll tell you so!");
+ close();
}
- switch(.@i) {
+ switch (.@i) {
case 1: // General Culvert Daily Service
- switch(rand(1,6)) {
- case 1: callsub L_GiveQuest,.@i,12255,12271,"Deep Sea Crab";
- case 2: callsub L_GiveQuest,.@i,12256,12271,"Deep Sea Marse";
- case 3: callsub L_GiveQuest,.@i,12257,12271,"Deep Sea Vadon";
- case 4: callsub L_GiveQuest,.@i,12258,12271,"Deep Sea Shellfish";
- case 5: callsub L_GiveQuest,.@i,12259,12271,"Deep Sea Kukre";
- case 6: callsub L_GiveQuest,.@i,12260,12271,"Deep Sea Cornutus";
+ switch (rand(1, 6)) {
+ case 1:
+ callsub(L_GiveQuest, .@i, 12255, 12271, _("Deep Sea Crab"));
+ case 2:
+ callsub(L_GiveQuest, .@i, 12256, 12271, _("Deep Sea Marse"));
+ case 3:
+ callsub(L_GiveQuest, .@i, 12257, 12271, _("Deep Sea Vadon"));
+ case 4:
+ callsub(L_GiveQuest, .@i, 12258, 12271, _("Deep Sea Shellfish"));
+ case 5:
+ callsub(L_GiveQuest, .@i, 12259, 12271, _("Deep Sea Kukre"));
+ case 6:
+ callsub(L_GiveQuest, .@i, 12260, 12271, _("Deep Sea Cornutus"));
}
case 2: // Hard Culvert Daily Service
- switch(rand(1,6)) {
- case 1: callsub L_GiveQuest,.@i,12261,12272,"Deep Sea Marc";
- case 2: callsub L_GiveQuest,.@i,12262,12272,"Deep Sea Sword Fish";
- case 3: callsub L_GiveQuest,.@i,12263,12272,"Deep Sea Strouf";
- case 4: callsub L_GiveQuest,.@i,12264,12272,"Deep Sea Anolian";
- case 5: callsub L_GiveQuest,.@i,12265,12272,"Deep Sea Obeanue";
- case 6: callsub L_GiveQuest,.@i,12266,12272,"Deep Sea Kapha";
+ switch (rand(1, 6)) {
+ case 1:
+ callsub(L_GiveQuest, .@i, 12261, 12272, _("Deep Sea Marc"));
+ case 2:
+ callsub(L_GiveQuest, .@i, 12262, 12272, _("Deep Sea Sword Fish"));
+ case 3:
+ callsub(L_GiveQuest, .@i, 12263, 12272, _("Deep Sea Strouf"));
+ case 4:
+ callsub(L_GiveQuest, .@i, 12264, 12272, _("Deep Sea Anolian"));
+ case 5:
+ callsub(L_GiveQuest, .@i, 12265, 12272, _("Deep Sea Obeanue"));
+ case 6:
+ callsub(L_GiveQuest, .@i, 12266, 12272, _("Deep Sea Kapha"));
}
case 3: // General Culvert Weekly Service
- switch(rand(1,2)) {
- case 1: callsub L_GiveQuest,.@i,12267,12273,"Weird Coelacanth";
- case 2: callsub L_GiveQuest,.@i,12268,12273,"Gloomy Coelacanth";
+ switch (rand(1, 2)) {
+ case 1:
+ callsub(L_GiveQuest, .@i, 12267, 12273, _("Weird Coelacanth"));
+ case 2:
+ callsub(L_GiveQuest, .@i, 12268, 12273, _("Gloomy Coelacanth"));
}
case 4: // Hard Culvert Weekly Service
- switch(rand(1,2)) {
- case 1: callsub L_GiveQuest,.@i,12269,12274,"Violent Coelacanth";
- case 2: callsub L_GiveQuest,.@i,12270,12274,"Mutant Coelacanth";
+ switch (rand(1, 2)) {
+ case 1:
+ callsub(L_GiveQuest, .@i, 12269, 12274, _("Violent Coelacanth"));
+ case 2:
+ callsub(L_GiveQuest, .@i, 12270, 12274, _("Mutant Coelacanth"));
}
default:
- mes "[Albo]";
- mes "Uh!? Where is the task? Let me find that quickly. You must speak with Madeca!";
- close;
+ mes("[Albo]");
+ mes("Uh!? Where is the task? Let me find that quickly. You must speak with Madeca!");
+ close();
}
end;
-// callsub L_GiveQuest,.@i,<quest 1>,<quest 2>,<monster>;
+// callsub(L_GiveQuest, .@i, <quest 1>, <quest 2>, <monster>);
L_GiveQuest:
- setquest getarg(1);
- setquest getarg(2);
- mes "[Albo]";
- mes "Today, the heroes of Culvert!";
- mes "We raise our voices and set a date for the extermination of ^0000ff"+getarg(3)+"^000000!";
- next;
- mes "[Albo]";
- switch(getarg(0)) {
+ setquest(getarg(1));
+ setquest(getarg(2));
+ mes("[Albo]");
+ mes("Today, the heroes of Culvert!");
+ mesf("We raise our voices and set a date for the extermination of ^0000ff%s^000000!", getarg(3));
+ next();
+ mes("[Albo]");
+ switch (getarg(0)) {
case 1:
case 2:
- mes "Come on, heroes! Don't be afraid of them! Just go on, since it's a one-day mission!";
+ mes("Come on, heroes! Don't be afraid of them! Just go on, since it's a one-day mission!");
break;
case 3:
- mes "I'll give you one week to finish this job! Terminate all of them in Culvert Dungeon, Normal Mode!";
+ mes("I'll give you one week to finish this job! Terminate all of them in Culvert Dungeon, Normal Mode!");
break;
case 4:
- mes "I'll give you one week to finish this job! Terminate all of them in Culvert Dungeon, Hard Mode!";
+ mes("I'll give you one week to finish this job! Terminate all of them in Culvert Dungeon, Hard Mode!");
break;
}
- next;
- mes "You received a request for the Extermination of ^005500"+getarg(3)+"^000000. If you need more details, please check the quest window.";
- close;
+ next();
+ mesf("You received a request for the Extermination of ^005500%s^000000. If you need more details, please check the quest window.", getarg(3));
+ close();
}
mal_in01,172,26,2 script Madeca#mal 4_CAT_SAILOR1,{
- if (checkweight(Knife,1) == 0) {
- mes "You have too many kinds of objects. Try to continue after reducing those objects.";
- close;
+ if (checkweight(Knife, 1) == 0) {
+ mes("You have too many kinds of objects. Try to continue after reducing those objects.");
+ close();
}
if (MaxWeight - Weight < 1000) {
- mes "You have too many heavy objects. Try to continue after reducing your weight.";
- close;
+ mes("You have too many heavy objects. Try to continue after reducing your weight.");
+ close();
}
if (BaseLevel < 90) {
- mes "[Madeca]";
- mes "Karrrrrrr!!";
- mes "Let's have some bad seafood that can be boiled or grilled!";
- next;
- mes "[Madeca]";
- mes "Who are you? You are such a totterer. Even seaweed could kill you!";
- close;
+ mes("[Madeca]");
+ mes("Karrrrrrr!!");
+ mes("Let's have some bad seafood that can be boiled or grilled!");
+ next();
+ mes("[Madeca]");
+ mes("Who are you? You are such a totterer. Even seaweed could kill you!");
+ close();
}
- mes "[Madeca]";
- mes "Oh?";
- mes "You're the one who took care of my big brother Albo's request. It was a hard job!";
- next;
- .@i = select("What are you doing here?", "General Culvert Daily Service Compensation", "Hard Culvert Daily Service Compensation", "General Culvert Weekly Service Compensation", "Hard Culvert Weekly Service Compensation")-1;
+ mes("[Madeca]");
+ mes("Oh?");
+ mes("You're the one who took care of my big brother Albo's request. It was a hard job!");
+ next();
+ .@i = select("What are you doing here?", "General Culvert Daily Service Compensation", "Hard Culvert Daily Service Compensation", "General Culvert Weekly Service Compensation", "Hard Culvert Weekly Service Compensation") - 1;
if (.@i == 0) {
- mes "[Madeca]";
- mes "I'm here to help my big brother Albo!";
- next;
- mes "[Madeca]";
- mes "We provide precious materials to humans who make sludge out of the bad seafood in the Culverts!";
- next;
- mes "[Madeca]";
- mes "We provide A~B Grade Coins as compensation for daily service, and the precious Sea God's Wrath as compensation for weekly service.";
- next;
- mes "[Madeca]";
- mes "If you take care of big brother Albo's request, I will see you very often. So, let's stay close!";
- close;
+ mes("[Madeca]");
+ mes("I'm here to help my big brother Albo!");
+ next();
+ mes("[Madeca]");
+ mes("We provide precious materials to humans who make sludge out of the bad seafood in the Culverts!");
+ next();
+ mes("[Madeca]");
+ mes("We provide A~B Grade Coins as compensation for daily service, and the precious Sea God's Wrath as compensation for weekly service.");
+ next();
+ mes("[Madeca]");
+ mes("If you take care of big brother Albo's request, I will see you very often. So, let's stay close!");
+ close();
}
- mes "[Madeca]";
- mes "I can't give you compensation for an expired request, so let me check if any of yours have expired.";
- next;
- specialeffect2 EF_SPHERE;
- progressbar "0xFFFF00",3;
- specialeffect2 EF_STEAL;
- switch(.@i) {
+ mes("[Madeca]");
+ mes("I can't give you compensation for an expired request, so let me check if any of yours have expired.");
+ next();
+ specialeffect(EF_SPHERE, AREA, playerattached());
+ progressbar(sprintf("0x%x", C_YELLOW), 3);
+ specialeffect(EF_STEAL, AREA, playerattached());
+ switch (.@i) {
case 1: // General Culvert Daily Service
- if (questprogress(12271,PLAYTIME) == 2)
- callsub L_EraseQuest,12255,12256,12257,12258,12259,12260,12271;
- else {
+ if (questprogress(12271, PLAYTIME) == 2) {
+ callsub(L_EraseQuest, 12255, 12256, 12257, 12258, 12259, 12260, 12271);
+ } else {
// Reward: 2x B Grade Coin
- callsub L_CheckQuest,12255,"Deep Sea Crab",6419,2;
- callsub L_CheckQuest,12256,"Deep Sea Marse",6419,2;
- callsub L_CheckQuest,12257,"Deep Sea Vadon",6419,2;
- callsub L_CheckQuest,12258,"Deep Sea Shellfish",6419,2;
- callsub L_CheckQuest,12259,"Deep Sea Kukre",6419,2;
- callsub L_CheckQuest,12260,"Deep Sea Cornutus",6419,2;
+ callsub(L_CheckQuest, 12255, _("Deep Sea Crab"), Bgrade_Coin, 2);
+ callsub(L_CheckQuest, 12256, _("Deep Sea Marse"), Bgrade_Coin, 2);
+ callsub(L_CheckQuest, 12257, _("Deep Sea Vadon"), Bgrade_Coin, 2);
+ callsub(L_CheckQuest, 12258, _("Deep Sea Shellfish"), Bgrade_Coin, 2);
+ callsub(L_CheckQuest, 12259, _("Deep Sea Kukre"), Bgrade_Coin, 2);
+ callsub(L_CheckQuest, 12260, _("Deep Sea Cornutus"), Bgrade_Coin, 2);
}
break;
case 2: // Hard Culvert Daily Service
- if (questprogress(12272,PLAYTIME) == 2)
- callsub L_EraseQuest,12261,12262,12263,12264,12265,12266,12272;
- else {
+ if (questprogress(12272, PLAYTIME) == 2) {
+ callsub(L_EraseQuest, 12261, 12262, 12263, 12264, 12265, 12266, 12272);
+ } else {
// Reward: 1x A Grade Coin
- callsub L_CheckQuest,12261,"Deep Sea Marc",6418,1;
- callsub L_CheckQuest,12262,"Deep Sea Sword Fish",6418,1;
- callsub L_CheckQuest,12263,"Deep Sea Strouf",6418,1;
- callsub L_CheckQuest,12264,"Deep Sea Anolian",6418,1;
- callsub L_CheckQuest,12265,"Deep Sea Obeaune",6418,1;
- callsub L_CheckQuest,12266,"Deep Sea Kapha",6418,1;
+ callsub(L_CheckQuest, 12261, _("Deep Sea Marc"), Agrade_Coin, 1);
+ callsub(L_CheckQuest, 12262, _("Deep Sea Sword Fish"), Agrade_Coin, 1);
+ callsub(L_CheckQuest, 12263, _("Deep Sea Strouf"), Agrade_Coin, 1);
+ callsub(L_CheckQuest, 12264, _("Deep Sea Anolian"), Agrade_Coin, 1);
+ callsub(L_CheckQuest, 12265, _("Deep Sea Obeaune"), Agrade_Coin, 1);
+ callsub(L_CheckQuest, 12266, _("Deep Sea Kapha"), Agrade_Coin, 1);
}
break;
case 3: // General Culvert Weekly Service
- if (questprogress(12273,PLAYTIME) == 2)
- callsub L_EraseQuest,12267,12268,12273;
- else {
+ if (questprogress(12273, PLAYTIME) == 2) {
+ callsub(L_EraseQuest, 12267, 12268, 12273);
+ } else {
// Reward: 1x Sea God's Wrath
- callsub L_CheckQuest,12267,"Weird Coelacanth",6423,1;
- callsub L_CheckQuest,12268,"Gloomy Coelacanth",6423,1;
+ callsub(L_CheckQuest, 12267, _("Weird Coelacanth"), Anger_Seagod, 1);
+ callsub(L_CheckQuest, 12268, _("Gloomy Coelacanth"), Anger_Seagod, 1);
}
break;
case 4: // Hard Culvert Weekly Service
- if (questprogress(12274,PLAYTIME) == 2)
- callsub L_EraseQuest,12269,12270,12274;
- else {
+ if (questprogress(12274, PLAYTIME) == 2) {
+ callsub(L_EraseQuest, 12269, 12270, 12274);
+ } else {
// Reward: 5x Sea God's Wrath
- callsub L_CheckQuest,12269,"Violent Coelacanth",6423,5;
- callsub L_CheckQuest,12270,"Mutant Coelacanth",6423,5;
+ callsub(L_CheckQuest, 12269, _("Violent Coelacanth"), Anger_Seagod, 5);
+ callsub(L_CheckQuest, 12270, _("Mutant Coelacanth"), Anger_Seagod, 5);
}
break;
default:
- mes "[Madeca]";
- mes "Something is wrong. Please check this again!";
- close;
+ mes("[Madeca]");
+ mes("Something is wrong. Please check this again!");
+ close();
}
- mes "[Madeca]";
- mes "I don't see any completed mission!";
- close;
+ mes("[Madeca]");
+ mes("I don't see any completed mission!");
+ close();
L_EraseQuest:
for(.@j = 0; .@j<getargcount(); ++.@j) {
if (questprogress(getarg(.@j)))
- erasequest getarg(.@j);
+ erasequest(getarg(.@j));
}
- mes "[Madeca]";
- mes "Um, I'm sorry. You exceeded the time limit, so I can't give you any payment.";
- close;
+ mes("[Madeca]");
+ mes("Um, I'm sorry. You exceeded the time limit, so I can't give you any payment.");
+ close();
-// callsub L_CheckQuest,<quest ID>,<monster>,<reward item ID>,<reward item amount>;
+// callsub(L_CheckQuest, <quest ID>, <monster>, <reward item ID>, <reward item amount>);
L_CheckQuest:
- if (questprogress(getarg(0),HUNTING) == 2) {
- mes "[Madeca]";
- mes "You've punished ^0000ff"+getarg(1)+"^000000!";
- mes "Here's your pay!";
- erasequest getarg(0);
- specialeffect2 EF_STEAL;
- getitem getarg(2),getarg(3);
- close;
+ if (questprogress(getarg(0), HUNTING) == 2) {
+ mes("[Madeca]");
+ mesf("You've punished ^0000ff%s^000000!", getarg(1));
+ mes("Here's your pay!");
+ erasequest(getarg(0));
+ specialeffect(EF_STEAL, AREA, playerattached());
+ getitem(getarg(2), getarg(3));
+ close();
}
return;
}
@@ -283,248 +299,248 @@ L_CheckQuest:
//== Instance Creation =====================================
mal_in01,160,34,4 script Missing, the Cleaner 4_CAT_SAILOR2,{
if (BaseLevel < 90) {
- mes "[Missing, the Cleaner]";
- mes "Are you talking to me?!";
- next;
- mes "[Missing, the Cleaner]";
- mes "I'm not sure what made you come here but you can't enter!";
- mes "Tomas' orders...";
- next;
- mes "^770099You must be Base level 90 to enter.^000000";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("Are you talking to me?!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("I'm not sure what made you come here but you can't enter!");
+ mes("Tomas' orders...");
+ next();
+ mes("^770099You must be Base level 90 to enter.^000000");
+ close();
}
if (in_canal_n == 0) {
- mes "[Missing, the Cleaner]";
- mes "(trembling)";
- next;
- mes "^660066This cat looks like it's in bad shape. It is slightly trembling.^000000";
- next;
- if(select("Pet the cat", "Are you ok?") == 1) {
- mes "[Missing, the Cleaner]";
- mes "Are you talking to me?!";
- next;
- mes "^660066A trembling cat is looking up at you.^000000";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("(trembling)");
+ next();
+ mes("^660066This cat looks like it's in bad shape. It is slightly trembling.^000000");
+ next();
+ if (select("Pet the cat", "Are you ok?") == 1) {
+ mes("[Missing, the Cleaner]");
+ mes("Are you talking to me?!");
+ next();
+ mes("^660066A trembling cat is looking up at you.^000000");
+ close();
}
- mes "[Missing, the Cleaner]";
- mes "Achoo!";
- next;
- mes "[Missing, the Cleaner]";
- mes "We have had many issues during the";
- mes "cleaning of the culverts. But a";
- mes "cat's gotta do it...";
- next;
+ mes("[Missing, the Cleaner]");
+ mes("Achoo!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("We have had many issues during the");
+ mes("cleaning of the culverts. But a");
+ mes("cat's gotta do it...");
+ next();
select("What culvert are you cleaning?");
- mes "[Missing, the Cleaner]";
- mes "It might look unfamiliar for an";
- mes "outsider, but actually this place";
- mes "is made to keep souvenirs and";
- mes "luxurious things.";
- next;
- mes "[Missing, the Cleaner]";
- mes "After there was a big trembling on";
- mes "this island, things started leaking";
- mes "around here. So that's why I became";
- mes "a cleaner here, though I used";
- mes "to be a manager.";
- next;
- mes "^660066The cat looks like it's been crying...^000000";
- next;
- mes "[Missing, the Cleaner]";
- mes "There is a culvert along this way";
- mes "to the basement. There are many bad";
- mes "guys who hurt me. I am tired of";
- mes "fighting with them so many times a";
- mes "day!";
- next;
- mes "[Missing, the Cleaner]";
- mes "Ohh! You touched my fur!";
- mes "My fur is falling out... it's all";
- mes "those guys' fault~";
- next;
- mes "^660066You just now notice that the cat's fur is missing in some places.^000000";
- next;
+ mes("[Missing, the Cleaner]");
+ mes("It might look unfamiliar for an");
+ mes("outsider, but actually this place");
+ mes("is made to keep souvenirs and");
+ mes("luxurious things.");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("After there was a big trembling on");
+ mes("this island, things started leaking");
+ mes("around here. So that's why I became");
+ mes("a cleaner here, though I used");
+ mes("to be a manager.");
+ next();
+ mes("^660066The cat looks like it's been crying...^000000");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("There is a culvert along this way");
+ mes("to the basement. There are many bad");
+ mes("guys who hurt me. I am tired of");
+ mes("fighting with them so many times a");
+ mes("day!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("Ohh! You touched my fur!");
+ mes("My fur is falling out... it's all");
+ mes("those guys' fault~");
+ next();
+ mes("^660066You just now notice that the cat's fur is missing in some places.^000000");
+ next();
select("Why don't you just quit!");
- mes "[Missing, the Cleaner]";
- mes "I still have to make a living, don't I?";
- next;
- mes "[Missing, the Cleaner]";
- mes "Sometimes I can get a lucky box,";
- mes "or even better, I can get cans...";
- next;
- if(select("Okay, cheers!", "I will help if possible...") == 1) {
- mes "[Missing, the Cleaner]";
- mes "Thank you. I am going back to pour the water!";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("I still have to make a living, don't I?");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("Sometimes I can get a lucky box,");
+ mes("or even better, I can get cans...");
+ next();
+ if (select("Okay, cheers!", "I will help if possible...") == 1) {
+ mes("[Missing, the Cleaner]");
+ mes("Thank you. I am going back to pour the water!");
+ close();
}
- mes "[Missing, the Cleaner]";
- mes "(turns down his voice)";
- mes "If you really want to help, come closer!";
- next;
+ mes("[Missing, the Cleaner]");
+ mes("(turns down his voice)");
+ mes("If you really want to help, come closer!");
+ next();
select("(get in closer)");
- mes "[Missing, the Cleaner]";
- mes "Not everyone can be an assistant";
- mes "here. But I can't help choosing";
- mes "anyone at the moment...";
- next;
- mes "[Missing, the Cleaner]";
- mes "If you want to go down here, let me get this code.";
- next;
- mes "^660066The cat scribbles a memo for code to you.^000000";
- next;
+ mes("[Missing, the Cleaner]");
+ mes("Not everyone can be an assistant");
+ mes("here. But I can't help choosing");
+ mes("anyone at the moment...");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("If you want to go down here, let me get this code.");
+ next();
+ mes("^660066The cat scribbles a memo for code to you.^000000");
+ next();
select("Open the memo.");
- mes "^660000Aragam insulted me.^000000";
- next;
- mes "[Missing, the Cleaner]";
- mes "You must be here with friends";
- mes "because you can't go in alone! And";
- mes "the password code will be from the";
- mes "party leader!";
- next;
- mes "[Missing, the Cleaner]";
- mes "What is also important is you must";
- mes "have a Seagod Protection with you.";
- next;
- mes "[Missing, the Cleaner]";
- mes "Don't forget! I will not open the";
- mes "door if you do not have Seagod Protection!";
+ mes("^660000Aragam insulted me.^000000");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("You must be here with friends");
+ mes("because you can't go in alone! And");
+ mes("the password code will be from the");
+ mes("party leader!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("What is also important is you must");
+ mes("have a Seagod Protection with you.");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("Don't forget! I will not open the");
+ mes("door if you do not have Seagod Protection!");
in_canal_n = 1;
- close;
+ close();
}
if (countitem(Ptotection_Seagod) == 0) {
- mes "[Missing, the Cleaner]";
- mes "You don't look like you have Seagod Protection. I can't open door at the moment!";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("You don't look like you have Seagod Protection. I can't open door at the moment!");
+ close();
}
.@party_id = getcharid(CHAR_ID_PARTY);
- .@md_name$ = "Culvert";
+ .@md_name$ = _("Culvert");
if (!.@party_id) {
- mes "^0000ffYou have to organize a party of";
- mes "more than 1 member or be a member";
- mes "of the party and come back.^000000";
- close;
+ mes("^0000ffYou have to organize a party of");
+ mes("more than 1 member or be a member");
+ mes("of the party and come back.^000000");
+ close();
}
- .@playtime = questprogress(12254,PLAYTIME);
+ .@playtime = questprogress(12254, PLAYTIME);
if (!.@playtime) {
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
- mes "[Missing, the Cleaner]";
- mes "Ummm? What's up? Tell me the password if you're the leader!";
- next;
- switch(select("No... nothing.", "Aragam insulted me.", "Enter the Culvert.")) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2)) {
+ mes("[Missing, the Cleaner]");
+ mes("Ummm? What's up? Tell me the password if you're the leader!");
+ next();
+ switch (select("No... nothing.", "Aragam insulted me.", "Enter the Culvert.")) {
case 1:
- mes "[Missing, the Cleaner]";
- mes "What a rookie.";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("What a rookie.");
+ close();
case 2:
- .@instance = instance_create(.@md_name$,.@party_id);
- if (.@instance < 0) {
- mes "Party name: "+getpartyname(.@party_id);
- mes "Party leader: "+strcharinfo(PC_NAME);
- mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
- close;
- }
- if (instance_attachmap("1@pump",.@instance) == "" || instance_attachmap("2@pump",.@instance) == "") {
- mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
- instance_destroy(.@instance);
- close;
+ .@instance = instance_create(.@md_name$, .@party_id);
+ if (.@instance >= 0) {
+ for (.@i = 1; .@i <= 2; .@i++) {
+ if (instance_attachmap(.@i + "@pump", .@instance) == "") {
+ mesf("Party name: %s", getpartyname(.@party_id));
+ mesf("Party leader: %s", strcharinfo(PC_NAME));
+ mesf("^0000ff%s^000000 - Reservation Failed!", .@md_name$);
+ instance_destroy(.@instance);
+ close();
+ }
+ }
+ instance_set_timeout(3600, 300, .@instance);
+ instance_init(.@instance);
}
- instance_set_timeout 3600,300,.@instance;
- instance_init(.@instance);
-
- mes "^3333FF"+.@md_name$+"^000000 - Reserving";
- mes "After making the reservation, you";
- mes "have to select Enter the Culvert.";
- close;
+ mesf("^3333FF%s^000000 - Reserving", .@md_name$);
+ mes("After making the reservation, you");
+ mes("have to select Enter the Culvert.");
+ close();
case 3:
- callsub L_Enter,0;
+ callsub(L_Enter, 0);
}
}
- if(select("Enter Culvert", "Cancel") == 2)
+ if (select("Enter Culvert", "Cancel") == 2)
end;
- callsub L_Enter,1;
+ callsub(L_Enter, 1);
} else if (.@playtime == 1) {
- mes "You can enter the Culvert if the gate is open.";
- next;
- if(select("Enter Culvert", "Cancel") == 2)
- close;
- callsub L_Enter,0;
+ mes("You can enter the Culvert if the gate is open.");
+ next();
+ if (select("Enter Culvert", "Cancel") == 2)
+ close();
+ callsub(L_Enter, 0);
} else if (.@playtime == 2) {
- mes "^0000ffThe gate to the Culvert is open again.^000000";
- erasequest 12254;
- close;
+ mes("^0000ffThe gate to the Culvert is open again.^000000");
+ erasequest(12254);
+ close();
}
end;
L_Enter:
if (has_instance("1@pump") == "") {
- if (questprogress(12254,PLAYTIME) == 1) {
- mes "The gate to the Culvert is still closed.";
- mes "You must wait until you are able to enter or find a party leader who can create the instance.";
- close;
+ if (questprogress(12254, PLAYTIME) == 1) {
+ mes("The gate to the Culvert is still closed.");
+ mes("You must wait until you are able to enter or find a party leader who can create the instance.");
+ close();
}
- mes "The memorial dungeon Culvert does not exist.";
- mes "The party leader has not reserved entrance to the dungeon yet.";
- close;
+ mes("The memorial dungeon Culvert does not exist.");
+ mes("The party leader has not reserved entrance to the dungeon yet.");
+ close();
}
- mapannounce "mal_in01", strcharinfo(PC_NAME)+" of the party "+getpartyname(.@party_id)+" is entering the Culvert.",bc_map,"0x00ff99";
- if (!questprogress(12254)) setquest 12254;
- warp "1@pump",63,98;
+ mapannounce("mal_in01", sprintf(_$("%s of the party %s is entering the Culvert."), strcharinfo(PC_NAME), getpartyname(.@party_id)), bc_map, C_SPRINGGREEN);
+ if (!questprogress(12254))
+ setquest(12254);
+ warp("1@pump", 63, 98);
end;
}
//== Instance: Common Scripts ==============================
1@pump,63,100,4 script Missing, the Cleaner#0 4_CAT_SAILOR2,{
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
- mes "[Missing, the Cleaner]";
- mes "I am trying to have a conversation with your leader now. Please don't disturb and wait!";
- close;
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
+ mes("[Missing, the Cleaner]");
+ mes("I am trying to have a conversation with your leader now. Please don't disturb and wait!");
+ close();
}
- mes "[Missing, the Cleaner]";
- mes "This is the underground culvert where you will clean with your friends!";
- next;
- mes "[Missing, the Cleaner]";
- mes "I'll open the door first. By the way, do you know how to fight?";
- next;
- switch(select("I'm pretty good at delivering bread.", "I know how to fight.", "^ffffffGive me the diamond.^000000")) {
+ mes("[Missing, the Cleaner]");
+ mes("This is the underground culvert where you will clean with your friends!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("I'll open the door first. By the way, do you know how to fight?");
+ next();
+ switch (select("I'm pretty good at delivering bread.", "I know how to fight.", "^ffffffGive me the diamond.^000000")) {
case 1:
- mes "[Missing, the Cleaner]";
- mes "Ok then, I'll let you clean the culverts here as usual! I will prepare at the right-hand corner, please follow me!";
- next;
- if(select("Wait! I changed my mind!", "As you wish~") == 1) {
- mes "[Missing, the Cleaner]";
- mes "Huh? Not ready yet? Talk to me again when you're ready.";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("Ok then, I'll let you clean the culverts here as usual! I will prepare at the right-hand corner, please follow me!");
+ next();
+ if (select("Wait! I changed my mind!", "As you wish~") == 1) {
+ mes("[Missing, the Cleaner]");
+ mes("Huh? Not ready yet? Talk to me again when you're ready.");
+ close();
}
'party_id = getcharid(CHAR_ID_PARTY);
- mapannounce instance_mapname("1@pump"),"Missing: Move toward the 3 o'clock direction and wait for my next order!",bc_map,"0xff88ff",FW_NORMAL,15;
- disablenpc instance_npcname("Missing, the Cleaner#0");
- enablenpc instance_npcname("Missing, the Cleaner#n");
- close;
+ mapannounce(instance_mapname("1@pump"), _("Missing: Move toward the 3 o'clock direction and wait for my next order!"), bc_map, "0xff88ff", FW_NORMAL, 15);
+ disablenpc(instance_npcname("Missing, the Cleaner#0"));
+ enablenpc(instance_npcname("Missing, the Cleaner#n"));
+ close();
case 2:
if (BaseLevel < 140) {
- mes "[Missing, the Cleaner]";
- mes "Hmmm... Missing thinks you're weak! Tell me the truth!!";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("Hmmm... Missing thinks you're weak! Tell me the truth!!");
+ close();
}
- mes "[Missing, the Cleaner]";
- mes "Huh? You have some fighting skills? Well, then, there is one place I wasn't able to clean... why don't you go there?!";
- next;
- mes "[Missing, the Cleaner]";
- mes "I must tell you that it's been such a long~~ time since we've cleaned that place, so anyone under level 140 cannot even enter! Are you sure you still want to go?";
- next;
- if(select("Wait! I changed my mind!", "Sure, I'm prepared already~") == 1) {
- mes "[Missing, the Cleaner]";
- mes "Hmm? Talk to me again when you're ready.";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("Huh? You have some fighting skills? Well, then, there is one place I wasn't able to clean... why don't you go there?!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("I must tell you that it's been such a long~~ time since we've cleaned that place, so anyone under level 140 cannot even enter! Are you sure you still want to go?");
+ next();
+ if (select("Wait! I changed my mind!", "Sure, I'm prepared already~") == 1) {
+ mes("[Missing, the Cleaner]");
+ mes("Hmm? Talk to me again when you're ready.");
+ close();
}
'party_id = getcharid(CHAR_ID_PARTY);
- mapannounce instance_mapname("1@pump"),"Missing: I'll go in first, so follow me! I'll open up a gate at the 3 o'clock direction!",bc_map,"0xff88ff",FW_NORMAL,15;
- disablenpc instance_npcname("Missing, the Cleaner#0");
- enablenpc instance_npcname("Culvert Entrance#i");
- close;
+ mapannounce(instance_mapname("1@pump"), _("Missing: I'll go in first, so follow me! I'll open up a gate at the 3 o'clock direction!"), bc_map, "0xff88ff", FW_NORMAL, 15);
+ disablenpc(instance_npcname("Missing, the Cleaner#0"));
+ enablenpc(instance_npcname("Culvert Entrance#i"));
+ close();
case 3:
- mes "[Missing, the Cleaner]";
- mes "I told you not to play with me~!";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("I told you not to play with me~!");
+ close();
}
end;
}
@@ -532,134 +548,134 @@ L_Enter:
1@pump,84,105,0 script Culvert Entrance#i WARPNPC,3,3,{
end;
OnInstanceInit:
- disablenpc instance_npcname("Culvert Entrance#i");
+ disablenpc(instance_npcname("Culvert Entrance#i"));
end;
OnTouch:
if (BaseLevel >= 140)
- warp instance_mapname("2@pump"),38,88;
+ warp(instance_mapname("2@pump"), 38, 88);
else
- warp instance_mapname("1@pump"),74,105;
+ warp(instance_mapname("1@pump"), 74, 105);
end;
}
function script F_mal_missing {
- mes "[Missing, the Cleaner]";
- mes "I will tell you how to clean shortly. Can you see the culverts around you?";
- next;
- if(select("What culverts??", "Yes, I see them.") == 1) {
- mes "[Missing, the Cleaner]";
- mes "Huh? Is this your first time seeing culverts? You'll see many buried machines in the ground. You may look around and come back!";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("I will tell you how to clean shortly. Can you see the culverts around you?");
+ next();
+ if (select("What culverts??", "Yes, I see them.") == 1) {
+ mes("[Missing, the Cleaner]");
+ mes("Huh? Is this your first time seeing culverts? You'll see many buried machines in the ground. You may look around and come back!");
+ close();
}
- mes "[Missing, the Cleaner]";
- mes "That's right! Those culverts are very important! We must clean the culverts to prevent seaweed from blocking them. This is what we, cleaners, do!";
- next;
- mes "[Missing, the Cleaner]";
- mes "Watch out! Some monsters will be after you while you're cleaning the culverts! But do not yield to them!";
- next;
- mes "[Missing, the Cleaner]";
- mes "And... NEVER let 6 seaweeds stack! Up to 5 is acceptable! If there are 6, I'll drag you out of here!!";
- next;
- mes "[Missing, the Cleaner]";
- mes "I don't care if you get help from your friends or not. I want you to clean up all culverts! Don't forget! I will watch you and give you instructions. Just do what I said!!";
- next;
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
- mes "[Missing, the Cleaner]";
- mes "Once your leader finishes preparing, it will begin, so get your hearts ready for it!!";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("That's right! Those culverts are very important! We must clean the culverts to prevent seaweed from blocking them. This is what we, cleaners, do!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("Watch out! Some monsters will be after you while you're cleaning the culverts! But do not yield to them!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("And... NEVER let 6 seaweeds stack! Up to 5 is acceptable! If there are 6, I'll drag you out of here!!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("I don't care if you get help from your friends or not. I want you to clean up all culverts! Don't forget! I will watch you and give you instructions. Just do what I said!!");
+ next();
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
+ mes("[Missing, the Cleaner]");
+ mes("Once your leader finishes preparing, it will begin, so get your hearts ready for it!!");
+ close();
}
- mes "[Missing, the Cleaner]";
- mes "So, are you ready to clean now?";
- next;
- switch(select("Wait! Not yet!", "Let's start!")) {
+ mes("[Missing, the Cleaner]");
+ mes("So, are you ready to clean now?");
+ next();
+ switch (select("Wait! Not yet!", "Let's start!")) {
case 1:
- mes "[Missing, the Cleaner]";
- mes "Huh? Not ready yet? Then talk to me when you're ready.";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("Huh? Not ready yet? Then talk to me when you're ready.");
+ close();
case 2:
- mes "[Missing, the Cleaner]";
- mes "OK! Now it begins!";
+ mes("[Missing, the Cleaner]");
+ mes("OK! Now it begins!");
return;
}
}
//== Instance: Normal Mode =================================
1@pump,84,105,4 script Missing, the Cleaner#nf 4_CAT_SAILOR2,{
- mes "[Missing, the Cleaner]";
- mes "I have the cleaning job for 40 years and I've never seen such a terrible team!!";
- next;
- mes "[Missing, the Cleaner]";
- mes "I see seaweed everywhere because you're wiggling! All the culverts will be blocked with seaweed!";
- next;
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY),2)) {
- mes "[Missing, the Cleaner]";
- mes "Once your leader finishes preparing, settlement will be decided so get your hearts ready for it!!";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("I have the cleaning job for 40 years and I've never seen such a terrible team!!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("I see seaweed everywhere because you're wiggling! All the culverts will be blocked with seaweed!");
+ next();
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
+ mes("[Missing, the Cleaner]");
+ mes("Once your leader finishes preparing, settlement will be decided so get your hearts ready for it!!");
+ close();
}
- mes "[Missing, the Cleaner]";
- mes "If you got some guts to challenge again, I'll give you another chance! What's your choice going to be!?";
- next;
- switch(select("Wait! Not yet!", "Okay, let's start again!")) {
+ mes("[Missing, the Cleaner]");
+ mes("If you got some guts to challenge again, I'll give you another chance! What's your choice going to be!?");
+ next();
+ switch (select("Wait! Not yet!", "Okay, let's start again!")) {
case 1:
- mes "[Missing, the Cleaner]";
- mes "You're still slow! Talk to me again whenever your're ready.";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("You're still slow! Talk to me again whenever your're ready.");
+ close();
case 2:
- mes "[Missing, the Cleaner]";
- mes "Ok! Let's start now!";
- .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0);
- enablenpc instance_npcname("Missing, the Cleaner#"+.@i$);
- donpcevent instance_npcname("Missing, the Cleaner#"+.@i$)+"::OnStart";
- disablenpc instance_npcname("Culvert Entrance#"+.@i$);
- disablenpc instance_npcname("Missing, the Cleaner#"+.@i$+"o");
- donpcevent instance_npcname("Monster Hole#"+.@i$)+"::OnClear";
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- close;
+ mes("[Missing, the Cleaner]");
+ mes("Ok! Let's start now!");
+ .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0);
+ enablenpc(instance_npcname("Missing, the Cleaner#"+.@i$));
+ donpcevent(instance_npcname("Missing, the Cleaner#"+.@i$)+"::OnStart");
+ disablenpc(instance_npcname("Culvert Entrance#"+.@i$));
+ disablenpc(instance_npcname("Missing, the Cleaner#"+.@i$+"o"));
+ donpcevent(instance_npcname("Monster Hole#"+.@i$)+"::OnClear");
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
+ close();
}
- close;
+ close();
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
}
1@pump,84,105,4 script Missing, the Cleaner#n 4_CAT_SAILOR2,{
- callfunc "F_mal_missing";
- donpcevent instance_npcname("Missing, the Cleaner#n")+"::OnStart";
- close;
+ callfunc("F_mal_missing");
+ donpcevent(instance_npcname("Missing, the Cleaner#n")+"::OnStart");
+ close();
OnInstanceInit:
- disablenpc instance_npcname("Missing, the Cleaner#n");
+ disablenpc(instance_npcname("Missing, the Cleaner#n"));
end;
OnStart:
- killmonster instance_mapname("1@pump"),instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead";
- disablenpc instance_npcname("Missing, the Cleaner#n");
- initnpctimer;
+ killmonster(instance_mapname("1@pump"), instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead");
+ disablenpc(instance_npcname("Missing, the Cleaner#n"));
+ initnpctimer();
end;
OnAddSeaweed:
.@map$ = instance_mapname("1@pump");
- areamonster .@map$,55,99,61,105,"Contaminated Seaweed",2191,1,instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead";
- .@mob_dead_num = mobcount(.@map$,instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead");
+ areamonster(.@map$, 55, 99, 61, 105, _("Contaminated Seaweed"), MD_SEAWEED, 1, instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead");
if (.@mob_dead_num >= 6)
- donpcevent instance_npcname("Missing, the Cleaner#n")+"::OnFail";
+ donpcevent(instance_npcname("Missing, the Cleaner#n")+"::OnFail");
else
- mapannounce .@map$,"Contaminated Seaweed: "+.@mob_dead_num+" stem",bc_map,"0xff3333",FW_NORMAL,20;
+ mapannounce(.@map$, sprintf(_$("Contaminated Seaweed: %s stem"), .@mob_dead_num), bc_map, "0xff3333", FW_NORMAL, 20);
end;
OnMyMobDead:
end;
OnFail:
- stopnpctimer;
- donpcevent instance_npcname("Monster Hole#n")+"::OnClear";
+ stopnpctimer();
+ donpcevent(instance_npcname("Monster Hole#n")+"::OnClear");
.@map$ = instance_mapname("1@pump");
- killmonster .@map$,instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead";
- enablenpc instance_npcname("Missing, the Cleaner#nf");
- mapannounce .@map$,"What is this!! Seaweed is all over the culverts! You're done with cleaning! Get out!!",bc_map,"0xff88ff",FW_NORMAL,15;
- disablenpc instance_npcname("Missing, the Cleaner#n");
+ killmonster(.@map$, instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead");
+ enablenpc(instance_npcname("Missing, the Cleaner#nf"));
+ mapannounce(.@map$, _("What is this!! Seaweed is all over the culverts! You're done with cleaning! Get out!!"), bc_map, "0xff88ff", FW_NORMAL, 15);
+ disablenpc(instance_npcname("Missing, the Cleaner#n"));
end;
OnTimer100:
- mapannounce instance_mapname("1@pump"),"First culvert will be opened in 5 sec. Cleaner can find the opened drain and click to start cleaning.",bc_map,"0x00ffcc",FW_NORMAL,15;
+ mapannounce(instance_mapname("1@pump"), _("First culvert will be opened in 5 sec. Cleaner can find the opened drain and click to start cleaning."), bc_map, "0x00ffcc", FW_NORMAL, 15);
end;
OnTimer5500:
- mapannounce instance_mapname("1@pump"),"The one who's in charge of cleaning the culvert cannot move or be attacked until the casting is over.",bc_map,"0x00ffcc",FW_NORMAL,15;
- donpcevent instance_npcname("Monster Hole#n")+"::OnSpawn";
+ mapannounce(instance_mapname("1@pump"), _("The one who's in charge of cleaning the culvert cannot move or be attacked until the casting is over."), bc_map, "0x00ffcc", FW_NORMAL, 15);
+ donpcevent(instance_npcname("Monster Hole#n")+"::OnSpawn");
end;
OnTimer45000:
OnTimer95000:
@@ -670,12 +686,12 @@ OnTimer295000:
OnTimer345000:
OnTimer395000:
OnTimer445000:
- mapannounce instance_mapname("1@pump"),"Next culvert will be opened in 5 sec. Please hurry up and find the position of the next culvert.",bc_map,"0x00ffcc",FW_NORMAL,15;
+ mapannounce(instance_mapname("1@pump"), _("Next culvert will be opened in 5 sec. Please hurry up and find the position of the next culvert."), bc_map, "0x00ffcc", FW_NORMAL, 15);
end;
OnTimer50000:
OnTimer100000:
OnTimer150000:
- donpcevent instance_npcname("Monster Hole#n")+"::OnSpawn";
+ donpcevent(instance_npcname("Monster Hole#n")+"::OnSpawn");
end;
OnTimer200000:
OnTimer250000:
@@ -683,103 +699,116 @@ OnTimer300000:
OnTimer350000:
OnTimer400000:
OnTimer450000:
- .@mob_dead_num = mobcount(instance_mapname("1@pump"),instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(instance_mapname("1@pump"), instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead");
if (.@mob_dead_num >= 6)
- donpcevent instance_npcname("Missing, the Cleaner#n")+"::OnFail";
+ donpcevent(instance_npcname("Missing, the Cleaner#n")+"::OnFail");
else
- donpcevent instance_npcname("Monster Hole#n")+"::OnSpawn";
+ donpcevent(instance_npcname("Monster Hole#n")+"::OnSpawn");
end;
OnTimer515000:
.@map$ = instance_mapname("1@pump");
- .@mob_dead_num = mobcount(.@map$,instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead");
- mapannounce .@map$,"Contaminated Seaweed: "+.@mob_dead_num+" stem. Missing will come and inspect the results of the cleaning soon.",bc_map,"0xff3333",FW_NORMAL,20;
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead");
+ mapannounce(.@map$, sprintf(_$("Contaminated Seaweed: %s stem. Missing will come and inspect the results of the cleaning soon."), .@mob_dead_num), bc_map, "0xff3333", FW_NORMAL, 20);
end;
OnTimer520000:
- stopnpctimer;
- .@mob_dead_num = mobcount(instance_mapname("1@pump"),instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead");
+ stopnpctimer();
+ .@mob_dead_num = mobcount(instance_mapname("1@pump"), instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead");
if (.@mob_dead_num >= 6)
- donpcevent instance_npcname("Missing, the Cleaner#n")+"::OnFail";
+ donpcevent(instance_npcname("Missing, the Cleaner#n")+"::OnFail");
else
- donpcevent instance_npcname("Boss Creation#n")+"::OnEnable";
+ donpcevent(instance_npcname("Boss Creation#n")+"::OnEnable");
end;
}
1@pump,1,1,4 script Monster Hole#n FAKE_NPC,{
end;
OnSpawn:
- .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0);
+ .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0);
if (.@i$ == "n")
.@n = 6;
else if (.@i$ == "h")
.@n = 10;
- donpcevent instance_npcname("#Culvert_"+.@i$+rand(1,.@n))+"::OnEnable";
+ donpcevent(instance_npcname("#Culvert_"+.@i$+rand(1, .@n))+"::OnEnable");
end;
OnClear:
- .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0);
+ .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0);
if (.@i$ == "n")
.@n = 6;
else if (.@i$ == "h")
.@n = 10;
- for(.@i = 1; .@i<=.@n; ++.@i)
- donpcevent instance_npcname("#Culvert_"+.@i$+.@n)+"::OnClear";
+ for(.@i = 1; .@i <= .@n; ++.@i)
+ donpcevent(instance_npcname("#Culvert_"+.@i$+.@n)+"::OnClear");
end;
}
1@pump,36,111,4 script #Culvert_n1 CLEAR_NPC,14,14,{ //temporary workaround for ALL_SAMEMAP
- progressbar "0xFFFF00",10;
- stopnpctimer;
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ progressbar(sprintf("0x%x", C_YELLOW), 10);
+ stopnpctimer();
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
.@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
.@map$ = instance_mapname("1@pump");
- .@index = atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),9));
- switch(.@index) {
- case 1: setarray .@c[0],32,107,40,115; break;
- case 2: setarray .@c[0],64,120,72,128; break;
- case 3: setarray .@c[0],76,110,84,118; break;
- case 4: setarray .@c[0],36,76,44,84; break;
- case 5: setarray .@c[0],71,76,79,84; break;
- case 6: setarray .@c[0],54,97,62,105; break;
+ .@index = atoi(charat(strnpcinfo(NPC_NAME_HIDDEN), 9));
+ switch (.@index) {
+ case 1:
+ setarray(.@c[0], 32, 107, 40, 115);
+ break;
+ case 2:
+ setarray(.@c[0], 64, 120, 72, 128);
+ break;
+ case 3:
+ setarray(.@c[0], 76, 110, 84, 118);
+ break;
+ case 4:
+ setarray(.@c[0], 36, 76, 44, 84);
+ break;
+ case 5:
+ setarray(.@c[0], 71, 76, 79, 84);
+ break;
+ case 6:
+ setarray(.@c[0], 54, 97, 62, 105);
+ break;
}
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Crab",2176,rand(1,3),.@label$;
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Marse",2175,rand(1,3),.@label$;
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Vadon",2174,rand(1,3),.@label$;
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Shellfish",2178,rand(1,3),.@label$;
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Kukre",2179,rand(1,3),.@label$;
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Cornutus",2177,rand(1,3),.@label$;
- specialeffect EF_MAPPILLAR2,ALL_SAMEMAP; //currently broken
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Abysmal Crab"), MD_CRAB, rand(1, 3), .@label$);
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Abysmal Marse"), MD_MARSE, rand(1, 3), .@label$);
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Ancient Vadon"), MD_VADON, rand(1, 3), .@label$);
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Abysmal Shellfish"), MD_SHELLFISH, rand(1, 3), .@label$);
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Ancient Kukre"), MD_KUKRE, rand(1, 3), .@label$);
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Abysmal Cornutus"), MD_CORNUTUS, rand(1, 3), .@label$);
+ specialeffect(EF_MAPPILLAR2, ALL_SAMEMAP); //currently broken
getmapxy(.@map$, .@x, .@y, UNITTYPE_NPC);
- getpartymember 'party_id,2;
- copyarray .@partymemberaid[0],$@partymemberaid[0],$@partymembercount;
+ getpartymember('party_id, 2);
+ copyarray(.@partymemberaid[0], $@partymemberaid[0], $@partymembercount);
for(.@i = 0; .@i<$@partymembercount; ++.@i) {
if (attachrid(.@partymemberaid[.@i])) {
if (strcharinfo(PC_MAP) == .@map$)
- viewpoint 0,.@x,.@y,.@index,0xFFFF00;
- detachrid;
+ viewpoint(0, .@x, .@y, .@index, C_YELLOW);
+ detachrid();
}
}
- initnpctimer;
+ initnpctimer();
end;
OnMyMobDead:
end;
OnClear:
- stopnpctimer;
- killmonster instance_mapname("1@pump"),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
+ stopnpctimer();
+ killmonster(instance_mapname("1@pump"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
end;
OnTimer49500: //OnTimer50000 clashes with the timer in "Missing, the Cleaner#h".
- donpcevent instance_npcname("Missing, the Cleaner#n")+"::OnAddSeaweed";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnClear";
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ donpcevent(instance_npcname("Missing, the Cleaner#n")+"::OnAddSeaweed");
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnClear");
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnTouch:
- specialeffect EF_MAPPILLAR2;
+ specialeffect(EF_MAPPILLAR2);
end;
}
+
1@pump,68,124,4 duplicate(#Culvert_n1) #Culvert_n2 CLEAR_NPC,14,14
1@pump,80,114,4 duplicate(#Culvert_n1) #Culvert_n3 CLEAR_NPC,14,14
1@pump,40,80,4 duplicate(#Culvert_n1) #Culvert_n4 CLEAR_NPC,14,14
@@ -789,126 +818,139 @@ OnTouch:
1@pump,1,1,4 script Boss Creation#n FAKE_NPC,{
end;
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
- initnpctimer;
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
+ initnpctimer();
end;
OnTimer100:
- .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0);
+ .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0);
if (.@i$ == "n")
- mapannounce instance_mapname("1@pump"),"Hmm! That wasn't so bad!",bc_map,"0xff88ff",FW_NORMAL,15;
+ mapannounce(instance_mapname("1@pump"), _("Hmm! That wasn't so bad!"), bc_map, "0xff88ff", FW_NORMAL, 15);
else if (.@i$ == "h")
- mapannounce instance_mapname("2@pump"),"Hmm! You guys are pretty good!!",bc_map,"0xff88ff",FW_NORMAL,15;
+ mapannounce(instance_mapname("2@pump"), _("Hmm! You guys are pretty good!!"), bc_map, "0xff88ff", FW_NORMAL, 15);
end;
OnTimer5000:
- mapannounce strnpcinfo(NPC_MAP),"Let's pack up and go... WHAT!!?",bc_map,"0xff88ff",FW_NORMAL,15;
+ mapannounce(strnpcinfo(NPC_MAP), _("Let's pack up and go... WHAT!!?"), bc_map, "0xff88ff", FW_NORMAL, 15);
end;
OnTimer10000:
- mapannounce strnpcinfo(NPC_MAP),"I sense something strange!! Don't loosen up-- prepare for a fight!!",bc_map,"0xff88ff",FW_NORMAL,15;
+ mapannounce(strnpcinfo(NPC_MAP), _("I sense something strange!! Don't loosen up-- prepare for a fight!!"), bc_map, "0xff88ff", FW_NORMAL, 15);
end;
OnTimer20000:
- stopnpctimer;
- .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0);
+ stopnpctimer();
+ .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0);
.@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- if (rand(1,100) > 50) {
+ if (rand(1, 100) > 50) {
if (.@i$ == "n")
- monster instance_mapname("1@pump"),0,0,"Weird Coelacanth",2188,1,.@label$;
+ monster(instance_mapname("1@pump"), 0, 0, _("Weird Coelacanth"), COELACANTH_N_M, 1, .@label$);
else if (.@i$ == "h")
- monster instance_mapname("2@pump"),0,0,"Mutant Coelacanth",2189,1,.@label$;
- mapannounce strnpcinfo(NPC_MAP),"Something big inside the abyss appears with a huge noise.",bc_map,"0x00ffcc",FW_NORMAL,15;
+ monster(instance_mapname("2@pump"), 0, 0, _("Mutant Coelacanth"), COELACANTH_H_M, 1, .@label$);
+ mapannounce(strnpcinfo(NPC_MAP), _("Something big inside the abyss appears with a huge noise."), bc_map, "0x00ffcc", FW_NORMAL, 15);
} else {
if (.@i$ == "n")
- monster instance_mapname("1@pump"),0,0,"Gloomy Coelacanth",2187,1,.@label$;
+ monster(instance_mapname("1@pump"), 0, 0, _("Gloomy Coelacanth"), COELACANTH_N_A, 1, .@label$);
else if (.@i$ == "h")
- monster instance_mapname("2@pump"),0,0,"Violent Coelacanth",2190,1,.@label$;
- mapannounce strnpcinfo(NPC_MAP),"Something savage inside the abyss appears with a huge noise.",bc_map,"0x00ffcc",FW_NORMAL,15;
+ monster(instance_mapname("2@pump"), 0, 0, _("Violent Coelacanth"), COELACANTH_H_A, 1, .@label$);
+ mapannounce(strnpcinfo(NPC_MAP), _("Something savage inside the abyss appears with a huge noise."), bc_map, "0x00ffcc", FW_NORMAL, 15);
}
end;
OnMyMobDead:
- if (mobcount(strnpcinfo(NPC_MAP),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
- mapannounce strnpcinfo(NPC_MAP),"You've destroyed all monsters in the culverts. There are trophies lying on the ground, please look for them.",bc_map,"0xffff00",FW_NORMAL,15;
- .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0);
+ if (mobcount(strnpcinfo(NPC_MAP), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
+ mapannounce(strnpcinfo(NPC_MAP), _("You've destroyed all monsters in the culverts. There are trophies lying on the ground, please look for them."), bc_map, C_YELLOW, FW_NORMAL, 15);
+ .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0);
.@map$ = strnpcinfo(NPC_MAP);
- enablenpc instance_npcname("Culvert Entrance#"+.@i$);
- enablenpc instance_npcname("Missing, the Cleaner#"+.@i$+"o");
+ enablenpc(instance_npcname("Culvert Entrance#"+.@i$));
+ enablenpc(instance_npcname("Missing, the Cleaner#"+.@i$+"o"));
if (.@i$ == "n") {
- for(.@i = 0; .@i<10; ++.@i) {
- .@j = rand(1,6401);
- if (.@j < 5001) .@item = 12636; //Malang_Sp_Can
- else if (.@j < 5501) .@item = 12615; //Low_Coin_Pocket
- else if (.@j < 6001) .@item = 12621; //Egrade_Pocket
- else if (.@j < 6201) .@item = 12620; //Dgrade_Pocket
- else if (.@j < 6401) .@item = 12623; //High_Weapon_Box
- else continue;
- makeitem .@item,1,.@map$,rand(40,77),rand(87,120);
+ for(.@i = 0; .@i < 10; ++.@i) {
+ .@j = rand(1, 6401);
+ if (.@j < 5001)
+ .@item = Malang_Sp_Can;
+ else if (.@j < 5501)
+ .@item = Low_Coin_Pocket;
+ else if (.@j < 6001)
+ .@item = Egrade_Pocket;
+ else if (.@j < 6201)
+ .@item = Dgrade_Pocket;
+ else if (.@j < 6401)
+ .@item = High_Weapon_Box;
+ else
+ continue;
+ makeitem(.@item, 1, .@map$, rand(40, 77), rand(87, 120));
}
} else if (.@i$ == "h") {
- for(.@i = 0; .@i<10; ++.@i) {
- .@j = rand(1,5001);
- if (.@j < 2001) .@item = 12615; //Low_Coin_Pocket
- else if (.@j < 3001) .@item = 12621; //Egrade_Pocket
- else if (.@j < 4001) .@item = 12620; //Dgrade_Pocket
- else if (.@j < 4501) .@item = 12619; //Cgrade_Pocket
- else if (.@j < 5001) .@item = 12623; //High_Weapon_Box
- else continue;
- makeitem .@item,1,.@map$,rand(40,77),rand(87,120);
+ for(.@i = 0; .@i < 10; ++.@i) {
+ .@j = rand(1, 5001);
+ if (.@j < 2001)
+ .@item = Low_Coin_Pocket;
+ else if (.@j < 3001)
+ .@item = Egrade_Pocket;
+ else if (.@j < 4001)
+ .@item = Dgrade_Pocket;
+ else if (.@j < 4501)
+ .@item = Cgrade_Pocket;
+ else if (.@j < 5001)
+ .@item = High_Weapon_Box;
+ else
+ continue;
+ makeitem(.@item, 1, .@map$, rand(40, 77), rand(87, 120));
}
}
- } else
- mapannounce strnpcinfo(NPC_MAP),"There are still monsters alive.",bc_map,"0x00ff99",FW_NORMAL,20;
+ } else {
+ mapannounce(strnpcinfo(NPC_MAP), _("There are still monsters alive."), bc_map, C_SPRINGGREEN, FW_NORMAL, 20);
+ }
end;
}
1@pump,84,105,4 script Missing, the Cleaner#no 4_CAT_SAILOR2,{
- .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0);
+ .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0);
if (.@i$ == "n") {
- mes "[Missing, the Cleaner]";
- mes "I was very surprised!!";
- next;
- mes "[Missing, the Cleaner]";
- mes "That funny-looking fish seems to be one of Coelacanths living around here. This is my first time seeing one coming here alone!";
- next;
- mes "[Missing, the Cleaner]";
- mes "I'll clean up the remains. Go pack and leave! Enterance is located on the other side, look for it!";
- next;
+ mes("[Missing, the Cleaner]");
+ mes("I was very surprised!!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("That funny-looking fish seems to be one of Coelacanths living around here. This is my first time seeing one coming here alone!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("I'll clean up the remains. Go pack and leave! Enterance is located on the other side, look for it!");
+ next();
} else if (.@i$ == "h") {
- mes "[Missing, the Cleaner]";
- mes "You've destroyed an immense monster!";
- next;
- mes "[Missing, the Cleaner]";
- mes "The one you destroyed was among the variety of Coelacanths. Others have tried to destroy them but failed.";
- next;
- mes "[Missing, the Cleaner]";
- mes "I'll clean up the remains. You go ahead to get trophies and leave!";
- next;
+ mes("[Missing, the Cleaner]");
+ mes("You've destroyed an immense monster!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("The one you destroyed was among the variety of Coelacanths. Others have tried to destroy them but failed.");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("I'll clean up the remains. You go ahead to get trophies and leave!");
+ next();
}
- mes "[Missing, the Cleaner]";
- mes "One more thing! DO NOT TALK to ANYONE about what you've seen here today!!";
- next;
- mes "[Missing, the Cleaner]";
- mes "If Tomas closes this down, we will lose our jobs!";
- close;
+ mes("[Missing, the Cleaner]");
+ mes("One more thing! DO NOT TALK to ANYONE about what you've seen here today!!");
+ next();
+ mes("[Missing, the Cleaner]");
+ mes("If Tomas closes this down, we will lose our jobs!");
+ close();
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
}
1@pump,32,100,0 script Culvert Entrance#n WARPNPC,3,3,{
end;
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnTouch:
- warp "mal_in01",161,32;
+ warp("mal_in01", 161, 32);
end;
}
//MD_Putmob "1@pump" 0 0 0 0 20 HYDRA 0 0 2
1@pump,1,1,4 script Hydra#n FAKE_NPC,{
OnInstanceInit:
- monster strnpcinfo(NPC_MAP),0,0,"Hydra",1068,20;
+ monster(strnpcinfo(NPC_MAP), 0, 0, _("Hydra"), HYDRA, 20);
end;
}
@@ -916,40 +958,40 @@ OnInstanceInit:
2@pump,39,88,4 duplicate(Missing, the Cleaner#nf) Missing, the Cleaner#hf 4_CAT_SAILOR2
2@pump,39,88,4 script Missing, the Cleaner#h 4_CAT_SAILOR2,{
- callfunc "F_mal_missing";
- donpcevent instance_npcname("Missing, the Cleaner#h")+"::OnStart";
- close;
+ callfunc("F_mal_missing");
+ donpcevent(instance_npcname("Missing, the Cleaner#h")+"::OnStart");
+ close();
OnStart:
- killmonster instance_mapname("2@pump"),instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead";
- disablenpc instance_npcname("Missing, the Cleaner#h");
- initnpctimer;
+ killmonster(instance_mapname("2@pump"), instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead");
+ disablenpc(instance_npcname("Missing, the Cleaner#h"));
+ initnpctimer();
end;
OnAddSeaweed:
.@map$ = instance_mapname("2@pump");
- areamonster .@map$,75,78,85,88,"Contaminated Seaweed",2191,1,instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead";
- .@mob_dead_num = mobcount(.@map$,instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead");
+ areamonster(.@map$, 75, 78, 85, 88, _("Contaminated Seaweed"), MD_SEAWEED, 1, instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(.@map$, instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead");
if (.@mob_dead_num >= 6)
- donpcevent instance_npcname("Missing, the Cleaner#h")+"::OnFail";
+ donpcevent(instance_npcname("Missing, the Cleaner#h")+"::OnFail");
else
- mapannounce .@map$,"Proliferous Contaminated Seaweed: "+.@mob_dead_num+" stem",bc_map,"0xff3333",FW_NORMAL,20;
+ mapannounce(.@map$, sprintf(_$("Proliferous Contaminated Seaweed: %s stem"), .@mob_dead_num), bc_map, "0xff3333", FW_NORMAL, 20);
end;
OnMyMobDead:
end;
OnFail:
- stopnpctimer;
- donpcevent instance_npcname("Monster Hole#h")+"::OnClear";
+ stopnpctimer();
+ donpcevent(instance_npcname("Monster Hole#h")+"::OnClear");
.@map$ = instance_mapname("2@pump");
- killmonster .@map$, instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead";
- enablenpc instance_npcname("Missing, the Cleaner#hf");
- mapannounce .@map$,"What is this!! Seaweed is all over the culverts! You're done with cleaning! Get out!!",bc_map,"0xff88ff",FW_NORMAL,15;
- disablenpc instance_npcname("Missing, the Cleaner#h");
+ killmonster(.@map$, instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead");
+ enablenpc(instance_npcname("Missing, the Cleaner#hf"));
+ mapannounce(.@map$, _("What is this!! Seaweed is all over the culverts! You're done with cleaning! Get out!!"), bc_map, "0xff88ff", FW_NORMAL, 15);
+ disablenpc(instance_npcname("Missing, the Cleaner#h"));
end;
OnTimer100:
- mapannounce instance_mapname("2@pump"),"First culvert will be opened in 5 sec. Cleaner can find the opened drain and click to start cleaning.",bc_map,"0x00ffcc",FW_NORMAL,15;
+ mapannounce(instance_mapname("2@pump"), _("First culvert will be opened in 5 sec. Cleaner can find the opened drain and click to start cleaning."), bc_map, "0x00ffcc", FW_NORMAL, 15);
end;
OnTimer5500:
- mapannounce instance_mapname("2@pump"),"The one who's in charge of cleaning the culvert cannot move or be attacked until the casting is over.",bc_map,"0x00ffcc",FW_NORMAL,15;
- donpcevent instance_npcname("Monster Hole#h")+"::OnSpawn";
+ mapannounce(instance_mapname("2@pump"), _("The one who's in charge of cleaning the culvert cannot move or be attacked until the casting is over."), bc_map, "0x00ffcc", FW_NORMAL, 15);
+ donpcevent(instance_npcname("Monster Hole#h")+"::OnSpawn");
end;
OnTimer35000:
OnTimer75000:
@@ -960,12 +1002,12 @@ OnTimer235000:
OnTimer275000:
OnTimer315000:
OnTimer355000:
- mapannounce instance_mapname("2@pump"),"Next culvert will be opened in 5 sec. Please hurry up and find the position of the next culvert.",bc_map,"0x00ffcc",FW_NORMAL,15;
+ mapannounce(instance_mapname("2@pump"), _("Next culvert will be opened in 5 sec. Please hurry up and find the position of the next culvert."), bc_map, "0x00ffcc", FW_NORMAL, 15);
end;
OnTimer40000:
OnTimer80000:
OnTimer120000:
- donpcevent instance_npcname("Monster Hole#h")+"::OnSpawn";
+ donpcevent(instance_npcname("Monster Hole#h")+"::OnSpawn");
end;
OnTimer160000:
OnTimer200000:
@@ -973,72 +1015,92 @@ OnTimer240000:
OnTimer280000:
OnTimer320000:
OnTimer360000:
- .@mob_dead_num = mobcount(instance_mapname("2@pump"),instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead");
+ .@mob_dead_num = mobcount(instance_mapname("2@pump"), instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead");
if (.@mob_dead_num >= 6)
- donpcevent instance_npcname("Missing, the Cleaner#h")+"::OnFail";
+ donpcevent(instance_npcname("Missing, the Cleaner#h")+"::OnFail");
else
- donpcevent instance_npcname("Monster Hole#h")+"::OnSpawn";
+ donpcevent(instance_npcname("Monster Hole#h")+"::OnSpawn");
end;
OnTimer420000:
- mapannounce instance_mapname("2@pump"),"It seems Missing will come and inspect the results of the cleaning soon. Shall we clean up the mess around here?",bc_map,"0xff3333",FW_NORMAL,20;
+ mapannounce(instance_mapname("2@pump"), _("It seems Missing will come and inspect the results of the cleaning soon. Shall we clean up the mess around here?"), bc_map, "0xff3333", FW_NORMAL, 20);
end;
OnTimer425000:
- stopnpctimer;
- .@mob_dead_num = mobcount(instance_mapname("2@pump"),instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead");
+ stopnpctimer();
+ .@mob_dead_num = mobcount(instance_mapname("2@pump"), instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead");
if (.@mob_dead_num >= 6)
- donpcevent instance_npcname("Missing, the Cleaner#h")+"::OnFail";
+ donpcevent(instance_npcname("Missing, the Cleaner#h")+"::OnFail");
else
- donpcevent instance_npcname("Boss Creation#h")+"::OnEnable";
+ donpcevent(instance_npcname("Boss Creation#h")+"::OnEnable");
end;
}
2@pump,53,114,4 script #Culvert_h1 CLEAR_NPC,14,14,{ //temporary workaround for ALL_SAMEMAP
- progressbar "0xFFFF00",15;
- stopnpctimer;
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ progressbar(sprintf("0x%x", C_YELLOW), 15);
+ stopnpctimer();
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
.@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
.@map$ = instance_mapname("2@pump");
- .@index = atoi(substr(strnpcinfo(NPC_NAME_HIDDEN),9,getstrlen(strnpcinfo(NPC_NAME_HIDDEN))-1));
- switch(.@index) {
- case 1: setarray .@c[0],49,110,57,118; break;
- case 2: setarray .@c[0],75,105,83,113; break;
- case 3: setarray .@c[0],110,110,118,118; break;
- case 4: setarray .@c[0],94,94,102,102; break;
- case 5: setarray .@c[0],58,92,66,100; break;
- case 6: setarray .@c[0],53,66,61,74; break;
- case 7: setarray .@c[0],43,45,51,53; break;
- case 8: setarray .@c[0],77,59,85,67; break;
- case 9: setarray .@c[0],96,70,104,78; break;
- case 10: setarray .@c[0],111,46,119,54; break;
+ .@index = atoi(substr(strnpcinfo(NPC_NAME_HIDDEN), 9, getstrlen(strnpcinfo(NPC_NAME_HIDDEN))-1));
+ switch (.@index) {
+ case 1:
+ setarray(.@c[0], 49, 110, 57, 118);
+ break;
+ case 2:
+ setarray(.@c[0], 75, 105, 83, 113);
+ break;
+ case 3:
+ setarray(.@c[0], 110, 110, 118, 118);
+ break;
+ case 4:
+ setarray(.@c[0], 94, 94, 102, 102);
+ break;
+ case 5:
+ setarray(.@c[0], 58, 92, 66, 100);
+ break;
+ case 6:
+ setarray(.@c[0], 53, 66, 61, 74);
+ break;
+ case 7:
+ setarray(.@c[0], 43, 45, 51, 53);
+ break;
+ case 8:
+ setarray(.@c[0], 77, 59, 85, 67);
+ break;
+ case 9:
+ setarray(.@c[0], 96, 70, 104, 78);
+ break;
+ case 10:
+ setarray(.@c[0], 111, 46, 119, 54);
+ break;
}
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Marc",2182,rand(2,3),.@label$;
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Sword Fish",2181,rand(2,3),.@label$;
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Strouf",2180,rand(2,3),.@label$;
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Mutant Anolian",2183,rand(2,3),.@label$;
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Obeaune",2184,rand(2,3),.@label$;
- areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Metamorphous Kapha",2185,rand(2,3),.@label$;
- specialeffect EF_MAPPILLAR2,ALL_SAMEMAP; //currently broken
- initnpctimer;
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Ancient Marc"), MD_MARC, rand(2, 3), .@label$);
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Ancient Sword Fish"), MD_SWORD_FISH, rand(2, 3), .@label$);
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Ancient Strouf"), MD_STROUF, rand(2, 3), .@label$);
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Mutant Anolian"), MD_ANOLIAN, rand(2, 3), .@label$);
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Abysmal Obeaune"), MD_OBEAUNE, rand(2, 3), .@label$);
+ areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Metamorphous Kapha"), MD_KAPHA, rand(2, 3), .@label$);
+ specialeffect(EF_MAPPILLAR2, ALL_SAMEMAP); //currently broken
+ initnpctimer();
end;
OnMyMobDead:
end;
OnClear:
- stopnpctimer;
- killmonster instance_mapname("2@pump"),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
+ stopnpctimer();
+ killmonster(instance_mapname("2@pump"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
end;
OnTimer39500: //OnTimer40000 clashes with the timer in "Missing, the Cleaner#h".
- donpcevent instance_npcname("Missing, the Cleaner#h")+"::OnAddSeaweed";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnClear";
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ donpcevent(instance_npcname("Missing, the Cleaner#h")+"::OnAddSeaweed");
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnClear");
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnTouch:
- specialeffect EF_MAPPILLAR2;
+ specialeffect(EF_MAPPILLAR2);
end;
}
2@pump,79,109,4 duplicate(#Culvert_h1) #Culvert_h2 CLEAR_NPC,14,14
diff --git a/npc/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt
index 9f3f29fdf..44b5f1e61 100644
--- a/npc/re/instances/OldGlastHeim.txt
+++ b/npc/re/instances/OldGlastHeim.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2016 Hercules Dev Team
+//= Copyright (C) 2013-2018 Hercules Dev Team
//= Copyright (C) Ridley
//= Copyright (C) Exneval
//= Copyright (C) Euphy
@@ -41,68 +41,68 @@ glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
if (BaseLevel < 130) { // iRO text
mes("[Hugin]");
mes("Why don't you come back after becoming stronger Maybe, level 130.");
- close;
+ close();
}
if (!questprogress(12316)) {
mes("[Hugin]");
mes("A long time ago, this castle did not look like this.");
- next;
+ next();
mes("[Hugin]");
mes("Ah I'm sorry. I'm muttering in front of a stranger.");
- next;
+ next();
mes("[Hugin]");
mes("My name is Hugin. I'm studying the dimensional gap between time and space.");
- next;
+ next();
select("There's something like that here?");
mes("[Hugin]");
mes("Have you ever wondered about the history of Glast Heim?");
- next;
+ next();
mes("[Hugin]");
mes("There was a King named Shumiche who was known as a tyrant in the history of the Rune-Midgarts Kingdom.");
- next;
+ next();
mes("[Hugin]");
mes("Time will reveal the true answers if we look in the right places.");
- next;
+ next();
if (select("I don't care about history", "That is interesting. Find anything?") == 1) {
mes("[Hugin]");
mes("Really? Hmm, please come back later when you are interested then.");
- close;
+ close();
}
mes("[Hugin]");
mes("Actually, dimensional time travel is possible but I'm so afraid to go there.");
- next;
+ next();
mes("[Hugin]");
mes("Yes! It might be possible for you.");
- next;
+ next();
mes("[Hugin]");
mes("Do you want to time travel?");
- next;
+ next();
if (select("No thanks.", "Yes, of course I do!") == 1) {
mes("[Hugin]");
mes("Really? But, jumping gigawatts like this is such a great opportunity.");
- close;
+ close();
}
mes("[Hugin]");
mes("I knew that you would understand what I said. Well, please tell what you gonna do.");
setquest(12316);
- next;
+ next();
}
mes("[Hugin]");
mes("Umm? Did you see me at another place? I don't think so. What about this time?");
- next;
+ next();
if (!questprogress(12317, PLAYTIME)) {
.@party_id = getcharid(CHAR_ID_PARTY);
.@p_name$ = getpartyname(.@party_id);
- .@md_name$ = "Old Glast Heim";
+ .@md_name$ = _("Old Glast Heim");
if (!instance_check_party(.@party_id)) {
mes("[Hugin]");
mes("Why don't you make a party with more than 1 person and talk to me again?");
- close;
+ close();
}
if (!questprogress(12318, HUNTING))
- setquest 12318;
+ setquest(12318);
if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2))
- .@menu1$ = "Generate Time Gap";
+ .@menu1$ = _("Generate Time Gap");
else
.@menu1$ = "";
switch (select(.@menu1$, "Enter Old Glast Heim", "Cancel")) {
@@ -110,53 +110,52 @@ glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id, 2))
end;
.@instance = instance_create(.@md_name$, .@party_id);
- if (.@instance < 0) {
- mesf("Party Name: %s", .@p_name$);
- mesf("Party Leader: %s", strcharinfo(PC_NAME));
- mesf("^0000ff%s^000000 - Reservation Failed!", .@md_name$);
- close;
- }
- if (instance_attachmap("1@gl_k", .@instance) == "" || instance_attachmap("2@gl_k", .@instance) == "") {
- mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
- instance_destroy(.@instance);
- close;
+ if (.@instance >= 0) {
+ for (.@i = 1; .@i <= 2; .@i++) {
+ if (instance_attachmap(.@i + "@gl_k", .@instance) == "") {
+ mesf("Party Name: %s", .@p_name$);
+ mesf("Party Leader: %s", strcharinfo(PC_NAME));
+ mesf("^0000ff%s^000000 - Reservation Failed!", .@md_name$);
+ instance_destroy(.@instance);
+ close();
+ }
+ }
+ instance_set_timeout(3600, 300, .@instance);
+ instance_init(.@instance);
}
- instance_set_timeout(3600, 300, .@instance);
- instance_init(.@instance);
mes("[Hugin]");
mes("The time gap was created. When you're ready, talk to me again.");
- close;
+ close();
case 2:
if (has_instance("1@gl_k") == "" ) {
mesf("The memorial dungeon ^0000FF%s^000000 does not exist.\r"
- "The party leader did not generate the dungeon yet.", .@md_name$);
- close;
+ "The party leader did not generate the dungeon yet.", .@md_name$);
+ close();
}
mapannounce("glast_01", sprintf(_$("%s, member of the party %s entered the instance %s."), strcharinfo(PC_NAME), .@p_name$, .@md_name$), bc_map, C_SPRINGGREEN);
- setquest 12317;
- warp "1@gl_k", 150, 20;
+ setquest(12317);
+ warp("1@gl_k", 150, 20);
end;
case 3:
- close;
+ close();
}
} else if (questprogress(12317, PLAYTIME) == 1) {
mes("[Hugin]");
mes("Oh, my... You still have after-effects of time travel. You can't travel in this condition.");
- if (questprogress(12322) == 1) {
- erasequest 12322;
- }
- next;
+ if (questprogress(12322) == 1)
+ erasequest(12322);
+ next();
mes("[Hugin]");
mes("Staying healthy is important so please take a break and come back again later.");
- close;
+ close();
} else {
mes("^0000FFAll trace of access to Old Glast Heim have been removed. Now you can talk with Hugin again.^000000");
- erasequest 12317;
+ erasequest(12317);
if (questprogress(12318))
- erasequest 12318;
+ erasequest(12318);
if (questprogress(12319))
- erasequest 12319;
- close;
+ erasequest(12319);
+ close();
}
}
@@ -167,7 +166,7 @@ glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
cutin("gl_barmund2", 2);
mes("[Varmundt]");
mes("Where's your leader? I need his help.");
- close2;
+ close2();
cutin("gl_barmund2", 255);
end;
}
@@ -175,80 +174,102 @@ glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
mes("[Varmundt]");
mes("Are you the one ^0000FFHerico^000000 sent to help me?");
npctalk(_("Are you the one Herico sent to help me?"));
- next;
+ next();
select("Oh. Well I...");
mesf("[%s]", strcharinfo(PC_NAME));
mes("Ah yes, I am. Herico told me to meet you.");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Ah yes, I am. Herico told me to meet you."));
- next;
+ next();
cutin("gl_barmund2", 2);
mes("[Varmundt]");
mes("We don't have much time. We must report to Sir. Heinrich about Himelmez's invasion.");
npctalk(_("We don't have much time. We must report to Sir. Heinrich about Himelmez's invasion."));
- next;
+ next();
select("Himelmez...");
mesf("[%s]", strcharinfo(PC_NAME));
mes("Who is Himelmez?");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Who is Himelmez?"));
- next;
+ next();
cutin("gl_barmund3", 2);
mes("[Varmundt]");
mes("Herico didn't tell you?");
npctalk(_("Herico didn't tell you?"));
- next;
+ next();
cutin("gl_barmund2", 2);
mes("[Varmundt]");
mes("She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the heart of Ymir from us.");
npctalk(_("She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the heart of Ymir from us."));
- next;
+ next();
mes("[Varmundt]");
mes("She might even destroy this whole castle if she wanted to.");
npctalk(_("She might even destroy this whole castle if she wanted to."));
- next;
+ next();
mes("[Varmundt]");
mes("Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!");
npctalk(_("Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!"));
- close2;
+ close2();
cutin("gl_barmund2", 255);
donpcevent(instance_npcname("Varmundt#ghinstance1")+"::OnDisable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Varmundt#ghinstance1")+"::OnEnable";
+ donpcevent(instance_npcname("Varmundt#ghinstance1")+"::OnEnable");
end;
OnDisable:
- hideonnpc instance_npcname("Varmundt#ghinstance1");
- hideoffnpc instance_npcname("Heinrich#ghinstance1");
- hideoffnpc instance_npcname("Varmundt#ghinstance2");
+ hideonnpc(instance_npcname("Varmundt#ghinstance1"));
+ hideoffnpc(instance_npcname("Heinrich#ghinstance1"));
+ hideoffnpc(instance_npcname("Varmundt#ghinstance2"));
end;
OnEnable:
- hideoffnpc instance_npcname("Varmundt#ghinstance1");
+ hideoffnpc(instance_npcname("Varmundt#ghinstance1"));
end;
}
1@gl_k,145,54,6 script Khalitzburg Knight#1 4_F_KHALITZBURG,{
mesf("[%s]", strnpcinfo(NPC_NAME_VISIBLE));
switch ((atoi(strnpcinfo(NPC_NAME_HIDDEN)) + 1) / 2) {
- case 1: mes("Is there something you need?"); break;
- case 2: mes("What can I do for you?"); break;
- case 3: mes("..."); break;
- case 4: mes("I do not like to chat during work."); break;
- case 5: mes("Doesn't this castle seem weird all of a sudden? Something's not quite right."); break;
- case 6: mes("How do you know Varmundt? I heard that he's not really a friendly man..."); break;
- case 7: mes("Orders please."); break;
- case 8: mes("Please do not make a mess here."); break;
- case 9: mes("I had a weird dream last night. My mom was in it... Wonder if she is ok..."); break;
- case 10: mes("Are you wit Varmundt? Commander is waiting for you."); break;
- case 11: mes("My work shift will be over soon, but the next crew is not coming."); break;
+ case 1:
+ mes("Is there something you need?");
+ break;
+ case 2:
+ mes("What can I do for you?");
+ break;
+ case 3:
+ mes("...");
+ break;
+ case 4:
+ mes("I do not like to chat during work.");
+ break;
+ case 5:
+ mes("Doesn't this castle seem weird all of a sudden? Something's not quite right.");
+ break;
+ case 6:
+ mes("How do you know Varmundt? I heard that he's not really a friendly man...");
+ break;
+ case 7:
+ mes("Orders please.");
+ break;
+ case 8:
+ mes("Please do not make a mess here.");
+ break;
+ case 9:
+ mes("I had a weird dream last night. My mom was in it... Wonder if she is ok...");
+ break;
+ case 10:
+ mes("Are you wit Varmundt? Commander is waiting for you.");
+ break;
+ case 11:
+ mes("My work shift will be over soon, but the next crew is not coming.");
+ break;
}
- close;
+ close();
OnDisable:
- hideonnpc instance_npcname(strnpcinfo(NPC_NAME));
+ hideonnpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- hideoffnpc instance_npcname(strnpcinfo(NPC_NAME));
+ hideoffnpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
}
@@ -279,7 +300,7 @@ OnEnable:
cutin("gl_heinrich2", 2);
mes("[Heinrich]");
mes("Where is your leader? I must talk to him.");
- close2;
+ close2();
cutin("gl_heinrich2", 255);
end;
}
@@ -288,49 +309,49 @@ OnEnable:
mesf("[%s]", strcharinfo(PC_NAME));
mes("Sir. Heinrich. Do you know what is happening in the castle now?");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sir. Heinrich. Do you know what is happening in the castle now?"));
- next;
+ next();
mes("[Heinrich]");
mes("Aren't you the adventurer that came along with Varmundt?");
npctalk(_("Aren't you the adventurer that came along with Varmundt?"));
- next;
+ next();
mes("[Heinrich]");
mes("What is it? Something wrong with the castle?");
npctalk(_("What is it? Something wrong with the castle?"));
- next;
+ next();
select("Himelmez's invasion...");
mesf("[%s]", strcharinfo(PC_NAME));
mes("Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!"));
- next;
+ next();
cutin("gl_heinrich1", 2);
mes("[Heinrich]");
mes("Haha. Funny. Do you really think that is possible?");
npctalk(_("Haha. Funny. Do you really think that is possible?"));
- next;
+ next();
cutin("gl_barmund2", 2);
mes("[Varmundt]");
mes("I'm not kidding, Sir. Heinrich. If I'm correct, then she will be here very soon.");
npctalk(_("I'm not kidding, Sir. Heinrich. If I'm correct, then she will be here very soon."), instance_npcname("Varmundt#ghinstance2"));
- next;
+ next();
mes("[Varmundt]");
mes("We must hide the heart piece to a safe place before Himelmez's attack starts!");
npctalk(_("We must hide the heart piece to a safe place before Himelmez's attack starts!"), instance_npcname("Varmundt#ghinstance2"));
- next;
+ next();
select("Even if you don't believe me...");
mesf("[%s]", strcharinfo(PC_NAME));
mes("I can't make you believe me, but there's no time to argue!");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("I can't make you believe me, but there's no time to argue!"));
cutin("gl_barmund2", 255);
- next;
+ next();
cutin("gl_heinrich1", 2);
mes("[Heinrich]");
mes("Thank you for the help. But, we don't even have our king with us right now.");
npctalk(_("Thank you for the help. But, we don't even have our king with us right now."));
- next;
+ next();
mes("[Heinrich]");
mes("We cannot risk moving the heart just because some stranger says so.");
npctalk(_("We cannot risk moving the heart just because some stranger says so."));
- close2;
+ close2();
donpcevent(instance_npcname("Heinrich#ghinstance1")+"::OnDisable");
donpcevent(instance_npcname("Heinrich#ghinstance2")+"::OnEnable");
donpcevent(instance_npcname("Himelmez#ghinstance1")+"::OnEnable");
@@ -341,11 +362,11 @@ OnEnable:
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Heinrich#ghinstance1");
+ hideonnpc(instance_npcname("Heinrich#ghinstance1"));
end;
OnEnable:
- hideoffnpc instance_npcname("Heinrich#ghinstance1");
+ hideoffnpc(instance_npcname("Heinrich#ghinstance1"));
end;
}
@@ -354,11 +375,11 @@ OnEnable:
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Varmundt#ghinstance2");
+ hideonnpc(instance_npcname("Varmundt#ghinstance2"));
end;
OnEnable:
- hideoffnpc instance_npcname("Varmundt#ghinstance2");
+ hideoffnpc(instance_npcname("Varmundt#ghinstance2"));
end;
}
@@ -367,11 +388,11 @@ OnEnable:
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Heinrich#ghinstance2");
+ hideonnpc(instance_npcname("Heinrich#ghinstance2"));
end;
OnEnable:
- hideoffnpc instance_npcname("Heinrich#ghinstance2");
+ hideoffnpc(instance_npcname("Heinrich#ghinstance2"));
end;
}
@@ -380,11 +401,11 @@ OnEnable:
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Heinrich#ghinstance3");
+ hideonnpc(instance_npcname("Heinrich#ghinstance3"));
end;
OnEnable:
- hideoffnpc instance_npcname("Heinrich#ghinstance3");
+ hideoffnpc(instance_npcname("Heinrich#ghinstance3"));
end;
}
@@ -393,11 +414,11 @@ OnEnable:
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Himelmez#ghinstance1");
+ hideonnpc(instance_npcname("Himelmez#ghinstance1"));
end;
OnEnable:
- hideoffnpc instance_npcname("Himelmez#ghinstance1");
+ hideoffnpc(instance_npcname("Himelmez#ghinstance1"));
end;
}
@@ -408,12 +429,12 @@ OnEnable:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#talkinstance1");
+ disablenpc(instance_npcname("#talkinstance1"));
end;
OnEnable:
- enablenpc instance_npcname("#talkinstance1");
- initnpctimer;
+ enablenpc(instance_npcname("#talkinstance1"));
+ initnpctimer();
end;
OnTimer1500:
@@ -470,7 +491,7 @@ OnTimer78000:
OnTimer84500:
npctalk(_("She probably already knows where the Ymir's heart piece is."), instance_npcname("Heinrich#ghinstance2"));
- donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnDisable";
+ donpcevent(instance_npcname("Himelmez#ghinstance1")+"::OnDisable");
end;
OnTimer90500:
@@ -478,49 +499,49 @@ OnTimer90500:
end;
OnTimer92000:
- for (.@i=1; .@i <= 20; .@i += 4) {
- hideonnpc instance_npcname("Khalitzburg Knight#"+.@i);
- hideonnpc instance_npcname("Khalitzburg Knight#"+(.@i+1));
- hideonnpc instance_npcname("White Knight#"+(.@i+2));
- hideonnpc instance_npcname("White Knight#"+(.@i+3));
+ for (.@i = 1; .@i <= 20; .@i += 4) {
+ hideonnpc(instance_npcname("Khalitzburg Knight#"+.@i));
+ hideonnpc(instance_npcname("Khalitzburg Knight#"+(.@i+1)));
+ hideonnpc(instance_npcname("White Knight#"+(.@i+2)));
+ hideonnpc(instance_npcname("White Knight#"+(.@i+3)));
}
- hideonnpc instance_npcname("Khalitzburg Knight#21");
- hideonnpc instance_npcname("Khalitzburg Knight#22");
+ hideonnpc(instance_npcname("Khalitzburg Knight#21"));
+ hideonnpc(instance_npcname("Khalitzburg Knight#22"));
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#talkinstance1")+"::OnMyMobDead";
- monster .@map$,145,59,"Abysmal Knight",2470,1,.@label$;
- monster .@map$,154,59,"Abysmal Knight",2470,1,.@label$;
- monster .@map$,145,69,"Abysmal Knight",2470,1,.@label$;
- monster .@map$,154,69,"Abysmal Knight",2470,1,.@label$;
- monster .@map$,145,79,"Abysmal Knight",2470,1,.@label$;
- monster .@map$,154,79,"Abysmal Knight",2470,1,.@label$;
- monster .@map$,145,89,"Abysmal Knight",2470,1,.@label$;
- monster .@map$,154,89,"Abysmal Knight",2470,1,.@label$;
- monster .@map$,145,99,"Abysmal Knight",2470,1,.@label$;
- monster .@map$,154,99,"Abysmal Knight",2470,1,.@label$;
- monster .@map$,145,54,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 145, 59, _("Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
+ monster(.@map$, 154, 59, _("Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
+ monster(.@map$, 145, 69, _("Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
+ monster(.@map$, 154, 69, _("Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
+ monster(.@map$, 145, 79, _("Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
+ monster(.@map$, 154, 79, _("Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
+ monster(.@map$, 145, 89, _("Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
+ monster(.@map$, 154, 89, _("Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
+ monster(.@map$, 145, 99, _("Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
+ monster(.@map$, 154, 99, _("Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
+ monster(.@map$, 145, 54, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], _("Water... Someone give me water..."));
- monster .@map$,154,54,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 154, 54, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], "Kkkrrrruughgh...");
- monster .@map$,145,64,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 145, 64, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], _("Sir. Heinrich. Save me..."));
- monster .@map$,154,64,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 154, 64, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], _("I miss my sister..."));
- monster .@map$,145,74,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 145, 74, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], _("Don't leave me alone, help me."));
- monster .@map$,154,74,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 154, 74, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], "Aaarrrrrhhhh");
- monster .@map$,145,84,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 145, 84, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], _("I am so thirsty."));
- monster .@map$,154,84,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 154, 84, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], _("Oh...No...I can't die yet..."));
- monster .@map$,145,94,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 145, 94, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], _("I feel sick to my stomach urrgg"));
- monster .@map$,154,94,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 154, 94, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], _("Can someone..."));
- monster .@map$,145,104,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 145, 104, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], "Arrgg... My body");
- monster .@map$,154,104,"Khalitzburg",2471,1,.@label$;
+ monster(.@map$, 154, 104, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
unittalk($@mobid[0], _("My throat is burning!"));
end;
@@ -549,70 +570,70 @@ OnTimer109000:
end;
OnTimer109500:
- enablenpc instance_npcname(".#ghinstance22");
- enablenpc instance_npcname(".#ghinstance21");
- donpcevent instance_npcname(".#ghinstance22")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance21")+"::OnEffect1";
+ enablenpc(instance_npcname(".#ghinstance22"));
+ enablenpc(instance_npcname(".#ghinstance21"));
+ donpcevent(instance_npcname(".#ghinstance22")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance21")+"::OnEffect1");
end;
OnTimer110000:
- enablenpc instance_npcname(".#ghinstance20");
- enablenpc instance_npcname(".#ghinstance19");
- enablenpc instance_npcname(".#ghinstance18");
- enablenpc instance_npcname(".#ghinstance17");
- donpcevent instance_npcname(".#ghinstance20")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance19")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance18")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance17")+"::OnEffect1";
+ enablenpc(instance_npcname(".#ghinstance20"));
+ enablenpc(instance_npcname(".#ghinstance19"));
+ enablenpc(instance_npcname(".#ghinstance18"));
+ enablenpc(instance_npcname(".#ghinstance17"));
+ donpcevent(instance_npcname(".#ghinstance20")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance19")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance18")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance17")+"::OnEffect1");
end;
OnTimer110500:
- enablenpc instance_npcname(".#ghinstance16");
- enablenpc instance_npcname(".#ghinstance15");
- enablenpc instance_npcname(".#ghinstance14");
- enablenpc instance_npcname(".#ghinstance13");
- donpcevent instance_npcname(".#ghinstance16")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance15")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance14")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance13")+"::OnEffect1";
+ enablenpc(instance_npcname(".#ghinstance16"));
+ enablenpc(instance_npcname(".#ghinstance15"));
+ enablenpc(instance_npcname(".#ghinstance14"));
+ enablenpc(instance_npcname(".#ghinstance13"));
+ donpcevent(instance_npcname(".#ghinstance16")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance15")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance14")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance13")+"::OnEffect1");
end;
OnTimer111000:
- enablenpc instance_npcname(".#ghinstance12");
- enablenpc instance_npcname(".#ghinstance11");
- enablenpc instance_npcname(".#ghinstance10");
- enablenpc instance_npcname(".#ghinstance9");
- donpcevent instance_npcname(".#ghinstance12")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance11")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance10")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance9")+"::OnEffect1";
+ enablenpc(instance_npcname(".#ghinstance12"));
+ enablenpc(instance_npcname(".#ghinstance11"));
+ enablenpc(instance_npcname(".#ghinstance10"));
+ enablenpc(instance_npcname(".#ghinstance9"));
+ donpcevent(instance_npcname(".#ghinstance12")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance11")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance10")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance9")+"::OnEffect1");
end;
OnTimer111500:
- enablenpc instance_npcname(".#ghinstance8");
- enablenpc instance_npcname(".#ghinstance7");
- enablenpc instance_npcname(".#ghinstance6");
- enablenpc instance_npcname(".#ghinstance5");
- donpcevent instance_npcname(".#ghinstance8")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance7")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance6")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance5")+"::OnEffect1";
+ enablenpc(instance_npcname(".#ghinstance8"));
+ enablenpc(instance_npcname(".#ghinstance7"));
+ enablenpc(instance_npcname(".#ghinstance6"));
+ enablenpc(instance_npcname(".#ghinstance5"));
+ donpcevent(instance_npcname(".#ghinstance8")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance7")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance6")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance5")+"::OnEffect1");
end;
OnTimer112000:
- enablenpc instance_npcname(".#ghinstance4");
- enablenpc instance_npcname(".#ghinstance3");
- enablenpc instance_npcname(".#ghinstance2");
- enablenpc instance_npcname(".#ghinstance1");
- donpcevent instance_npcname(".#ghinstance4")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance3")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance2")+"::OnEffect1";
- donpcevent instance_npcname(".#ghinstance1")+"::OnEffect1";
- donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnEnable";
- donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnDisable";
- for (.@i=1; .@i <= 22; .@i++)
- disablenpc instance_npcname(".#ghinstance"+.@i);
- killmonster instance_mapname("1@gl_k"),instance_npcname("#talkinstance1")+"::OnMyMobDead";
+ enablenpc(instance_npcname(".#ghinstance4"));
+ enablenpc(instance_npcname(".#ghinstance3"));
+ enablenpc(instance_npcname(".#ghinstance2"));
+ enablenpc(instance_npcname(".#ghinstance1"));
+ donpcevent(instance_npcname(".#ghinstance4")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance3")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance2")+"::OnEffect1");
+ donpcevent(instance_npcname(".#ghinstance1")+"::OnEffect1");
+ donpcevent(instance_npcname("Heinrich#ghinstance3")+"::OnEnable");
+ donpcevent(instance_npcname("Heinrich#ghinstance2")+"::OnDisable");
+ for (.@i = 1; .@i <= 22; .@i++)
+ disablenpc(instance_npcname(".#ghinstance"+.@i));
+ killmonster(instance_mapname("1@gl_k"), instance_npcname("#talkinstance1")+"::OnMyMobDead");
end;
OnTimer112500:
@@ -656,17 +677,17 @@ OnTimer143500:
end;
OnTimer147500:
- donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnDisable";
+ donpcevent(instance_npcname("Heinrich#ghinstance3")+"::OnDisable");
end;
OnTimer148500:
- donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnDisable";
- stopnpctimer;
- donpcevent instance_npcname("#ghinstancewarp1")+"::OnEnable";
- donpcevent instance_npcname("#ghinstancewarp2")+"::OnEnable";
+ donpcevent(instance_npcname("Varmundt#ghinstance2")+"::OnDisable");
+ stopnpctimer();
+ donpcevent(instance_npcname("#ghinstancewarp1")+"::OnEnable");
+ donpcevent(instance_npcname("#ghinstancewarp2")+"::OnEnable");
mapannounce(instance_mapname("1@gl_k"), _("A portal has opened to the west."), bc_map, C_YELLOW);
- donpcevent instance_npcname("#talkinstance1")+"::OnDisable";
- donpcevent instance_npcname("#ghmemorialmob01")+"::OnEnable";
+ donpcevent(instance_npcname("#talkinstance1")+"::OnDisable");
+ donpcevent(instance_npcname("#ghmemorialmob01")+"::OnEnable");
end;
OnMyMobDead:
@@ -678,16 +699,16 @@ OnMyMobDead:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEffect1:
- specialeffect EF_GRANDCROSS;
- specialeffect EF_LEXAETERNA;
+ specialeffect(EF_GRANDCROSS);
+ specialeffect(EF_LEXAETERNA);
end;
}
@@ -719,32 +740,62 @@ OnEffect1:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnTouch:
.@map1$ = instance_mapname("1@gl_k");
.@map2$ = instance_mapname("2@gl_k");
switch (atoi(replacestr(strnpcinfo(NPC_NAME_HIDDEN), "ghinstancewarp", ""))) {
- case 1: warp .@map1$,80,80; break;
- case 2: warp .@map1$,105,80; break;
- case 3: warp .@map1$,215,79; break;
- case 4: warp .@map1$,195,79; break;
- case 5: warp .@map1$,215,216; break;
- case 6: warp .@map1$,235,216; break;
- case 7: warp .@map2$,150,46; break;
- case 8: warp .@map2$,126,123; break;
- case 9: warp .@map2$,150,116; break;
- case 10: warp .@map2$,174,101; break;
- case 11: warp .@map2$,150,110; break;
- case 12: warp .@map2$,150,179; break;
- case 13: warp .@map2$,150,160; break;
- case 14: warp .@map1$,150,281; break;
- case 15: warp .@map1$,48,168; break;
+ case 1:
+ warp(.@map1$, 80, 80);
+ break;
+ case 2:
+ warp(.@map1$, 105, 80);
+ break;
+ case 3:
+ warp(.@map1$, 215, 79);
+ break;
+ case 4:
+ warp(.@map1$, 195, 79);
+ break;
+ case 5:
+ warp(.@map1$, 215, 216);
+ break;
+ case 6:
+ warp(.@map1$, 235, 216);
+ break;
+ case 7:
+ warp(.@map2$, 150, 46);
+ break;
+ case 8:
+ warp(.@map2$, 126, 123);
+ break;
+ case 9:
+ warp(.@map2$, 150, 116);
+ break;
+ case 10:
+ warp(.@map2$, 174, 101);
+ break;
+ case 11:
+ warp(.@map2$, 150, 110);
+ break;
+ case 12:
+ warp(.@map2$, 150, 179);
+ break;
+ case 13:
+ warp(.@map2$, 150, 160);
+ break;
+ case 14:
+ warp(.@map1$, 150, 281);
+ break;
+ case 15:
+ warp(.@map1$, 48, 168);
+ break;
}
end;
}
@@ -771,11 +822,11 @@ OnTouch:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#ghmemorialmob01");
+ disablenpc(instance_npcname("#ghmemorialmob01"));
end;
OnEnable:
- enablenpc instance_npcname("#ghmemorialmob01");
+ enablenpc(instance_npcname("#ghmemorialmob01"));
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob01")+"::OnMyMobDead";
areamonster(.@map$, 76, 99, 87, 10, _("Grand Chamberlain in pain"), MG_GHOUL, 15, .@label$);
@@ -788,12 +839,12 @@ OnEnable:
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob01")+"::OnMyMobDead";
- .@mob_dead_num = 56 - mobcount(.@map$,.@label$);
+ .@mob_dead_num = 56 - mobcount(.@map$, .@label$);
if (.@mob_dead_num > 35) {
mapannounce(.@map$, _("Himelmez's curse is getting weaker. Find any survivors!"), bc_map, C_WHITE);
- killmonster .@map$,.@label$;
- donpcevent instance_npcname("Altar boy Domun#clearGH")+"::OnEnable";
- donpcevent instance_npcname("#ghmemorialmob01")+"::OnDisable";
+ killmonster(.@map$, .@label$);
+ donpcevent(instance_npcname("Altar boy Domun#clearGH")+"::OnEnable");
+ donpcevent(instance_npcname("#ghmemorialmob01")+"::OnDisable");
}
end;
}
@@ -802,60 +853,60 @@ OnMyMobDead:
if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
mes("[Altar boy Domun]");
mes("Save me, save me, please...");
- close;
+ close();
}
mes("[Altar boy Domun]");
mes("Save me! Save me!!!");
npctalk(_("Save me! Save me!!!"));
- next;
+ next();
select("Hold on!Are you the only survivor?");
mesf("[%s]", strcharinfo(PC_NAME));
mes("Hold on!\r"
"Are you the only survivor?");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Hold on! Are you the only survivor?"));
- next;
+ next();
mes("[Altar boy Domun]");
mes("Chamberlains... monks...\r"
"They all turned into monsters. I couldn't do anything.");
npctalk(_("Altar boy Domun : Chamberlains... monks... They all turned into monsters. I couldn't do anything."));
- next;
+ next();
mes("[Altar boy Domun]");
mes("All I could do was... \r"
"Just hide in here...\r"
"Nothing, nothing I could do...");
npctalk(_("Altar boy Domun : All I could do was... Just hide in here... Nothing, nothing I could do..."));
- next;
+ next();
select("Pull it together!");
mesf("[%s]", strcharinfo(PC_NAME));
mes("Wake up kid! Go east and find the middle passage to the outside! That is safe!");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Wake up kid! Go east and find the middle passage to the outside! That is safe!")); // Displays 1st Letter of char name in small?
- next;
+ next();
mes("[Altar boy Domun]");
mes("To the east passage?\r"
"Alone?\r"
"How?");
npctalk(_("Altar boy Domun : To the east passage? Alone? How?"));
- next;
+ next();
select("I will give you a weapon.");
mesf("[%s]", strcharinfo(PC_NAME));
mes("Here's a weapon. Just close your eye and swing for those monsters.");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Here's a weapon. Just close your eye and swing for those monsters."));
- next;
+ next();
mes("[Altar boy Domun]");
mes("Ok, I... I'l try.");
npctalk(_("Altar boy Domun : Ok, I... I'l try."));
- close2;
- donpcevent instance_npcname("Altar boy Domun#clearGH")+"::OnDisable";
- donpcevent instance_npcname("#ghmemorialmob02")+"::OnEnable";
+ close2();
+ donpcevent(instance_npcname("Altar boy Domun#clearGH")+"::OnDisable");
+ donpcevent(instance_npcname("#ghmemorialmob02")+"::OnEnable");
end;
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Altar boy Domun#clearGH");
+ hideonnpc(instance_npcname("Altar boy Domun#clearGH"));
end;
OnEnable:
- hideoffnpc instance_npcname("Altar boy Domun#clearGH");
+ hideoffnpc(instance_npcname("Altar boy Domun#clearGH"));
end;
}
@@ -866,13 +917,13 @@ OnEnable:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#ghmemorialmob02");
+ disablenpc(instance_npcname("#ghmemorialmob02"));
end;
OnEnable:
- enablenpc instance_npcname("#ghmemorialmob02");
- donpcevent instance_npcname("#ghinstancewarp3")+"::OnEnable";
- donpcevent instance_npcname("#ghinstancewarp4")+"::OnEnable";
+ enablenpc(instance_npcname("#ghmemorialmob02"));
+ donpcevent(instance_npcname("#ghinstancewarp3")+"::OnEnable");
+ donpcevent(instance_npcname("#ghinstancewarp4")+"::OnEnable");
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob02")+"::OnMyMobDead";
mapannounce(.@map$, _("A portal has opened to the east."), bc_map, C_YELLOW);
@@ -885,12 +936,12 @@ OnEnable:
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob02")+"::OnMyMobDead";
- .@mob_dead_num = 48 - mobcount(.@map$,.@label$);
+ .@mob_dead_num = 48 - mobcount(.@map$, .@label$);
if (.@mob_dead_num > 28) {
mapannounce(.@map$, _("Himelmez's curse is getting weaker. Find any survivors!"), bc_map, C_WHITE);
- killmonster .@map$,.@label$;
- donpcevent instance_npcname("Holgren the Destroyer")+"::OnEnable";
- donpcevent instance_npcname("#ghmemorialmob02")+"::OnDisable";
+ killmonster(.@map$, .@label$);
+ donpcevent(instance_npcname("Holgren the Destroyer")+"::OnEnable");
+ donpcevent(instance_npcname("#ghmemorialmob02")+"::OnDisable");
}
end;
}
@@ -899,51 +950,51 @@ OnMyMobDead:
if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
mes("[Holgren the Destroyer]");
mes("Are you human?");
- close;
+ close();
}
mes("[Holgren the Destroyer]");
mes("Die!! You shall die!!!");
npctalk(_("Holgren the Destroyer : Die!! You shall die!!!"));
- specialeffect EF_CRASHEARTH;
- next;
+ specialeffect(EF_CRASHEARTH);
+ next();
select("Relax! I'm not a monster!");
mesf("[%s]", strcharinfo(PC_NAME));
mes("Relax! I am Human. Are you alone? Anyone else here?");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Relax! I am Human. Are you alone? Anyone else here?"));
- next;
+ next();
mes("[Holgren the Destroyer]");
mes("It's only me alive.");
npctalk(_("Holgren the Destroyer : It's only me alive."));
- next;
+ next();
select("It's dangerous here...");
mesf("[%s]", strcharinfo(PC_NAME));
mes("It's dangerous here. You know the way to the middle passage? Can you move?");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("It's dangerous here. You know the way to the middle passage? Can you move?")); // Displays 1st Letter of char name in small?
- next;
+ next();
mes("[Holgren the Destroyer]");
mes("Yes, I can move. I need to get out of here.");
npctalk(_("Holgren the Destroyer : Yes, I can move. I need to get out of here."));
- next;
+ next();
select("Be safe...");
mesf("[%s]", strcharinfo(PC_NAME));
mes("Sorry, I can't go with you.");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sorry, I can't go with you."));
- next;
+ next();
mes("[Holgren the Destroyer]");
mes("It's ok. You've already done enough. I can help myself. Good luck to you too.");
npctalk(_("Holgren the Destroyer : It's ok. You've already done enough. I can help myself. Good luck to you too."));
- close2;
- donpcevent instance_npcname("Holgren the Destroyer")+"::OnDisable";
- donpcevent instance_npcname("#ghmemorialmob03")+"::OnEnable";
+ close2();
+ donpcevent(instance_npcname("Holgren the Destroyer")+"::OnDisable");
+ donpcevent(instance_npcname("#ghmemorialmob03")+"::OnEnable");
end;
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Holgren the Destroyer");
+ hideonnpc(instance_npcname("Holgren the Destroyer"));
end;
OnEnable:
- hideoffnpc instance_npcname("Holgren the Destroyer");
+ hideoffnpc(instance_npcname("Holgren the Destroyer"));
end;
}
@@ -953,16 +1004,21 @@ OnEnable:
end;
OnTouch:
- .@i = rand(1,10);
- if (.@i == 1) .@mobs = 3;
- else if (.@i == 2) .@mobs = 4;
- else if (.@i == 3) .@mobs = 5;
- else if (.@i < 7) .@mobs = 6;
- else .@mobs = 7;
+ .@i = rand(1, 10);
+ if (.@i == 1)
+ .@mobs = 3;
+ else if (.@i == 2)
+ .@mobs = 4;
+ else if (.@i == 3)
+ .@mobs = 5;
+ else if (.@i < 7)
+ .@mobs = 6;
+ else
+ .@mobs = 7;
getmapxy(.@map$, .@x, .@y, UNITTYPE_NPC);
- specialeffect EF_VENOMDUST;
- monster(.@map$, .@x, .@y, "Maggot", MG_ARCLOUSE, .@mobs, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ specialeffect(EF_VENOMDUST);
+ monster(.@map$, .@x, .@y, _("Maggot"), MG_ARCLOUSE, .@mobs, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnMyMobDead:
@@ -970,11 +1026,11 @@ OnMyMobDead:
OnInstanceInit:
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnDisable:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
}
@@ -1023,13 +1079,13 @@ OnDisable:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#ghmemorialmob03");
+ disablenpc(instance_npcname("#ghmemorialmob03"));
end;
OnEnable:
- enablenpc instance_npcname("#ghmemorialmob03");
- donpcevent instance_npcname("#ghinstancewarp5")+"::OnEnable";
- donpcevent instance_npcname("#ghinstancewarp6")+"::OnEnable";
+ enablenpc(instance_npcname("#ghmemorialmob03"));
+ donpcevent(instance_npcname("#ghinstancewarp5")+"::OnEnable");
+ donpcevent(instance_npcname("#ghinstancewarp6")+"::OnEnable");
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob03")+"::OnMyMobDead";
mapannounce(.@map$, _("A portal has appeared to the northwest."), bc_map, C_YELLOW);
@@ -1046,15 +1102,15 @@ OnEnable:
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob03")+"::OnMyMobDead";
- .@mob_dead_num = 100 - mobcount(.@map$,.@label$);
+ .@mob_dead_num = 100 - mobcount(.@map$, .@label$);
if (.@mob_dead_num > 85) {
mapannounce(.@map$, _("Himelmez: Not bad. Thought you would be dead by now by my creatures~"), bc_map, C_WHITE);
- killmonster .@map$,.@label$;
- donpcevent instance_npcname("#GHMclear3")+"::OnEnable";
- donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnEnable";
- donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnEnable";
- donpcevent instance_npcname("Varmundt#ghinstance3")+"::OnEnable";
- donpcevent instance_npcname("#ghmemorialmob03")+"::OnDisable";
+ killmonster(.@map$, .@label$);
+ donpcevent(instance_npcname("#GHMclear3")+"::OnEnable");
+ donpcevent(instance_npcname("Heinrich#ghinstance4")+"::OnEnable");
+ donpcevent(instance_npcname("Himelmez#ghinstance2")+"::OnEnable");
+ donpcevent(instance_npcname("Varmundt#ghinstance3")+"::OnEnable");
+ donpcevent(instance_npcname("#ghmemorialmob03")+"::OnDisable");
}
end;
}
@@ -1066,26 +1122,26 @@ OnMyMobDead:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#ghmemorialmob04");
+ disablenpc(instance_npcname("#ghmemorialmob04"));
end;
OnEnable:
- enablenpc instance_npcname("#ghmemorialmob04");
- monster instance_mapname("1@gl_k"), 150, 258, _("Corrupted Soul"), MG_CORRUPTION_ROOT, 1, instance_npcname("#ghmemorialmob04")+"::OnMyMobDead";
+ enablenpc(instance_npcname("#ghmemorialmob04"));
+ monster(instance_mapname("1@gl_k"), 150, 258, _("Corrupted Soul"), MG_CORRUPTION_ROOT, 1, instance_npcname("#ghmemorialmob04")+"::OnMyMobDead");
unittalk($@mobid[0], _("Grrrrrrhh~~~"));
end;
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
- if (mobcount(.@map$,instance_npcname("#ghmemorialmob04")+"::OnMyMobDead") < 1) {
+ if (mobcount(.@map$, instance_npcname("#ghmemorialmob04")+"::OnMyMobDead") < 1) {
mapannounce(.@map$, _("Opening 2nd floor entrance towards 12 O'clock direction."), bc_map, C_YELLOW);
- donpcevent instance_npcname("#ghinstancewarp7")+"::OnEnable";
- donpcevent instance_npcname("#ghinstancewarp14")+"::OnEnable";
+ donpcevent(instance_npcname("#ghinstancewarp7")+"::OnEnable");
+ donpcevent(instance_npcname("#ghinstancewarp14")+"::OnEnable");
npctalk(_("I collected some items dropped from its body. You can take it from me."), instance_npcname("Varmundt#ghinstance3"));
- donpcevent instance_npcname("#effectGH01")+"::OnEnable";
- donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnEnable";
- donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnEnable";
- donpcevent instance_npcname("#ghmemorialmob04")+"::OnDisable";
+ donpcevent(instance_npcname("#effectGH01")+"::OnEnable");
+ donpcevent(instance_npcname("Heinrich#ghinstance5")+"::OnEnable");
+ donpcevent(instance_npcname("Varmundt#ghinstance4")+"::OnEnable");
+ donpcevent(instance_npcname("#ghmemorialmob04")+"::OnDisable");
}
end;
}
@@ -1094,24 +1150,24 @@ OnMyMobDead:
end;
OnTouch:
- donpcevent instance_npcname("#controlGH3")+"::OnEnable";
- specialeffect EF_BASH;
- donpcevent instance_npcname("#GHMclear3")+"::OnDisable";
+ donpcevent(instance_npcname("#controlGH3")+"::OnEnable");
+ specialeffect(EF_BASH);
+ donpcevent(instance_npcname("#GHMclear3")+"::OnDisable");
end;
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#GHMclear3");
+ disablenpc(instance_npcname("#GHMclear3"));
end;
OnEnable:
- enablenpc instance_npcname("#GHMclear3");
- initnpctimer;
+ enablenpc(instance_npcname("#GHMclear3"));
+ initnpctimer();
end;
OnTimer2000:
mapannounce(instance_mapname("1@gl_k"), _("Himelmez: I'll wait for you at the north of the castle. I want to see you how lucky you are."), bc_map, C_WHITE);
- stopnpctimer;
+ stopnpctimer();
end;
}
@@ -1120,12 +1176,12 @@ OnTimer2000:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#controlGH3");
+ disablenpc(instance_npcname("#controlGH3"));
end;
OnEnable:
- enablenpc instance_npcname("#controlGH3");
- initnpctimer;
+ enablenpc(instance_npcname("#controlGH3"));
+ initnpctimer();
end;
OnTimer3000:
@@ -1165,7 +1221,7 @@ OnTimer27000:
end;
OnTimer28000:
- donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnDisable";
+ donpcevent(instance_npcname("Himelmez#ghinstance2")+"::OnDisable");
end;
OnTimer31000:
@@ -1173,7 +1229,7 @@ OnTimer31000:
end;
OnTimer32000:
- donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnDisable";
+ donpcevent(instance_npcname("Heinrich#ghinstance4")+"::OnDisable");
end;
OnTimer35000:
@@ -1181,117 +1237,117 @@ OnTimer35000:
end;
OnTimer38000:
- donpcevent instance_npcname("#ghmemorialmob04")+"::OnEnable";
- stopnpctimer;
- donpcevent instance_npcname("#controlGH3")+"::OnDisable";
+ donpcevent(instance_npcname("#ghmemorialmob04")+"::OnEnable");
+ stopnpctimer();
+ donpcevent(instance_npcname("#controlGH3")+"::OnDisable");
end;
}
1@gl_k,144,258,6 script Heinrich#ghinstance4 4_M_HEINRICH,{
- cutin "gl_heinrich1",2;
+ cutin("gl_heinrich1", 2);
mes("[Heinrich]");
mes("Himelmez... I will never forget what you've done to my men.");
- close2;
- cutin "gl_heinrich1",255;
+ close2();
+ cutin("gl_heinrich1", 255);
end;
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Heinrich#ghinstance4");
+ hideonnpc(instance_npcname("Heinrich#ghinstance4"));
end;
OnEnable:
- hideoffnpc instance_npcname("Heinrich#ghinstance4");
+ hideoffnpc(instance_npcname("Heinrich#ghinstance4"));
end;
}
1@gl_k,150,257,3 script Himelmez#ghinstance2 4_F_HIMEL,{
- cutin "gl_himel2",2;
+ cutin("gl_himel2", 2);
mes("[Himelmez]");
mes("Don't look at me nervous like that. It will be over soon...");
- close2;
- cutin "gl_himel2",255;
+ close2();
+ cutin("gl_himel2", 255);
end;
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Himelmez#ghinstance2");
+ hideonnpc(instance_npcname("Himelmez#ghinstance2"));
end;
OnEnable:
- hideoffnpc instance_npcname("Himelmez#ghinstance2");
+ hideoffnpc(instance_npcname("Himelmez#ghinstance2"));
end;
}
1@gl_k,156,259,3 script Varmundt#ghinstance3 4_M_BARMUND,{ // not disabling it so all players can get their reward
if (questprogress(12318, HUNTING) == 2) {
- cutin "gl_barmund1", 2;
+ cutin("gl_barmund1", 2);
mes("[Varmundt]");
mes("This item has extraordinary aura with it. Can be very useful for someone special.");
- erasequest 12318;
+ erasequest(12318);
if (!questprogress(12319, HUNTING))
- setquest 12319;
- setquest 12320;
- erasequest 12320;
- getitem Temporal_Crystal, 1;
- getitem Coagulated_Spell, 1;
- getexp 250000, 250000;
- close2;
- cutin "gl_barmund1", 255;
+ setquest(12319);
+ setquest(12320);
+ erasequest(12320);
+ getitem(Temporal_Crystal, 1);
+ getitem(Coagulated_Spell, 1);
+ getexp(250000, 250000);
+ close2();
+ cutin("gl_barmund1", 255);
end;
}
- cutin "gl_barmund1",2;
+ cutin("gl_barmund1", 2);
mes("[Varmundt]");
mes("I guess this is it. Is it impossible to stop the time traveler's will?! A portal seems to have appeared to the north.");
- close2;
- cutin "gl_barmund2",255;
+ close2();
+ cutin("gl_barmund2", 255);
end;
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Varmundt#ghinstance3");
+ hideonnpc(instance_npcname("Varmundt#ghinstance3"));
end;
OnEnable:
- hideoffnpc instance_npcname("Varmundt#ghinstance3");
+ hideoffnpc(instance_npcname("Varmundt#ghinstance3"));
end;
}
// Floor 2
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2@gl_k,148,67,1 script Heinrich#ghinstance5 4_M_HEINRICH,{
- cutin "gl_heinrich1",2;
+ cutin("gl_heinrich1", 2);
mes("[Heinrich]");
mes("Himelmez's closed space covers everywhere...");
- close2;
- cutin "gl_heinrich1",255;
+ close2();
+ cutin("gl_heinrich1", 255);
end;
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Heinrich#ghinstance5");
+ hideonnpc(instance_npcname("Heinrich#ghinstance5"));
end;
OnEnable:
- hideoffnpc instance_npcname("Heinrich#ghinstance5");
+ hideoffnpc(instance_npcname("Heinrich#ghinstance5"));
end;
}
2@gl_k,151,71,7 script Varmundt#ghinstance4 4_M_BARMUND,{
- cutin "gl_barmund1",2;
+ cutin("gl_barmund1", 2);
mes("[Varmundt]");
mes("How many times I do this job. In my dream, I did it over and over again...");
- close2;
- cutin "gl_barmund1",255;
+ close2();
+ cutin("gl_barmund1", 255);
end;
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Varmundt#ghinstance4");
+ hideonnpc(instance_npcname("Varmundt#ghinstance4"));
end;
OnEnable:
- hideoffnpc instance_npcname("Varmundt#ghinstance4");
+ hideoffnpc(instance_npcname("Varmundt#ghinstance4"));
end;
}
@@ -1301,22 +1357,22 @@ OnEnable:
OnTouch:
if ('touch) {
'touch = 0;
- specialeffect EF_BASH;
- donpcevent instance_npcname("#controlGH4")+"::OnEnable";
+ specialeffect(EF_BASH);
+ donpcevent(instance_npcname("#controlGH4")+"::OnEnable");
}
end;
OnEffect:
- specialeffect EF_LORD;
+ specialeffect(EF_LORD);
end;
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#effectGH01");
+ disablenpc(instance_npcname("#effectGH01"));
end;
OnEnable:
- enablenpc instance_npcname("#effectGH01");
+ enablenpc(instance_npcname("#effectGH01"));
'touch = 1; // Only activate OnTouch once
end;
}
@@ -1326,17 +1382,17 @@ OnEnable:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#controlGH4");
+ disablenpc(instance_npcname("#controlGH4"));
end;
OnEnable:
- enablenpc instance_npcname("#controlGH4");
- initnpctimer;
+ enablenpc(instance_npcname("#controlGH4"));
+ initnpctimer();
end;
OnTimer3000:
npctalk(_("This structure was not in the castle before!"), instance_npcname("Heinrich#ghinstance5"));
- donpcevent instance_npcname("#ghmemorialmob05")+"::OnEnable";
+ donpcevent(instance_npcname("#ghmemorialmob05")+"::OnEnable");
end;
OnTimer6000:
@@ -1352,11 +1408,11 @@ OnTimer12000:
end;
OnTimer15000:
- donpcevent instance_npcname("#effectGH01")+"::OnEffect";
+ donpcevent(instance_npcname("#effectGH01")+"::OnEffect");
end;
OnTimer18000:
- donpcevent instance_npcname("#effectGH01")+"::OnDisable";
+ donpcevent(instance_npcname("#effectGH01")+"::OnDisable");
npctalk(_("I think that part of closed space is broke down."), instance_npcname("Varmundt#ghinstance4"));
end;
@@ -1426,16 +1482,16 @@ OnTimer66000:
OnTimer69000:
mapannounce(instance_mapname("2@gl_k"), _("A portal to the west has opened in the central hallway."), bc_map, C_YELLOW);
- donpcevent instance_npcname("#ghinstancewarp8")+"::OnEnable";
- donpcevent instance_npcname("#ghinstancewarp9")+"::OnEnable";
- donpcevent instance_npcname("#ghmemorialmob06")+"::OnEnable";
- donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnDisable";
- donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnDisable";
+ donpcevent(instance_npcname("#ghinstancewarp8")+"::OnEnable");
+ donpcevent(instance_npcname("#ghinstancewarp9")+"::OnEnable");
+ donpcevent(instance_npcname("#ghmemorialmob06")+"::OnEnable");
+ donpcevent(instance_npcname("Varmundt#ghinstance4")+"::OnDisable");
+ donpcevent(instance_npcname("Heinrich#ghinstance5")+"::OnDisable");
end;
OnTimer70000:
- stopnpctimer;
- donpcevent instance_npcname("#controlGH4")+"::OnDisable";
+ stopnpctimer();
+ donpcevent(instance_npcname("#controlGH4")+"::OnDisable");
end;
}
@@ -1444,11 +1500,11 @@ OnTimer70000:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#ghmemorialmob05");
+ disablenpc(instance_npcname("#ghmemorialmob05"));
end;
OnEnable:
- enablenpc instance_npcname("#ghmemorialmob05");
+ enablenpc(instance_npcname("#ghmemorialmob05"));
.@map$ = instance_mapname("2@gl_k");
.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Palace Guard"), MG_RAYDRIC, 8, .@label$);
@@ -1464,26 +1520,26 @@ OnMyMobDead:
'MyMobs = 'MyMobs - 1;
if ('MyMobs == 0) {
mapannounce(.@map$, _("Evil Forces are appearing in this area."), bc_map, C_YELLOW, FW_NORMAL, 18);
- donpcevent instance_npcname("#ghmemorialmob06")+"::OnDisable2";
- donpcevent instance_npcname("#ghmemorialmob07")+"::OnEnable";
- donpcevent instance_npcname("#ghmemorialmob05")+"::OnDisable";
+ donpcevent(instance_npcname("#ghmemorialmob06")+"::OnDisable2");
+ donpcevent(instance_npcname("#ghmemorialmob07")+"::OnEnable");
+ donpcevent(instance_npcname("#ghmemorialmob05")+"::OnDisable");
} else {
.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
- switch(rand(5)) {
+ switch (rand(5)) {
case 0:
- areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Palace Guard"), 2468, 1, .@label$);
+ areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Palace Guard"), MG_RAYDRIC, 1, .@label$);
break;
case 1:
- areamonster(.@map$, 124, 20, 31, 162, _("Archer of Death"), 2469, 1, .@label$);
+ areamonster(.@map$, 124, 20, 31, 162, _("Archer of Death"), MG_RAYDRIC_ARCHER, 1, .@label$);
break;
case 2:
- areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Abysmal Knight"), 2470, 1, .@label$);
+ areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
break;
case 3:
- areamonster(.@map$, 124, 20, 31, 162, _("Suffered Khalitzburg"), 2471, 1, .@label$);
+ areamonster(.@map$, 124, 20, 31, 162, _("Suffered Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
break;
case 4:
- areamonster(.@map$, 124, 20, 31, 162, _("Bloody Knight"), 2472, 1, .@label$);
+ areamonster(.@map$, 124, 20, 31, 162, _("Bloody Knight"), MG_BLOODY_KNIGHT, 1, .@label$);
break;
}
}
@@ -1495,34 +1551,34 @@ OnMyMobDead:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#ghmemorialmob06");
+ disablenpc(instance_npcname("#ghmemorialmob06"));
end;
OnDisable2:
- stopnpctimer;
- disablenpc instance_npcname("#ghmemorialmob06");
+ stopnpctimer();
+ disablenpc(instance_npcname("#ghmemorialmob06"));
end;
OnEnable:
- enablenpc instance_npcname("#ghmemorialmob06");
- donpcevent instance_npcname("#ghmemorialmob06")+"::OnSpawn";
+ enablenpc(instance_npcname("#ghmemorialmob06"));
+ donpcevent(instance_npcname("#ghmemorialmob06")+"::OnSpawn");
end;
OnSpawn:
- initnpctimer;
+ initnpctimer();
end;
OnTimer90000:
.@map$ = instance_mapname("2@gl_k");
.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
- setarray .@c[0],
- 114,141,118,139,
- 128,83,131,78,
- 88,53,93,48,
- 54,47,61,40,
- 58,83,63,78,
- 69,138,80,127,
- 34,143,39,138;
+ setarray(.@c[0],
+ 114, 141, 118, 139,
+ 128, 83, 131, 78,
+ 88, 53, 93, 48,
+ 54, 47, 61, 40,
+ 58, 83, 63, 78,
+ 69, 138, 80, 127,
+ 34, 143, 39, 138);
for (.@i = 0; .@i < getarraysize(.@c); .@i += 4) {
areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Corrupted Palace Guard"), MG_RAYDRIC, 1, .@label$);
areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Archer of Death"), MG_RAYDRIC_ARCHER, 1, .@label$);
@@ -1533,8 +1589,8 @@ OnTimer90000:
end;
OnTimer92000:
- stopnpctimer;
- donpcevent instance_npcname("#ghmemorialmob06")+"::OnSpawn";
+ stopnpctimer();
+ donpcevent(instance_npcname("#ghmemorialmob06")+"::OnSpawn");
end;
}
@@ -1543,22 +1599,22 @@ OnTimer92000:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#ghmemorialmob07");
+ disablenpc(instance_npcname("#ghmemorialmob07"));
end;
OnEnable:
- enablenpc instance_npcname("#ghmemorialmob07");
- areamonster instance_mapname("2@gl_k"), 124, 20, 31, 162, _("1st Commander of Destruction"), MG_M_UNDEAD_KNIGHT, 1, instance_npcname("#ghmemorialmob07")+"::OnMyMobDead";
+ enablenpc(instance_npcname("#ghmemorialmob07"));
+ areamonster(instance_mapname("2@gl_k"), 124, 20, 31, 162, _("1st Commander of Destruction"), MG_M_UNDEAD_KNIGHT, 1, instance_npcname("#ghmemorialmob07")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("2@gl_k");
- if (mobcount(.@map$,instance_npcname("#ghmemorialmob07")+"::OnMyMobDead") < 1) {
+ if (mobcount(.@map$, instance_npcname("#ghmemorialmob07")+"::OnMyMobDead") < 1) {
mapannounce(.@map$, _("A portal has opened to the east in the central hallway."), bc_map, C_YELLOW);
- donpcevent instance_npcname("#ghinstancewarp10")+"::OnEnable";
- donpcevent instance_npcname("#ghinstancewarp11")+"::OnEnable";
- donpcevent instance_npcname("#ghmemorialmob08")+"::OnEnable";
- donpcevent instance_npcname("#ghmemorialmob07")+"::OnDisable";
+ donpcevent(instance_npcname("#ghinstancewarp10")+"::OnEnable");
+ donpcevent(instance_npcname("#ghinstancewarp11")+"::OnEnable");
+ donpcevent(instance_npcname("#ghmemorialmob08")+"::OnEnable");
+ donpcevent(instance_npcname("#ghmemorialmob07")+"::OnDisable");
}
end;
}
@@ -1568,18 +1624,18 @@ OnMyMobDead:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#ghmemorialmob08");
+ disablenpc(instance_npcname("#ghmemorialmob08"));
end;
OnEnable:
- enablenpc instance_npcname("#ghmemorialmob08");
+ enablenpc(instance_npcname("#ghmemorialmob08"));
.@map$ = instance_mapname("2@gl_k");
.@label$ = instance_npcname("#ghmemorialmob08")+"::OnMyMobDead";
- areamonster .@map$, 175, 163, 265, 18, "Corrupted Palace Guard", 2468, 7, .@label$;
- areamonster .@map$, 175, 163, 265, 18, "Wandering Archer", 2469, 7, .@label$;
- areamonster .@map$, 175, 163, 265, 18, "Corrupted Abysmal Knight", 2470, 7, .@label$;
- areamonster .@map$, 175, 163, 265, 18, "Suffered Khalitzburg", 2471, 7, .@label$;
- areamonster .@map$, 175, 163, 265, 18, "Bloody Knight", 2472, 7, .@label$;
+ areamonster(.@map$, 175, 163, 265, 18, _("Corrupted Palace Guard"), MG_RAYDRIC, 7, .@label$);
+ areamonster(.@map$, 175, 163, 265, 18, _("Wandering Archer"), MG_RAYDRIC_ARCHER, 7, .@label$);
+ areamonster(.@map$, 175, 163, 265, 18, _("Corrupted Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 7, .@label$);
+ areamonster(.@map$, 175, 163, 265, 18, _("Suffered Khalitzburg"), MG_KHALITZBURG, 7, .@label$);
+ areamonster(.@map$, 175, 163, 265, 18, _("Bloody Knight"), MG_BLOODY_KNIGHT, 7, .@label$);
'MyMobs = 35;
end;
@@ -1588,8 +1644,8 @@ OnMyMobDead:
'MyMobs = 'MyMobs-1;
if ('MyMobs == 0) {
mapannounce(.@map$, _("An evil presence has teleported into this area."), bc_map, C_YELLOW, FW_NORMAL, 18);
- donpcevent instance_npcname("#ghmemorialmob09")+"::OnEnable";
- donpcevent instance_npcname("#ghmemorialmob08")+"::OnDisable";
+ donpcevent(instance_npcname("#ghmemorialmob09")+"::OnEnable");
+ donpcevent(instance_npcname("#ghmemorialmob08")+"::OnDisable");
} else {
.@label$ = instance_npcname("#ghmemorialmob08")+"::OnMyMobDead";
switch (rand(5)) {
@@ -1618,23 +1674,23 @@ OnMyMobDead:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#ghmemorialmob09");
+ disablenpc(instance_npcname("#ghmemorialmob09"));
end;
OnEnable:
- enablenpc instance_npcname("#ghmemorialmob09");
+ enablenpc(instance_npcname("#ghmemorialmob09"));
areamonster(instance_mapname("2@gl_k"), 175, 163, 265, 18, _("2nd Commander of Destruction"), MG_F_UNDEAD_KNIGHT, 1, instance_npcname("#ghmemorialmob09")+"::OnMyMobDead");
end;
OnMyMobDead:
.@map$ = instance_mapname("2@gl_k");
- if (mobcount(.@map$,instance_npcname("#ghmemorialmob09")+"::OnMyMobDead") < 1) {
+ if (mobcount(.@map$, instance_npcname("#ghmemorialmob09")+"::OnMyMobDead") < 1) {
mapannounce(.@map$, _("A new portal has appeared at the end of the central corridor."), bc_map, C_YELLOW);
- donpcevent instance_npcname("#ghinstancewarp12")+"::OnEnable";
- donpcevent instance_npcname("#ghinstancewarp13")+"::OnEnable";
- donpcevent instance_npcname("#controlGH6")+"::OnEnable";
- donpcevent instance_npcname("#ghmemorialmob08")+"::OnDisable";
- donpcevent instance_npcname("#ghmemorialmob09")+"::OnDisable";
+ donpcevent(instance_npcname("#ghinstancewarp12")+"::OnEnable");
+ donpcevent(instance_npcname("#ghinstancewarp13")+"::OnEnable");
+ donpcevent(instance_npcname("#controlGH6")+"::OnEnable");
+ donpcevent(instance_npcname("#ghmemorialmob08")+"::OnDisable");
+ donpcevent(instance_npcname("#ghmemorialmob09")+"::OnDisable");
}
end;
}
@@ -1644,15 +1700,15 @@ OnMyMobDead:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#ghmemorialmob10");
+ disablenpc(instance_npcname("#ghmemorialmob10"));
end;
OnEnable:
- enablenpc instance_npcname("#ghmemorialmob10");
- donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnDisable";
+ enablenpc(instance_npcname("#ghmemorialmob10"));
+ donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnDisable");
monster(instance_mapname("2@gl_k"), 158, 255, _("Amdarais"), MG_AMDARAIS, 1, instance_npcname("#ghmemorialmob10")+"::OnMyMobDead");
unittalk($@mobid[0], _("Run away... run away from me..."));
- initnpctimer;
+ initnpctimer();
end;
OnTimer6000:
@@ -1669,72 +1725,72 @@ OnTimer18000:
OnTimer24000:
unittalk($@mobid[0], _("Demolition... Death!..."));
- stopnpctimer;
+ stopnpctimer();
end;
OnMyMobDead:
- if (mobcount(instance_mapname("2@gl_k"),instance_npcname("#ghmemorialmob10")+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("Hugin#ghinstance1")+"::OnEnable";
- donpcevent instance_npcname("#ghinstancewarp15")+"::OnEnable";
+ if (mobcount(instance_mapname("2@gl_k"), instance_npcname("#ghmemorialmob10")+"::OnMyMobDead") < 1) {
+ donpcevent(instance_npcname("Hugin#ghinstance1")+"::OnEnable");
+ donpcevent(instance_npcname("#ghinstancewarp15")+"::OnEnable");
for (.@i = 1; .@i <= 8; .@i++)
- enablenpc instance_npcname("Strange crack#"+.@i);
- stopnpctimer;
- donpcevent instance_npcname("#ghmemorialmob10")+"::OnDisable";
+ enablenpc(instance_npcname("Strange crack#"+.@i));
+ stopnpctimer();
+ donpcevent(instance_npcname("#ghmemorialmob10")+"::OnDisable");
}
end;
}
2@gl_k,155,250,7 script Heinrich#ghinstance6 4_M_HEINRICH,{
- cutin "gl_heinrich1",2;
+ cutin("gl_heinrich1", 2);
mes("[Heinrich]");
mes("What are you decorating Himelmez!");
- close2;
- cutin "gl_heinrich1",255;
+ close2();
+ cutin("gl_heinrich1", 255);
end;
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Heinrich#ghinstance6");
+ hideonnpc(instance_npcname("Heinrich#ghinstance6"));
end;
OnEnable:
- hideoffnpc instance_npcname("Heinrich#ghinstance6");
+ hideoffnpc(instance_npcname("Heinrich#ghinstance6"));
end;
}
2@gl_k,162,250,1 script Varmundt#ghinstance5 4_M_BARMUND,{
- cutin "gl_barmund2",2;
+ cutin("gl_barmund2", 2);
mes("[Varmundt]");
mes("Can't take off this bridle...");
- close2;
- cutin "gl_barmund2",255;
+ close2();
+ cutin("gl_barmund2", 255);
end;
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Varmundt#ghinstance5");
+ hideonnpc(instance_npcname("Varmundt#ghinstance5"));
end;
OnEnable:
- hideoffnpc instance_npcname("Varmundt#ghinstance5");
+ hideoffnpc(instance_npcname("Varmundt#ghinstance5"));
end;
}
2@gl_k,158,252,3 script Himelmez#ghinstance4 4_F_HIMEL,{
- cutin "gl_himel2",2;
+ cutin("gl_himel2", 2);
mes("[Himelmez]");
mes("That is amazing ~ you made it all the way here. May I say thank you?");
- close2;
- cutin "gl_himel2",255;
+ close2();
+ cutin("gl_himel2", 255);
end;
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Himelmez#ghinstance4");
+ hideonnpc(instance_npcname("Himelmez#ghinstance4"));
end;
OnEnable:
- hideoffnpc instance_npcname("Himelmez#ghinstance4");
+ hideoffnpc(instance_npcname("Himelmez#ghinstance4"));
end;
}
@@ -1743,21 +1799,21 @@ OnEnable:
OnTouch:
mapannounce(instance_mapname("2@gl_k"), _("???: Do not come here! It's a trap... Kkkkah!!!"), bc_map, C_RED, FW_NORMAL, 18);
- specialeffect EF_BASH;
- donpcevent instance_npcname("Himelmez#ghinstance3")+"::OnEnable";
- donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnEnable";
- donpcevent instance_npcname("Varmundt#ghinstance5")+"::OnEnable";
- donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEnable";
- donpcevent instance_npcname("#controlGH6")+"::OnDisable";
+ specialeffect(EF_BASH);
+ donpcevent(instance_npcname("Himelmez#ghinstance3")+"::OnEnable");
+ donpcevent(instance_npcname("Heinrich#ghinstance6")+"::OnEnable");
+ donpcevent(instance_npcname("Varmundt#ghinstance5")+"::OnEnable");
+ donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnEnable");
+ donpcevent(instance_npcname("#controlGH6")+"::OnDisable");
end;
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#controlGH6");
+ disablenpc(instance_npcname("#controlGH6"));
end;
OnEnable:
- enablenpc instance_npcname("#controlGH6");
+ enablenpc(instance_npcname("#controlGH6"));
end;
}
@@ -1765,19 +1821,19 @@ OnEnable:
end;
OnTouch:
- specialeffect EF_BASH;
- donpcevent instance_npcname("#controlGH5")+"::OnEnable";
- donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnEnable";
- donpcevent instance_npcname("Himelmez#ghinstance3")+"::OnDisable";
+ specialeffect(EF_BASH);
+ donpcevent(instance_npcname("#controlGH5")+"::OnEnable");
+ donpcevent(instance_npcname("Himelmez#ghinstance4")+"::OnEnable");
+ donpcevent(instance_npcname("Himelmez#ghinstance3")+"::OnDisable");
end;
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Himelmez#ghinstance3");
+ disablenpc(instance_npcname("Himelmez#ghinstance3"));
end;
OnEnable:
- enablenpc instance_npcname("Himelmez#ghinstance3");
+ enablenpc(instance_npcname("Himelmez#ghinstance3"));
end;
}
@@ -1785,15 +1841,15 @@ OnEnable:
mes("[Gerhalt]");
mes("Uuuuu... Khhhah!\r"
"Just run away with the commander!");
- close;
+ close();
OnInstanceInit:
OnDisable:
- hideonnpc instance_npcname("Gerhalt#ghinstance1");
+ hideonnpc(instance_npcname("Gerhalt#ghinstance1"));
end;
OnEnable:
- hideoffnpc instance_npcname("Gerhalt#ghinstance1");
+ hideoffnpc(instance_npcname("Gerhalt#ghinstance1"));
end;
OnTalk3: /*Unused*/
@@ -1801,23 +1857,23 @@ OnTalk3: /*Unused*/
end;
OnEffect1:
- specialeffect EF_BARRIER;
+ specialeffect(EF_BARRIER);
end;
OnEffect2:
- specialeffect EF_CHAINCOMBO;
+ specialeffect(EF_CHAINCOMBO);
end;
OnEffect3:
- specialeffect EF_MAPPILLAR2;
+ specialeffect(EF_MAPPILLAR2);
end;
OnEffect4:
- specialeffect EF_MAPPILLAR;
+ specialeffect(EF_MAPPILLAR);
end;
OnEffect5:
- specialeffect EF_LORD;
+ specialeffect(EF_LORD);
end;
}
@@ -1826,12 +1882,12 @@ OnEffect5:
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("#controlGH5");
+ disablenpc(instance_npcname("#controlGH5"));
end;
OnEnable:
- enablenpc instance_npcname("#controlGH5");
- initnpctimer;
+ enablenpc(instance_npcname("#controlGH5"));
+ initnpctimer();
end;
OnTimer3000:
@@ -1907,32 +1963,32 @@ OnTimer57000:
end;
OnTimer60000:
- donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect1";
+ donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnEffect1");
end;
OnTimer63000:
- donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnDisable";
+ donpcevent(instance_npcname("Himelmez#ghinstance4")+"::OnDisable");
end;
OnTimer65000:
- donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect3";
+ donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnEffect3");
end;
OnTimer66000:
- donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect2";
+ donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnEffect2");
end;
OnTimer67000:
npctalk(_("I'll never let you get away Himelmez!!"), instance_npcname("Heinrich#ghinstance6"));
- donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect4";
+ donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnEffect4");
end;
OnTimer70000:
- donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect3";
- donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect4";
- donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnDisable";
+ donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnEffect3");
+ donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnEffect4");
+ donpcevent(instance_npcname("Heinrich#ghinstance6")+"::OnDisable");
npctalk(_("We have no choice. We have to fight against Amdarais!"), instance_npcname("Varmundt#ghinstance5"));
- donpcevent instance_npcname("Varmundt#ghinstance5")+"::OnDisable";
+ donpcevent(instance_npcname("Varmundt#ghinstance5")+"::OnDisable");
end;
OnTimer73000:
@@ -1940,13 +1996,13 @@ OnTimer73000:
end;
OnTimer76000:
- donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect5";
+ donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnEffect5");
end;
OnTimer80000:
- donpcevent instance_npcname("#ghmemorialmob10")+"::OnEnable";
- stopnpctimer;
- donpcevent instance_npcname("#controlGH5")+"::OnDisable";
+ donpcevent(instance_npcname("#ghmemorialmob10")+"::OnEnable");
+ stopnpctimer();
+ donpcevent(instance_npcname("#controlGH5")+"::OnDisable");
end;
}
@@ -1954,65 +2010,65 @@ OnTimer80000:
if (questprogress(12319, HUNTING) == 2) {
mes("[Hugin]");
mes("Hm, you are very well. First of all, let me give you some loot from Amdarais.");
- erasequest 12319;
- setquest 12321;
- setquest 12322;
- erasequest 12321;
+ erasequest(12319);
+ setquest(12321);
+ setquest(12322);
+ erasequest(12321);
if (gh_instance == 1) {
- getitem Temporal_Crystal, 1;
- getitem Coagulated_Spell, 1;
+ getitem(Temporal_Crystal, 1);
+ getitem(Coagulated_Spell, 1);
} else {
- getitem Temporal_Crystal, 5;
- getitem Coagulated_Spell, 5;
+ getitem(Temporal_Crystal, 5);
+ getitem(Coagulated_Spell, 5);
gh_instance = 1;
}
getexp(350000, 350000);
- next;
+ next();
mes("[Hugin]");
mes("Varmundt's time is stopped by me. And your time will be distorted soon.");
- specialeffect2 EF_BLIND,AREA;
- soundeffect "_blind.wav",0;
- next;
+ specialeffect(EF_BLIND, AREA, AREA, playerattached());
+ soundeffect("_blind.wav", 0);
+ next();
mes("[Hugin]");
mes("Maybe this poor time traveler will try to stop Glast Heim's tragedy from happening.");
- next;
+ next();
mes("[Hugin]");
mes("However, we will never overlook his behavior now and forever...");
- next;
+ next();
mes("[Hugin]");
mes("Now, let me remove your memory. If you see me again, that will be brand new.");
- specialeffect2 EF_FREEZE;
- close2;
+ specialeffect(EF_FREEZE, AREA, playerattached());
+ close2();
getmapxy(.@map$, .@x, .@y, UNITTYPE_PC);
- warp .@map$,.@x,.@y;
+ warp(.@map$, .@x, .@y);
end;
} else {
mes("[Hugin]");
mes("Oops I almost distorted the time gap. Come over here. We need to go out!");
- next;
+ next();
select("You were just with me...");
mes("[Hugin]");
mes("What did you say just before? Anyway that is not important, The gap of time will be closed so, we need to get out of here.");
- next;
- switch(select("Let me look around more:Please let me out")) {
+ next();
+ switch (select("Let me look around more:Please let me out")) {
case 1:
mes("[Hugin]");
mes("Really? This place will be broke down so, please look around quickly.");
- close;
+ close();
case 2:
- close2;
- warp "glast_01",204,270;
+ close2();
+ warp("glast_01", 204, 270);
end;
}
}
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Hugin#ghinstance1");
+ disablenpc(instance_npcname("Hugin#ghinstance1"));
end;
OnEnable:
- enablenpc instance_npcname("Hugin#ghinstance1");
+ enablenpc(instance_npcname("Hugin#ghinstance1"));
end;
}
@@ -2022,205 +2078,197 @@ OnEnable:
1@gl_k,269,267,0 script Strange crack#entrace HIDDEN_NPC,{
if (!questprogress(12322)) {
mes("The crack looks suspicious, but nothing more to check.");
- close;
+ close();
}
.@map$ = instance_mapname("1@gl_k");
- warp .@map$,149,193;
+ warp(.@map$, 149, 193);
end;
}
1@gl_k,129,136,0 script Strange crack#1 HIDDEN_NPC,{
- specialeffect EF_SPELLBREAKER;
- specialeffect EF_BASH;
+ specialeffect(EF_SPELLBREAKER);
+ specialeffect(EF_BASH);
.@random = rand(1, 4);
.@random_ = rand(1, 4);
- for (.@i = 1; .@i <= .@random; .@i++) {
- makeitem White_Jewel, 1, "this", 129, 138;
- }
- makeitem Coagulated_Spell, 1, "this", 129, 138;
+ for (.@i = 1; .@i <= .@random; .@i++)
+ makeitem(White_Jewel, 1, "this", 129, 138);
+ makeitem(Coagulated_Spell, 1, "this", 129, 138);
if (.@random_ == 4) {
- //makeitem2 Heavy_Sword, 1, "this", 129, 138, 0, 0, 0, 0, 0, 0, 0;
- makeitem Heavy_Sword, 1, "this", 129, 138;
+ //makeitem2(Heavy_Sword, 1, "this", 129, 138, 0, 0, 0, 0, 0, 0, 0);
+ makeitem(Heavy_Sword, 1, "this", 129, 138);
}
// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Strange crack#1");
+ disablenpc(instance_npcname("Strange crack#1"));
end;
OnEnable:
- enablenpc instance_npcname("Strange crack#1");
+ enablenpc(instance_npcname("Strange crack#1"));
end;
}
1@gl_k,135,136,0 script Strange crack#2 HIDDEN_NPC,{
- specialeffect EF_SPELLBREAKER;
- specialeffect EF_BASH;
+ specialeffect(EF_SPELLBREAKER);
+ specialeffect(EF_BASH);
.@random = rand(1, 4);
.@random_ = rand(1, 4);
- for (.@i=1; .@i<=.@random; .@i++) {
- makeitem Blue_Jewel, 1, "this", 135, 138;
- }
+ for (.@i = 1; .@i <= .@random; .@i++)
+ makeitem(Blue_Jewel, 1, "this", 135, 138);
if (.@random_ == 4) {
- //makeitem2 Staff_Of_Geffen, 1, "this", 135, 138, 0, 0, 0, 0, 0, 0, 0;
- makeitem Staff_Of_Geffen, 1, "this", 135, 138;
+ //makeitem2(Staff_Of_Geffen, 1, "this", 135, 138, 0, 0, 0, 0, 0, 0, 0);
+ makeitem(Staff_Of_Geffen, 1, "this", 135, 138);
}
- makeitem Coagulated_Spell, 1, "this", 135, 138;
+ makeitem(Coagulated_Spell, 1, "this", 135, 138);
// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Strange crack#2");
+ disablenpc(instance_npcname("Strange crack#2"));
end;
OnEnable:
- enablenpc instance_npcname("Strange crack#2");
+ enablenpc(instance_npcname("Strange crack#2"));
end;
}
1@gl_k,141,136,0 script Strange crack#3 HIDDEN_NPC,{
- specialeffect EF_SPELLBREAKER;
- specialeffect EF_BASH;
+ specialeffect(EF_SPELLBREAKER);
+ specialeffect(EF_BASH);
.@random = rand(1, 4);
.@random_ = rand(1, 4);
- for (.@i=1; .@i<=.@random; .@i++) {
- makeitem Red_Jewel, 1, "this", 141, 138;
- }
- makeitem Coagulated_Spell, 1, "this", 141, 138;
- makeitem Gold_Bullion, 1, "this", 141, 138;
+ for (.@i = 1; .@i <= .@random; .@i++)
+ makeitem(Red_Jewel, 1, "this", 141, 138);
+ makeitem(Coagulated_Spell, 1, "this", 141, 138);
+ makeitem(Gold_Bullion, 1, "this", 141, 138);
if (.@random_ == 4) {
- //makeitem2 Ceremonial_Sword, 1, "this", 141, 138, 0, 0, 0, 0, 0, 0, 0;
- makeitem Ceremonial_Sword, 1, "this", 141, 138;
+ //makeitem2(Ceremonial_Sword, 1, "this", 141, 138, 0, 0, 0, 0, 0, 0, 0);
+ makeitem(Ceremonial_Sword, 1, "this", 141, 138);
}
// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Strange crack#3");
+ disablenpc(instance_npcname("Strange crack#3"));
end;
OnEnable:
- enablenpc instance_npcname("Strange crack#3");
+ enablenpc(instance_npcname("Strange crack#3"));
end;
}
1@gl_k,147,136,0 script Strange crack#4 HIDDEN_NPC,{
- specialeffect EF_SPELLBREAKER;
- specialeffect EF_BASH;
+ specialeffect(EF_SPELLBREAKER);
+ specialeffect(EF_BASH);
.@random = rand(1, 4);
.@random_ = rand(1, 4);
- for (.@i=1; .@i<=.@random; .@i++) {
- makeitem Scarlet_Jewel, 1, "this", 147, 138;
- }
+ for (.@i = 1; .@i <= .@random; .@i++)
+ makeitem(Scarlet_Jewel, 1, "this", 147, 138);
if (.@random_ == 4) {
- //makeitem2 Silversmith_Bracelet, 1, "this", 147, 138, 0, 0, 0, 0, 0, 0, 0;
- makeitem Silversmith_Bracelet, 1, "this", 147, 138;
+ //makeitem2(Silversmith_Bracelet, 1, "this", 147, 138, 0, 0, 0, 0, 0, 0, 0);
+ makeitem(Silversmith_Bracelet, 1, "this", 147, 138);
}
- makeitem Coagulated_Spell, 1, "this", 147, 138;
- makeitem Gold_Coin_Basket, 1, "this", 147, 138;
- makeitem Colorful_Brooch, 1, "this", 147, 138;
+ makeitem(Coagulated_Spell, 1, "this", 147, 138);
+ makeitem(Gold_Coin_Basket, 1, "this", 147, 138);
+ makeitem(Colorful_Brooch, 1, "this", 147, 138);
// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Strange crack#4");
+ disablenpc(instance_npcname("Strange crack#4"));
end;
OnEnable:
- enablenpc instance_npcname("Strange crack#4");
+ enablenpc(instance_npcname("Strange crack#4"));
end;
}
1@gl_k,153,136,0 script Strange crack#5 HIDDEN_NPC,{
- specialeffect EF_SPELLBREAKER;
- specialeffect EF_BASH;
+ specialeffect(EF_SPELLBREAKER);
+ specialeffect(EF_BASH);
.@random = rand(1, 4);
.@random_ = rand(1, 4);
- for (.@i=1; .@i<=.@random; .@i++) {
- makeitem Azure_Jewel, 1, "this", 153, 138;
- }
- makeitem Coagulated_Spell, 1, "this", 153, 138;
- makeitem White_Gold_Bullion, 1, "this", 153, 138;
+ for (.@i = 1; .@i <= .@random; .@i++)
+ makeitem(Azure_Jewel, 1, "this", 153, 138);
+ makeitem(Coagulated_Spell, 1, "this", 153, 138);
+ makeitem(White_Gold_Bullion, 1, "this", 153, 138);
if (.@random_ == 4) {
- //makeitem2 Goldsmithing_Dagger, 1, "this", 153, 138, 0, 0, 0, 0, 0, 0, 0;
- makeitem Goldsmithing_Dagger, 1, "this", 153, 138;
+ //makeitem2(Goldsmithing_Dagger, 1, "this", 153, 138, 0, 0, 0, 0, 0, 0, 0);
+ makeitem(Goldsmithing_Dagger, 1, "this", 153, 138);
}
// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Strange crack#5");
+ disablenpc(instance_npcname("Strange crack#5"));
end;
OnEnable:
- enablenpc instance_npcname("Strange crack#5");
+ enablenpc(instance_npcname("Strange crack#5"));
end;
}
1@gl_k,159,136,0 script Strange crack#6 HIDDEN_NPC,{
- specialeffect EF_SPELLBREAKER;
- specialeffect EF_BASH;
+ specialeffect(EF_SPELLBREAKER);
+ specialeffect(EF_BASH);
.@random = rand(1, 4);
.@random_ = rand(1, 4);
- for (.@i=1; .@i<=.@random; .@i++) {
- makeitem Skyblue_Jewel, 1, "this", 159, 138;
- }
- makeitem Coagulated_Spell, 1, "this", 159, 138;
- makeitem Silver_Bullion, 1, "this", 159, 138;
+ for (.@i = 1; .@i <= .@random; .@i++)
+ makeitem(Skyblue_Jewel, 1, "this", 159, 138);
+ makeitem(Coagulated_Spell, 1, "this", 159, 138);
+ makeitem(Silver_Bullion, 1, "this", 159, 138);
if (.@random_ == 4) {
- //makeitem2 Engraved_Armor, 1, "this", 159, 138, 0, 0, 0, 0, 0, 0, 0;
- makeitem Engraved_Armor, 1, "this", 159, 138;
+ //makeitem2(Engraved_Armor, 1, "this", 159, 138, 0, 0, 0, 0, 0, 0, 0);
+ makeitem(Engraved_Armor, 1, "this", 159, 138);
}
// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Strange crack#6");
+ disablenpc(instance_npcname("Strange crack#6"));
end;
OnEnable:
- enablenpc instance_npcname("Strange crack#6");
+ enablenpc(instance_npcname("Strange crack#6"));
end;
}
1@gl_k,165,136,0 script Strange crack#7 HIDDEN_NPC,{
- specialeffect EF_SPELLBREAKER;
- specialeffect EF_BASH;
+ specialeffect(EF_SPELLBREAKER);
+ specialeffect(EF_BASH);
.@random = rand(1, 4);
- for (.@i=1; .@i<=.@random; .@i++) {
- makeitem Violet_Jewel, 1, "this", 165, 138;
- }
- makeitem Coagulated_Spell, 1, "this", 165, 138;
+ for (.@i = 1; .@i <= .@random; .@i++)
+ makeitem(Violet_Jewel, 1, "this", 165, 138);
+ makeitem(Coagulated_Spell, 1, "this", 165, 138);
// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Strange crack#7");
+ disablenpc(instance_npcname("Strange crack#7"));
end;
OnEnable:
- enablenpc instance_npcname("Strange crack#7");
+ enablenpc(instance_npcname("Strange crack#7"));
end;
}
1@gl_k,171,136,0 script Strange crack#8 HIDDEN_NPC,{
- specialeffect EF_SPELLBREAKER;
- specialeffect EF_BASH;
+ specialeffect(EF_SPELLBREAKER);
+ specialeffect(EF_BASH);
.@random = rand(1, 4);
- for (.@i=1; .@i<=.@random; .@i++) {
- makeitem Dark_Red_Jewel, 1, "this", 171, 138;
- }
- makeitem Coagulated_Spell, 1, "this", 171, 138;
+ for (.@i = 1; .@i <= .@random; .@i++)
+ makeitem(Dark_Red_Jewel, 1, "this", 171, 138);
+ makeitem(Coagulated_Spell, 1, "this", 171, 138);
// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
OnInstanceInit:
OnDisable:
- disablenpc instance_npcname("Strange crack#8");
+ disablenpc(instance_npcname("Strange crack#8"));
end;
OnEnable:
- enablenpc instance_npcname("Strange crack#8");
+ enablenpc(instance_npcname("Strange crack#8"));
end;
}
@@ -2229,57 +2277,57 @@ OnEnable:
// Uses Temporal_Crystal
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
glast_01,210,273,5 script Hugin's Butler 1_F_04,{
- disable_items;
+ disable_items();
mes("[Hugin's Butler]"); // custom check
if (MaxWeight - Weight < 1000) {
mes("Your bag is too heavy. Reduce some weight and come back.");
- close;
+ close();
}
mes("I would like to thank you for helping my master Hugin. I can transmute your ^FF0000Temporal Crystals^000000 into a pair of boots that have withstood the test of time... the ^FF0000Temporal Boots^000000.");
- next;
+ next();
mes("[Hugin's Butler]");
mes("What would you like me to do young adventurer?");
- next;
+ next();
switch (select("Give me the Temporal Boots", "Upgrade my Temporal Boots")) {
case 1:
if (countitem(Temporal_Crystal) > 0) {
mes("[Hugin's Butler]");
mes("Take these Temporal Boots. We can upgrade your Temporal Boots with 5 Temporal Crystals.");
- delitem Temporal_Crystal, 1;
- getitem Temporal_Boots, 1;
- close;
+ delitem(Temporal_Crystal, 1);
+ getitem(Temporal_Boots, 1);
+ close();
}
mes("[Hugin's Butler]");
mes("You need more Temporal Crystals. Come back when you get some more Temporal Crystals during your travel through Old Glast Heim.");
- close;
+ close();
case 2:
.@part = EQI_SHOES;
if (!getequipisequiped(.@part)) {
mes("[Hugin's Butler]");
mes("Wear the ^0000FFTemporal Boots^000000 you want to upgrade, and then talk to me once again.");
- close;
+ close();
}
if (!isequipped(Temporal_Boots)) { // check
mes("[Hugin's Butler]");
mes("You are not wearing the Temporal Boots. Talk to me once you're wearing them.");
- close;
+ close();
}
if (countitem(Temporal_Crystal) < 5) {
mes("[Hugin's Butler]");
mes("Not enough Temporal Crystals. You need ^FF00005 Temporal Crystals^000000 to upgrade your boots.");
- close;
+ close();
}
mes("[Hugin's Butler]");
mes("You can trade ^0000FF1 Temporal Boots and 5 Temporal Crystals^000000 for 1 of the following items. ^FF0000Previous refine rate will not be retained with these new ones^000000.");
- next;
- setarray .@type$[0], "Strength", "Intelligence", "Agility", "Vitality", "Dexterity", "Luck";
- setarray .@equip_type[0], Temporal_Str_Boots, Temporal_Int_Boots, Temporal_Agi_Boots, Temporal_Vit_Boots, Temporal_Dex_Boots, Temporal_Luk_Boots;
+ next();
+ setarray(.@type$[0], _("Strength"), _("Intelligence"), _("Agility"), _("Vitality"), _("Dexterity"), _("Luck"));
+ setarray(.@equip_type[0], Temporal_Str_Boots, Temporal_Int_Boots, Temporal_Agi_Boots, Temporal_Vit_Boots, Temporal_Dex_Boots, Temporal_Luk_Boots);
.@select = select("Cancel", "Str Boots", "Int Boots", "Agi Boots", "Vit Boots", "Dex Boots", "Luk Boots");
switch (.@select) {
case 1:
mes("[Hugin's Butler]");
mes("Come back anytime you want.");
- close;
+ close();
case 2:
case 3:
case 4:
@@ -2287,19 +2335,19 @@ glast_01,210,273,5 script Hugin's Butler 1_F_04,{
case 6:
case 7:
mes("[Hugin's Butler]");
- mesf("Are you sure about buying Temporal ^FF0000%s^000000 Boots? There is no refund.", .@type$[.@select-2]);
- next;
+ mesf("Are you sure about buying Temporal ^FF0000%s^000000 Boots? There is no refund.", .@type$[.@select - 2]);
+ next();
if (select("Think again", "Yes, I am sure.") == 2) {
mes("[Hugin's Butler]");
mes("The boots has been upgraded as you want.");
- delequip .@part;
- delitem Temporal_Crystal, 5;
- getitem2 .@equip_type[.@select-2], 1, 1, 0, 0, 0, 0, 0, 0; // Temporal_Str_Boots, Temporal_Int_Boots, Temporal_Agi_Boots, Temporal_Vit_Boots, Temporal_Dex_Boots, Temporal_Luk_Boots
- close;
+ delequip(.@part);
+ delitem(Temporal_Crystal, 5);
+ getitem2(.@equip_type[.@select - 2], 1, 1, 0, 0, 0, 0, 0, 0); // Temporal_Str_Boots, Temporal_Int_Boots, Temporal_Agi_Boots, Temporal_Vit_Boots, Temporal_Dex_Boots, Temporal_Luk_Boots
+ close();
}
mes("[Hugin's Butler]");
mes("Ok, come back again when you are sure.");
- close;
+ close();
}
}
}
@@ -2311,62 +2359,62 @@ glast_01,210,273,5 script Hugin's Butler 1_F_04,{
// Item Used: Coagulated_Spell
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
glast_01,212,273,4 script Hugin's Magic Master 1_F_01,{ // Custom text due to official enchant mechanics
- disable_items;
+ disable_items();
if (MaxWeight - Weight < 1000) {
mes("Your bag is too heavy. Reduce some weight and come back.");
- close;
+ close();
}
mes("[Hugin's Magic Master]"); // Custom text
mes("So you came to enchant the Temporal Boots. Be aware that adding a socket do your boots will remove my enchants as well as it's refine. It is only possible for the boots you are wearing.");
- next;
+ next();
if (select("How does the enchanting work?", "Give effect to my Temporal Boots") == 1) {
mes("[Hugin's Magic Master]");
mes("You can obtain ^0000FFCoagulated Spell^000000 through your time travels.");
- next;
+ next();
mes("[Hugin's Magic Master]");
mes("I can enchant your Temporal Boots with a variing amount of that item. ^0000FFAvailable for all Temporal STAT Boots^000000.");
- next;
+ next();
mes("[Hugin's Magic Master]");
mes("But, once you try to put a socket into the item, it will be resetted. So if you want a socket, you should do it first. Be sure to remember that.");
- next;
+ next();
mes("[Hugin's Magic Master]");
mes("I don't give out effect randomly. You can pick which effect you want for the item.");
- next;
+ next();
mes("[Hugin's Magic Master]");
mes("Of course it is for 4th slot only. You can have small effect at the start and then the effect grows stronger.\r"
"^FF0000Remember: It can fail and break your item!^000000");
- next;
+ next();
mes("[Hugin's Magic Master]");
mes("To get to the final option upgrade it will require way more Coagulated Spells. Don't forget that.");
- next;
+ next();
mes("[Hugin's Magic Master]");
mes("Once the 4th slot completes the best option, you get to have a random bonus effect to the 3rd slot. With.. certain payment and a ^0000FFguaranteed success rate~^000000");
- next;
+ next();
mes("[Hugin's Magic Master]");
mes("^FF0000Again: there is a risk on failing and breaking the item^000000.\r"
"But if the enchant is applied successful, ^0000FFthe refine and everything else will be retained.^000000");
- next;
+ next();
mes("[Hugin's Magic Master]");
mes("Phew... Anyways, that's all for basic enchant information. Now you should see for yourself.");
- close;
+ close();
}
.@part = EQI_SHOES;
if (!getequipisequiped(.@part)) {
mes("[Hugin's Magic Master]");
mes("Are you wearing the item?");
- close;
+ close();
}
.@equip_refine = getequiprefinerycnt(.@part);
.@equip_id = getequipid(.@part);
.@equip_name$ = getequipname(.@part);
.@card0 = getequipcardid(.@part, 0);
.@card3 = getequipcardid(.@part, 3);
- setarray .@enchant1st[0], Fighting_Spirit4, Expert_Archer1, Spell2, Vitality2, Attack_Delay_1, Luck3;
- setarray .@enchant2nd[0], Fighting_Spirit5, Expert_Archer2, Spell3, Vitality3, Attack_Delay_2, Luck4;
- setarray .@enchant3rd[0], Fighting_Spirit6, Expert_Archer3, Spell4, MHP1, Attack_Delay_3, Luck5;
- setarray .@enchant4th[0], Fighting_Spirit7, Expert_Archer4, Spell5, MHP2, Attack_Delay_4, Luck6;
- setarray .@enchant_cost[0], 1, 4, 15, 30, 10; // Coagulated_Spell costs
- setarray .@enchant_rate[0], 90, 80, 70, 50, 100; // Enchant Success Rate in %
+ setarray(.@enchant1st[0], Fighting_Spirit4, Expert_Archer1, Spell2, Vitality2, Attack_Delay_1, Luck3);
+ setarray(.@enchant2nd[0], Fighting_Spirit5, Expert_Archer2, Spell3, Vitality3, Attack_Delay_2, Luck4);
+ setarray(.@enchant3rd[0], Fighting_Spirit6, Expert_Archer3, Spell4, MHP1, Attack_Delay_3, Luck5);
+ setarray(.@enchant4th[0], Fighting_Spirit7, Expert_Archer4, Spell5, MHP2, Attack_Delay_4, Luck6);
+ setarray(.@enchant_cost[0], 1, 4, 15, 30, 10); // Coagulated_Spell costs
+ setarray(.@enchant_rate[0], 90, 80, 70, 50, 100); // Enchant Success Rate in %
.@random = rand(1, 100);
switch (.@equip_id) {
case Temporal_Str_Boots:
@@ -2387,30 +2435,30 @@ glast_01,212,273,4 script Hugin's Magic Master 1_F_01,{ // Custom text due to of
.@number = 1;
mes("[Hugin's Magic Master]");
mesf("Want to enchant ^0000FF%s^000000? For the 1st enchanting, you need ^FF0000%d^000000 ^0000FFCoagulated Spells.^000000", .@equip_name$, .@cost);
- next;
+ next();
.@select = select("Quit", "Fighting Spirit", "Archery", "Spell", "Vitality", "Attack Speed", "Luck");
switch (.@select) {
case 1:
mes("[Hugin's Magic Master]");
mes("Ok, come back when you are ready.");
- close;
+ close();
case 2:
- .@enchant = .@enchant1st[.@select-2];
+ .@enchant = .@enchant1st[.@select - 2];
break;
case 3:
- .@enchant = .@enchant1st[.@select-2];
+ .@enchant = .@enchant1st[.@select - 2];
break;
case 4:
- .@enchant = .@enchant1st[.@select-2];
+ .@enchant = .@enchant1st[.@select - 2];
break;
case 5:
- .@enchant = .@enchant1st[.@select-2];
+ .@enchant = .@enchant1st[.@select - 2];
break;
case 6:
- .@enchant = .@enchant1st[.@select-2];
+ .@enchant = .@enchant1st[.@select - 2];
break;
case 7:
- .@enchant = .@enchant1st[.@select-2];
+ .@enchant = .@enchant1st[.@select - 2];
break;
}
} else {
@@ -2438,7 +2486,7 @@ glast_01,212,273,4 script Hugin's Magic Master 1_F_01,{ // Custom text due to of
mes("[Hugin's Magic Master]"); // Custom text
mes("Your shoes have reached the maximum option to enchant.");
mes("Please bring me a new one if you want me to enchant again.");
- close;
+ close();
}
// 3rd slot random enchanting
switch (.@card3) {
@@ -2451,31 +2499,33 @@ glast_01,212,273,4 script Hugin's Magic Master 1_F_01,{ // Custom text due to of
.@enchant = callfunc("F_Rand", Bears_Power, Runaway_Magic, Speed_Of_Light, Muscle_Fool, Hawkeye, Lucky_Day);
mes("[Hugin's Magic Master]"); // Custom text
mes("Seems you already completed the best upgrade option in your 4th slot. For that I can give a random bonus effect to your 3rd slot. And of course, with certain payment...");
- next;
+ next();
mes("[Hugin's Magic Master]");
mesf("Enchanting ^0000FF%s^000000's 3rd slot for obtaining a random bonus effect. Requires ^FF0000%d^000000 ^0000FFCoagulated Spells^000000", .@equip_name$, .@cost);
- next;
+ next();
if (select("Quit", "Effect Upgrade!") == 1) {
mes("[Hugin's Magic Master]");
mes("Ok, come back when you are ready.");
- close;
+ close();
}
if (countitem(Coagulated_Spell) < .@cost) {
mesf("Hmm, you are missing %s Coagulated Spells. Go get more, and then we can talk about more enchants.", .@cost - countitem(Coagulated_Spell));
- close;
+ close();
}
if (.@random > .@scs) {
mes("Arrggg, we failed. Better luck next time.");
- specialeffect2 EF_PHARMACY_FAIL; delitem Coagulated_Spell, .@cost; delequip .@part;
- close;
+ specialeffect(EF_PHARMACY_FAIL, AREA, playerattached());
+ delitem(Coagulated_Spell, .@cost);
+ delequip(.@part);
+ close();
}
- specialeffect2 EF_REPAIRWEAPON;
- delitem Coagulated_Spell, .@cost;
- delequip .@part;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
+ delitem(Coagulated_Spell, .@cost);
+ delequip(.@part);
mes("[Hugin's Magic Master]");
mes("This is it! This special stone is now yours Hahaha... I am really the only master of these things. Thank you for believing in me.");
- getitem2 .@equip_id, 1, 1, .@equip_refine, 0, .@card0, 0, .@enchant, .@card3;
- close;
+ getitem2(.@equip_id, 1, 1, .@equip_refine, 0, .@card0, 0, .@enchant, .@card3);
+ close();
}
}
// 4th slot 2nd try enchanting
@@ -2519,49 +2569,49 @@ glast_01,212,273,4 script Hugin's Magic Master 1_F_01,{ // Custom text due to of
.@enchant = .@enchant4th[5];
mes("[Hugin's Magic Master]");
mesf("Enchanting ^0000FF%s^000000's 4th slot as ^0000FF%d^000000 level effect. Requires ^FF0000%d^000000 ^0000FFCoagulated Spells.^000000", .@equip_name$, .@number, .@cost);
- next;
+ next();
if (select("Quit", "Effect Upgrade!") == 1) {
mes("[Hugin's Magic Master]");
mes("Ok, come back when you are ready.");
- close;
+ close();
}
if (countitem(Coagulated_Spell) < .@cost) {
mesf("Hmm, you are missing %d Coagulated Spells. Go get more, and then we can talk about more enchants.", .@cost - countitem(Coagulated_Spell));
- close;
+ close();
}
if (.@random > .@scs) {
mes("Arrggg, we failed. Better luck next time.");
- specialeffect2 EF_PHARMACY_FAIL;
- delitem Coagulated_Spell, .@cost;
- delequip .@part;
- close;
+ specialeffect(EF_PHARMACY_FAIL, AREA, playerattached());
+ delitem(Coagulated_Spell, .@cost);
+ delequip(.@part);
+ close();
}
}
break;
default:
mes("[Hugin's Magic Master]");
mes("This is not the right item for this enchant. Remember, only those 6 types of Temporal Boots are available for enchanting.");
- close;
+ close();
}
mes("[Hugin's Magic Master]");
if (countitem(Coagulated_Spell) < .@cost) {
mesf("Hmm, you are missing %d Coagulated Spells. Go get more, and then we can talk about more enchants.", .@cost - countitem(Coagulated_Spell));
- close;
+ close();
}
if (.@random > .@scs) {
mes("Arrggg, we failed. Better luck next time.");
- specialeffect2 EF_PHARMACY_FAIL;
- delitem Coagulated_Spell, .@cost;
- delequip .@part;
- close;
+ specialeffect(EF_PHARMACY_FAIL, AREA, playerattached());
+ delitem(Coagulated_Spell, .@cost);
+ delequip(.@part);
+ close();
}
- specialeffect2 EF_REPAIRWEAPON;
- delitem Coagulated_Spell, .@cost;
- delequip .@part;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
+ delitem(Coagulated_Spell, .@cost);
+ delequip(.@part);
mes("[Hugin's Magic Master]");
mesf("Adding enchant number ^630000%d^000000.", .@number);
- getitem2 .@equip_id, 1, 1, .@equip_refine, 0, .@card0, 0, 0, .@enchant;
- close;
+ getitem2(.@equip_id, 1, 1, .@equip_refine, 0, .@card0, 0, 0, .@enchant);
+ close();
}
// Socket NPC - Corrupted_Charm or Temporal_Crystal to add card slot
@@ -2569,33 +2619,33 @@ glast_01,212,273,4 script Hugin's Magic Master 1_F_01,{ // Custom text due to of
// Item Used: Corrupted_Charm, Temporal_Crystal
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
glast_01,210,270,0 script Hugin's Craftsman 4_F_JOB_BLACKSMITH,{
- disable_items;
+ disable_items();
if (MaxWeight - Weight < 1000) {
mes("Your bag is too heavy. Reduce some weight and come back.");
- close;
+ close();
}
mes("[Hugin's Craftsman]");
mes("That Magic Master always says that enchanting Temporal Boots is the best. But, I think I can beat that!");
- next;
+ next();
mes("[Hugin's Craftsman]");
mes("I can try putting a slot into your boots. But there is some ^FF0000risk of failing.^000000");
- next;
+ next();
mes("[Hugin's Craftsman]");
mes("Bring me ^0000FF50 Contaminated Magic^000000 or ^0000FF10 Temporal Crystals^000000, and I will try to put a slot into your advanced Temporal Boots.");
- next;
+ next();
mes("[Hugin's Craftsman]");
mes("But, it's possible to ^FF0000fail and break the item^000000. Is that ok?");
- next;
+ next();
if (select("Cancel", "Take the risk and try to add a slot") == 1) {
mes("[Hugin's Craftsman]");
mes("Ok, come back anytime you want.");
- close;
+ close();
}
.@part = EQI_SHOES;
if (!getequipisequiped(.@part)) {
mes("[Hugin's Craftsman]");
mes("Are you sure you are wearing the item?");
- close;
+ close();
}
.@equip_id = getequipid(.@part);
switch (.@equip_id) {
@@ -2608,78 +2658,77 @@ glast_01,210,270,0 script Hugin's Craftsman 4_F_JOB_BLACKSMITH,{
mes("[Hugin's Craftsman]");
mes("The ^FF0000Boots and all enchants or refines will be lost if you fail this.^000000\r"
"Still want to risk it?");
- next;
+ next();
if (select("Cancel", "I am ok with it!") == 1) {
mes("[Hugin's Craftsman]");
mes("Ok, come back anytime you want.");
- close;
+ close();
}
mes("[Hugin's Craftsman]");
mes("Once again, ^FF0000That Magic Master won't enchant any item with a slot.^000000\r"
- "Still want to proceed?");
- next;
+ "Still want to proceed?");
+ next();
if (select("Cancel", "I understand. Try to slot it.") == 1) {
mes("[Hugin's Craftsman]");
mes("Ok, come back anytime you want.");
- close;
+ close();
}
mes("[Hugin's Craftsman]");
mes("Then my last question:\r"
- "Which item are you gonna use to pay me?");
- next;
- setarray .@slotpay[0], Temporal_Crystal, Corrupted_Charm;
- setarray .@slotcost[0], 10, 50;
- setarray .@slotchance[0], 80, 65; // Custom rates
+ "Which item are you gonna use to pay me?");
+ next();
+ setarray(.@slotpay[0], Temporal_Crystal, Corrupted_Charm);
+ setarray(.@slotcost[0], 10, 50);
+ setarray(.@slotchance[0], 80, 65); // Custom rates
.@select = select("Cancel", "Temporal Crystal", "Contaminated Magic");
switch (.@select) {
case 1:
mes("[Hugin's Craftsman]");
mes("Come back anytime you want.");
- close;
+ close();
case 2:
case 3:
- .@item = .@slotpay[.@select-2];
- .@cost = .@slotcost[.@select-2];
- .@chance = .@slotchance[.@select-2];
+ .@item = .@slotpay[.@select - 2];
+ .@cost = .@slotcost[.@select - 2];
+ .@chance = .@slotchance[.@select - 2];
if (countitem(.@item) < .@cost) {
mes("[Hugin's Craftsman]");
mesf("Requires ^FF0000%d^000000 ^0000FF%s^000000.", .@cost, getitemname(.@item));
- close;
+ close();
}
}
.@random = rand(1, 100);
if (.@random > .@chance) {
mes("[Hugin's Craftsman]");
mes("Arrggg, we failed. Better luck next time.");
- specialeffect2 EF_PHARMACY_FAIL;
- delitem .@item, .@cost;
- delequip .@part;
- close;
+ specialeffect(EF_PHARMACY_FAIL, AREA, playerattached());
+ delitem(.@item, .@cost);
+ delequip(.@part);
+ close();
}
mes("[Hugin's Craftsman]");
mesf("Yuhuu~ we succeed. There you go... A slot has been added to your ^FF0000%s^000000. Thank you for believing in me.", getitemname(.@equip_id));
- delitem .@item, .@cost;
- specialeffect2 EF_PHARMACY_OK;
- delequip .@part;
+ delitem(.@item, .@cost);
+ specialeffect(EF_PHARMACY_OK, AREA, playerattached());
+ delequip(.@part);
// todo: read aegis name and attach "_" to worn constant
- if (.@equip_id == Temporal_Str_Boots) {
- getitem2 Temporal_Str_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
- } else if (.@equip_id == Temporal_Int_Boots) {
- getitem2 Temporal_Int_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
- } else if (.@equip_id == Temporal_Agi_Boots) {
- getitem2 Temporal_Agi_Boots_, 1, 1, 0, 0, 0, 0, .0, 0;
- } else if (.@equip_id == Temporal_Vit_Boots) {
- getitem2 Temporal_Vit_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
- } else if (.@equip_id == Temporal_Dex_Boots) {
- getitem2 Temporal_Dex_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
- } else if (.@equip_id == Temporal_Luk_Boots) {
- getitem2 Temporal_Luk_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
- }
- close;
+ if (.@equip_id == Temporal_Str_Boots)
+ getitem2(Temporal_Str_Boots_, 1, 1, 0, 0, 0, 0, 0, 0);
+ else if (.@equip_id == Temporal_Int_Boots)
+ getitem2(Temporal_Int_Boots_, 1, 1, 0, 0, 0, 0, 0, 0);
+ else if (.@equip_id == Temporal_Agi_Boots)
+ getitem2(Temporal_Agi_Boots_, 1, 1, 0, 0, 0, 0, .0, 0);
+ else if (.@equip_id == Temporal_Vit_Boots)
+ getitem2(Temporal_Vit_Boots_, 1, 1, 0, 0, 0, 0, 0, 0);
+ else if (.@equip_id == Temporal_Dex_Boots)
+ getitem2(Temporal_Dex_Boots_, 1, 1, 0, 0, 0, 0, 0, 0);
+ else if (.@equip_id == Temporal_Luk_Boots)
+ getitem2(Temporal_Luk_Boots_, 1, 1, 0, 0, 0, 0, 0, 0);
+ close();
default:
mes("[Hugin's Craftsman]");
mes("This is not it! We need ^FF0000Advanced Temporal Boots^000000! The item ^0000FFwith a stat effect and without a slot^000000!");
- close;
+ close();
}
}
@@ -2688,67 +2737,67 @@ glast_01,210,270,0 script Hugin's Craftsman 4_F_JOB_BLACKSMITH,{
// Khalitzburg Knight Card cost 100 red coagulated spells or 5000 blue coagulated spells
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
glast_01,188,273,5 script White Knight#1a 4_WHITEKNIGHT,{
- disable_items;
+ disable_items();
mes("[White Knight]"); // custom
if (MaxWeight - Weight < 1000) {
mes("Your bag is too heavy. Reduce some weight and come back.");
- close;
+ close();
}
mes("I exchange you a White Knight Card for ^0000FF3000 Coagulated Spell^000000 or ^FF000070 Contaminated Magic^000000.");
mes("<ITEMLINK>White Knight Card<INFO>4608</INFO></ITEMLINK>");
- next;
- setarray .@item[0], Coagulated_Spell, Corrupted_Charm;
- setarray .@cost[0], 3000, 70;
+ next();
+ setarray(.@item[0], Coagulated_Spell, Corrupted_Charm);
+ setarray(.@cost[0], 3000, 70);
.@select = select("Cancel", "^0000FFUse Coagulated Spell^000000", "^FF0000Use Contaminated Magic^000000");
switch (.@select) {
case 1:
mes("[White Knight]");
mes("Come back any time.");
- close;
+ close();
case 2:
case 3:
- .@item = .@item[.@select-2];
- .@cost = .@cost[.@select-2];
+ .@item = .@item[.@select - 2];
+ .@cost = .@cost[.@select - 2];
if (countitem(.@item) < .@cost) {
mes("[White Knight]");
mesf("Requires ^0000FF%d %s^000000.", .@cost, getitemname(.@item));
- close;
+ close();
}
- delitem .@item, .@cost;
- getitem White_Knightage_Card, 1;
- close;
+ delitem(.@item, .@cost);
+ getitem(White_Knightage_Card, 1);
+ close();
}
}
glast_01,192,273,3 script Khalitzburg Knight#1a 4_F_KHALITZBURG,{
- disable_items;
+ disable_items();
mes("[Khalitzburg Knight]"); // custom
if (MaxWeight - Weight < 1000) {
mes("Your bag is too heavy. Reduce some weight and come back.");
- close;
+ close();
}
mes("I exchange you a Khalitzburg Knight Card for ^0000FF5000 Coagulated Spell^000000 or ^FF0000100 Contaminated Magic^000000.");
mes("<ITEMLINK>Khalitzburg Knight Card<INFO>4609</INFO></ITEMLINK>");
- next;
- setarray .@item[0], Coagulated_Spell, Corrupted_Charm;
- setarray .@cost[0], 5000, 100;
+ next();
+ setarray(.@item[0], Coagulated_Spell, Corrupted_Charm);
+ setarray(.@cost[0], 5000, 100);
.@select = select("Cancel", "^0000FFUse Coagulated Spell^000000", "^FF0000Use Contaminated Magic^000000");
switch (.@select) {
case 1:
mes("[Khalitzburg Knight]");
mes("Come back any time.");
- close;
+ close();
case 2:
case 3:
- .@item = .@item[.@select-2];
- .@cost = .@cost[.@select-2];
+ .@item = .@item[.@select - 2];
+ .@cost = .@cost[.@select - 2];
if (countitem(.@item) < .@cost) {
mes("[Khalitzburg Knight]");
mesf("Requires ^0000FF%d %s^000000.", .@cost, getitemname(.@item));
- close;
+ close();
}
- delitem .@item, .@cost;
- getitem Khali_Knightage_Card, 1;
- close;
+ delitem(.@item, .@cost);
+ getitem(Khali_Knightage_Card, 1);
+ close();
}
}
diff --git a/npc/re/instances/WolfchevLaboratory.txt b/npc/re/instances/WolfchevLaboratory.txt
index 51e2f8a06..3bbb74ad1 100644
--- a/npc/re/instances/WolfchevLaboratory.txt
+++ b/npc/re/instances/WolfchevLaboratory.txt
@@ -982,9 +982,9 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
mes "[Pudding]";
mes "Before! I need to check if this equipment can accept the power.";
next;
- specialeffect2 EF_SPHERE;
+ specialeffect(EF_SPHERE, AREA, playerattached());
progressbar "ffff00", 2;
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
emotion e_sob;
mes "[Pudding]";
mes "Hm.... This equipment cannot accept the power of '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000'.";
@@ -1108,9 +1108,9 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
if (.@menu==2){ .@equip_card[3] = 0; }
else { .@equip_card[2] = 0; }
.@equip_item = getequipid(.@position);
- specialeffect EF_BEGINSPELL2, AREA, "Sorcerer#Bio4Reward";
+ specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Sorcerer#Bio4Reward"));
progressbar "ffff00", 2;
- specialeffect2 EF_FROSTWEAPON;
+ specialeffect(EF_FROSTWEAPON, AREA, playerattached());
delitem Goast_Chill, 10;
delequip .@position;
getitem2 .@equip_item, 1, 1, .@refine_count, 0, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3];
@@ -1303,7 +1303,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
setarray .@equip_card[0], getequipcardid(.@position,0),getequipcardid(.@position,1),getequipcardid(.@position,2),getequipcardid(.@position,3);
.@equip_card[(.@socket_type-1)] = .@enchant;
.@equip_item = getequipid(.@position);
- specialeffect EF_BEGINSPELL3, AREA, "Sorcerer#Bio4Reward";
+ specialeffect(EF_BEGINSPELL3, AREA, getnpcid("Sorcerer#Bio4Reward"));
progressbar "ffff00", 2;
if (.@socket_type == 3)
delitem Blood_Thirst, 10;
@@ -1311,7 +1311,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
delitem Will_Of_Warrior, 10;
delequip .@position;
if (.@enchant == 0) {
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
emotion e_otl;
mes "[Pudding]";
mes "...Well....the equipment could not accept the power of "+((.@socket_type==3)?"'^952420Thirst for Blood^000000'":"'^F2766EWill of Warrior^000000'")+" and it got destroyed.";
@@ -1319,7 +1319,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
enable_items;
end;
} else {
- specialeffect2 EF_FIREHIT;
+ specialeffect(EF_FIREHIT, AREA, playerattached());
getitem2 .@equip_item, 1, 1, .@refine_count, 0, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3];
emotion e_ho;
mes "[Pudding]";
@@ -1608,42 +1608,42 @@ que_lhz,1,1,0 script #Eventctrl FAKE_NPC,{
end;
OnTimer1000:
- specialeffect EF_SUI_EXPLOSION,AREA, "#01";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#01"));
specialeffect EF_BEGINASURA, "Human Guinea pig#01";
end;
OnTimer2000:
- specialeffect EF_SUI_EXPLOSION,AREA, "#02";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#02"));
specialeffect EF_BEGINASURA, "Human Guinea pig#02";
end;
OnTimer3000:
- specialeffect EF_SUI_EXPLOSION,AREA, "#03";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#03"));
specialeffect EF_BEGINASURA, "Human Guinea pig#03";
end;
OnTimer4000:
- specialeffect EF_SUI_EXPLOSION,AREA, "#04";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#04"));
specialeffect EF_BEGINASURA, "Human Guinea pig#04";
end;
OnTimer5000:
- specialeffect EF_SUI_EXPLOSION,AREA, "#05";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#05"));
specialeffect EF_BEGINASURA, "Human Guinea pig#05";
end;
OnTimer6000:
- specialeffect EF_SUI_EXPLOSION,AREA, "#06";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#06"));
specialeffect EF_BEGINASURA, "Human Guinea pig#06";
end;
OnTimer7000:
- specialeffect EF_SUI_EXPLOSION,AREA, "#07";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#07"));
specialeffect EF_BEGINASURA, "Human Guinea pig#07";
end;
OnTimer8000:
- specialeffect EF_SUI_EXPLOSION,AREA, "#08";
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#08"));
specialeffect EF_BEGINASURA, "Human Guinea pig#08";
stopnpctimer;
end;
@@ -1859,30 +1859,29 @@ lhz_dun04,151,276,3 script Researcher#memo 4_LGTSCIENCE,{
}
if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
.@instance = instance_create("Worsef", getcharid(CHAR_ID_PARTY));
- if (.@instance < 0) {
- mes "[Wolfchev]";
- mes "Hmm.. Lab entering system is a bit weird. Would wait for me to check the system?";
- } else {
- mes "[Wolfchev]";
- mes "Please hold on..";
- next;
- mes "Wolfchev starts to control certain gear.";
- next;
- progressbar "FF00FF", 2;
- if (instance_attachmap("1@lhz", .@instance) != "") {
- instance_set_timeout 14400, 300, .@instance;
- instance_init(.@instance);
- mes "[Wolfchev]";
- mes "Alright! I have marked lan entering system code as";
- mes "^0000ff"+ strcharinfo(PC_PARTY) +"^000000 party leader's name ^0000ff"+ strcharinfo(PC_NAME) +"^000000!!.";
- next;
- mes "[Wolfchev]";
- mes "Now, your party is free to pass the entrance.";
- } else {
+ if (.@instance >= 0) {
+ if (instance_attachmap("1@lhz", .@instance) == "") {
+ mes("[Wolfchev]");
+ mes("Hmm.. Lab entering system is a bit weird. Would wait for me to check the system?");
instance_destroy(.@instance);
+ close();
}
+ instance_set_timeout 14400, 300, .@instance;
+ instance_init(.@instance);
}
- close;
+ mes("[Wolfchev]");
+ mes("Please hold on..");
+ next();
+ mes("Wolfchev starts to control certain gear.");
+ next();
+ progressbar("FF00FF", 2);
+ mes("[Wolfchev]");
+ mes("Alright! I have marked lan entering system code as");
+ mesf("^0000ff%s^000000 party leader's name ^0000ff%s^000000!!.", strcharinfo(PC_PARTY), strcharinfo(PC_NAME));
+ next();
+ mes("[Wolfchev]");
+ mes("Now, your party is free to pass the entrance.");
+ close();
} else {
mes "[Wolfchev]";
mes "You are not the ^0000ffLeader of the party^000000, are you? Please go get the leader.";
@@ -1932,7 +1931,7 @@ lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{
pushpc 0, 10;
percentheal -5,0;
specialeffect EF_AUTOCOUNTER;
- specialeffect2 EF_BASH;
+ specialeffect(EF_BASH, AREA, playerattached());
mes "You have been wounded by laboratory entrance system attack.";
close;
} else {
@@ -2442,7 +2441,7 @@ lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{
OnTimer63000:
for(.@i = 1; .@i < 7; .@i++) {
- specialeffect EF_SUI_EXPLOSION, AREA, instance_npcname("Valve#2_"+.@i+"");
+ specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid( instance_npcname("Valve#2_"+.@i+"")));
disablenpc instance_npcname("Valve#2_"+.@i+"");
}
'broken_pipes += 1;
@@ -2846,73 +2845,73 @@ lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{
OnTimer1000:
mapannounce instance_mapname("1@lhz"),"Whisper: Who are you....",bc_map,"0x7DCBF0";
- specialeffect EF_SPHERE,AREA,instance_npcname("Seyren Windsor#boss01");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Seyren Windsor#boss01")));
end;
OnTimer2000:
- specialeffect EF_SPHERE,AREA,instance_npcname("Cecile Damon#boss02");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Cecile Damon#boss02")));
end;
OnTimer3000:
mapannounce instance_mapname("1@lhz"),"Whisper: Do not approach more...",bc_map,"0x7DCBF0";
- specialeffect EF_SPHERE,AREA,instance_npcname("Gertie Wie#boss03");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Gertie Wie#boss03")));
end;
OnTimer4000:
- specialeffect EF_SPHERE,AREA,instance_npcname("Eremes Guile#boss04");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Eremes Guile#boss04")));
end;
OnTimer5000:
mapannounce instance_mapname("1@lhz"),"Whisper: This is a very dangerous place..",bc_map,"0x7DCBF0";
- specialeffect EF_SPHERE,AREA,instance_npcname("Trentini#boss05");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Trentini#boss05")));
end;
OnTimer6000:
- specialeffect EF_SPHERE,AREA,instance_npcname("Chen Liu#boss06");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Chen Liu#boss06")));
end;
OnTimer7000:
mapannounce instance_mapname("1@lhz"),"Whisper: You won't go out alive....",bc_map,"0x7DCBF0";
- specialeffect EF_SPHERE,AREA,instance_npcname("Alphochio Basil#boss07");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Alphochio Basil#boss07")));
end;
OnTimer8000:
- specialeffect EF_SPHERE,AREA,instance_npcname("Flamel Emul#boss08");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Flamel Emul#boss08")));
end;
OnTimer9000:
mapannounce instance_mapname("1@lhz"),"Whisper: If you don't want to be a part of us....",bc_map,"0x7DCBF0";
- specialeffect EF_SPHERE,AREA,instance_npcname("Randel Lawrence#boss09");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Randel Lawrence#boss09")));
end;
OnTimer10000:
- specialeffect EF_SPHERE,AREA,instance_npcname("Celia Alde#boss10");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Celia Alde#boss10")));
end;
OnTimer11000:
mapannounce instance_mapname("1@lhz"),"Whisper: Leave now....",bc_map,"0x7DCBF0";
- specialeffect EF_SPHERE,AREA,instance_npcname("Kathryne Keyron#boss11");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Kathryne Keyron#boss11")));
end;
OnTimer12000:
- specialeffect EF_SPHERE,AREA,instance_npcname("Margaretha Sorin#boss12");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Margaretha Sorin#boss12")));
end;
OnTimer13000:
mapannounce instance_mapname("1@lhz"),"Whisper: Before this place is thoroughly filled with sorrow and pain....",bc_map,"0x7DCBF0";
- specialeffect EF_SPHERE,AREA,instance_npcname("Howard Alt-Eisen#boss13");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Howard Alt-Eisen#boss13")));
end;
OnTimer14000:
- specialeffect EF_SPHERE,AREA,instance_npcname("Type_**Gren#boss14");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Type_**Gren#boss14")));
end;
OnTimer15000:
- specialeffect EF_SPHERE,AREA,instance_npcname("Type_**Roke#boss15");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Type_**Roke#boss15")));
end;
OnTimer16000:
- specialeffect EF_SPHERE,AREA,instance_npcname("Type_**Dree#boss16");
+ specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Type_**Dree#boss16")));
end;
OnTimer17000:
diff --git a/npc/re/instances/ghost_palace.txt b/npc/re/instances/ghost_palace.txt
index 6e77db2f8..3e708dc57 100644
--- a/npc/re/instances/ghost_palace.txt
+++ b/npc/re/instances/ghost_palace.txt
@@ -35,7 +35,7 @@ dali02,44,129,5 script Unpleasent Royal Guard 4_M_SAKRAYROYAL,{
if (BaseLevel < 120) {
mes("[Unpleasent Royal Guard]");
mes("Althought I need help with a task, you are not strong enough to assist me, noob~!");
- next;
+ next();
mes("[Unpleasent Royal Guard]");
mes("Come back after when you have done some training and are at least level 120!");
close();
@@ -50,7 +50,7 @@ dali02,44,129,5 script Unpleasent Royal Guard 4_M_SAKRAYROYAL,{
mes("[Unpleasent Royal Guard]");
mes("Did the gate close?\r"
"Please enter the gate as soon as you can next time.");
- erasequest 1260;
+ erasequest(1260);
close();
}
mes("[Unpleasent Royal Guard]");
@@ -64,7 +64,7 @@ dali02,44,129,5 script Unpleasent Royal Guard 4_M_SAKRAYROYAL,{
mes("This is a solo instance. Please form a solo party before continuing.");
close();
}
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id,2)) {
+ if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id, 2)) {
mes("[Unpleasent Royal Guard]");
mes("I'm looking for adventurers to help me!\r"
"I want to talk to the team leader, can I?");
@@ -72,68 +72,66 @@ dali02,44,129,5 script Unpleasent Royal Guard 4_M_SAKRAYROYAL,{
}
mes("[Unpleasent Royal Guard]");
mes("I need some help, even from the likes of you.");
- next;
+ next();
mes("[Unpleasent Royal Guard]");
mes("In the middle of the battle the princess disappeared while I was guarding the palace.");
- next;
+ next();
mes("[Unpleasent Royal Guard]");
mes("You run ahead and i will catch up.\r"
"We must save her.");
- next;
+ next();
if (select("I will help.", "This is not a good time.") == 2) {
mes("[Unpleasent Royal Guard]");
mes("Even now all the royal guards are fighting and dying to the monsters.");
- next;
+ next();
mes("[Unpleasent Royal Guard]");
mes("We must save the princess no matter how much fear grips our hearts!");
close();
}
- .@instance = instance_create("Ghost Palace", .@party_id);
+ .@instance = instance_create(_("Ghost Palace"), .@party_id);
.@p_name$ = getpartyname(.@party_id);
- .@md_name$ = "Ghost Palace";
- if (.@instance < 0) {
- mesf("Party Name: %s", .@p_name$);
- mesf("Party Leader: %s", strcharinfo(PC_NAME));
- mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
- close();
- }
- if (instance_attachmap("1@spa", .@instance) != "") {
+ .@md_name$ = _("Ghost Palace");
+ if (.@instance >= 0) {
+ if (instance_attachmap("1@spa", .@instance) == "") {
+ mesf("Party Name: %s", .@p_name$);
+ mesf("Party Leader: %s", strcharinfo(PC_NAME));
+ mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
+ instance_destroy(.@instance);
+ close();
+ }
instance_set_timeout(3600, 300, .@instance);
instance_init(.@instance);
- if (!questprogress(1260)) setquest 1260;
- mes("[Unpleasent Royal Guard]");
- mes("Thank You..\r"
- "I will open the secret passage to ^0000FFGhost Palace.^000000\r"
- "Please be ready!");
- close();
- } else {
- instance_destroy(.@instance);
- mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
- close();
+ if (!questprogress(1260))
+ setquest(1260);
}
+ mes("[Unpleasent Royal Guard]");
+ mes("Thank You..\r"
+ "I will open the secret passage to ^0000FFGhost Palace.^000000\r"
+ "Please be ready!");
+ close();
}
dali02,41,134,0 script Interdimensional Device::gpportal PORTAL,{
if (BaseLevel < 120) {
mes("[Unpleasent Royal Guard]");
mes("Althought I need help with a task, you are not strong enough to assist me, noob~!");
- next;
+ next();
mes("[Unpleasent Royal Guard]");
mes("Come back after when you have done some training and are at least level 120!");
close();
}
if (questprogress(1261)) {
if (questprogress(1261, PLAYTIME) == 2) {
- erasequest 1261;
+ erasequest(1261);
if (questprogress(1260))
- erasequest 1260;
+ erasequest(1260);
end;
}
mes("[Unpleasent Royal Guard]");
mes("The monsters that attacked the palace are wandering around the secret entrance. It would be very bad if they spotted us... Please wait until the time limit for re-entrance passed.");
close();
}
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2) && !questprogress(1260)) {
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2) && !questprogress(1260)) {
mes("[Unpleasent Royal Guard]");
mes("I'm looking for adventurers to help me!\r"
"I want to talk to the team leader, can I?");
@@ -141,11 +139,11 @@ dali02,41,134,0 script Interdimensional Device::gpportal PORTAL,{
}
mes("[Unpleasent Royal Guard]");
mes("I can see the secret passage into the Palace... Are you ready to save the princess?!");
- next;
+ next();
if (select("Enter", "Stop") == 2) {
mes("[Unpleasent Royal Guard]");
mes("Even now all the royal guards are fighting and dying to the monsters.");
- next;
+ next();
mes("[Unpleasent Royal Guard]");
mes("We must save the princess no matter how much fear grips our hearts!");
close();
@@ -155,8 +153,9 @@ dali02,41,134,0 script Interdimensional Device::gpportal PORTAL,{
close();
}
mapannounce("dali", sprintf(_$("%s of the party, %s, is entering the Ghost Palace."), strcharinfo(PC_NAME), getpartyname(getcharid(CHAR_ID_PARTY))), bc_map, C_SPRINGGREEN);
- if (!questprogress(1260)) setquest 1260;
- setquest 1261;
+ if (!questprogress(1260))
+ setquest(1260);
+ setquest(1261);
warp("1@spa", 198, 188);
close();
}
@@ -165,35 +164,35 @@ dali02,41,134,0 script Interdimensional Device::gpportal PORTAL,{
mes("[King]");
mes("You are hereby appointed as the personal guard to Princess Tiara. I trust your loyalty above all else.");
npctalk(_("You are hereby appointed as the personal guard to Princess Tiara. I trust your loyalty above all else."), instance_npcname("King#gp1"));
- next;
+ next();
mes("[Lurid Royal Guard]");
mes("I will protect the Princess with my life.");
npctalk(_("I will protect the Princess with my life."), instance_npcname("Lurid Royal Guard#gp1"));
- next;
+ next();
mes("[King]");
mes("The marriage arrangements are going as planned. The prince is here to meet the princess.");
npctalk(_("The marriage arrangements are going as planned. The prince is here to meet the princess."), instance_npcname("King#gp1"));
- next;
+ next();
mes("[Lurid Royal Guard]");
mes("...Yes, your majesty.");
npctalk(_("...Yes, your majesty."), instance_npcname("Lurid Royal Guard#gp1"));
- next;
+ next();
mes("[King]");
mes("My gods, there are monsters in the castle! Get rid of them now!");
npctalk(_("My gods, there are monsters in the castle! Get rid of them now!"), instance_npcname("King#gp1"));
close2();
- donpcevent instance_npcname("#gp1control")+"::OnStart";
+ donpcevent(instance_npcname("#gp1control")+"::OnStart");
end;
}
1@spa,1,1,1 script #gp1control HIDDEN_NPC,{
end;
OnStart:
- hideonnpc instance_npcname("Lurid Royal Guard#gp1");
- hideonnpc instance_npcname("King#gp1");
- sleep 1000;
+ hideonnpc(instance_npcname("Lurid Royal Guard#gp1"));
+ hideonnpc(instance_npcname("King#gp1"));
+ sleep(1000);
OnSummon:
- sleep 2000;
+ sleep(2000);
.@map$ = instance_mapname("1@spa");
areamonster(.@map$, 182, 190, 214, 214, _("Cursed Sentinel"), CURSED_SENTINEL, 2, instance_npcname("#gp1control")+"::OnMyMobDead");
areamonster(.@map$, 182, 190, 214, 214, _("Cursed Solider"), CURSED_SOLDIER, 2, instance_npcname("#gp1control")+"::OnMyMobDead");
@@ -203,16 +202,16 @@ OnMyMobDead:
end;
if ('gp1 < 2) {
++'gp1;
- donpcevent instance_npcname("#gp1control")+"::OnSummon";
+ donpcevent(instance_npcname("#gp1control")+"::OnSummon");
end;
}
mapannounce(instance_mapname("1@spa"), _("The passage on 2nd floor in the palace of the ghost is open."), bc_map, C_YELLOW);
- enablenpc instance_npcname("#gp1warp");
- disablenpc instance_npcname("#gp1control");
+ enablenpc(instance_npcname("#gp1warp"));
+ disablenpc(instance_npcname("#gp1control"));
end;
OnInstanceInit:
'gp1 = 0;
- disablenpc instance_npcname("#gp1warp");
+ disablenpc(instance_npcname("#gp1warp"));
end;
}
@@ -221,53 +220,53 @@ OnInstanceInit:
mes("[Lurid Royal Guard]");
mes("Your Highness, the King has invited a prince from a neighboring country to be your betrothed. Be ready to meet him...");
npctalk(_("Your Highness, the King has invited a prince from a neighboring country to be your betrothed. Be ready to meet him..."), instance_npcname("Lurid Royal Guard#gp2"));
- next;
+ next();
mes("[Princess Tiara]");
mes("If...if a marriage is arranged what should I do ?");
npctalk(_("If...if a marriage is arranged what should I do ?"), instance_npcname("Tiara Princess#gp2"));
- next;
+ next();
mes("[Lurid Royal Guard]");
mes("The only thing I can do is protect you from physical harm.");
npctalk(_("The only thing I can do is protect you from physical harm."), instance_npcname("Lurid Royal Guard#gp2"));
- next;
+ next();
mes("[Princess Tiara]");
mes("Then, what can I do?");
npctalk(_("Then, what can I do?"), instance_npcname("Tiara Princess#gp2"));
- next;
+ next();
mes("[Lurid Royal Guard]");
mes("......");
mes("You must decide that for yourself your highness...");
npctalk(_("You must decide that for yourself your highness..."), instance_npcname("Lurid Royal Guard#gp2"));
- next;
+ next();
mes("[Princess Tiara]");
mes("Would it be easier for you if I were married and sent off to another country?");
npctalk(_("Would it be easier for you if I were married and sent off to another country?"), instance_npcname("Tiara Princess#gp2"));
- next;
+ next();
cutin("", 255);
mes("[Lurid Royal Guard]");
mes("I will alway stand by you and protect you forever.");
npctalk(_("I will alway stand by you and protect you forever."), instance_npcname("Lurid Royal Guard#gp2"));
- next;
+ next();
mes("[Princess Tiara]");
mes("Monsters in the castle? Protect me!");
npctalk(_("Monsters in the castle? Protect me!"), instance_npcname("Tiara Princess#gp2"));
- next;
+ next();
mes("[Lurid Royal Guard]");
mes("Step back, Let's go!");
npctalk(_("Step back, Let's go!"), instance_npcname("Lurid Royal Guard#gp2"));
close2();
- donpcevent instance_npcname("#gp2control")+"::OnStart";
+ donpcevent(instance_npcname("#gp2control")+"::OnStart");
end;
}
1@spa,1,1,1 script #gp2control HIDDEN_NPC,{
end;
OnStart:
- hideonnpc instance_npcname("Lurid Royal Guard#gp2");
- hideonnpc instance_npcname("Tiara Princess#gp2");
- sleep 1000;
+ hideonnpc(instance_npcname("Lurid Royal Guard#gp2"));
+ hideonnpc(instance_npcname("Tiara Princess#gp2"));
+ sleep(1000);
OnSummon:
- sleep 2000;
+ sleep(2000);
.@map$ = instance_mapname("1@spa");
areamonster(.@map$, 143, 96, 94, 143, _("Broken Mind"), BROKEN_MIND, 3, instance_npcname("#gp2control")+"::OnMyMobDead");
areamonster(.@map$, 143, 96, 94, 143, _("Floating Word"), FLOATING_WORD, 4, instance_npcname("#gp2control")+"::OnMyMobDead");
@@ -277,11 +276,11 @@ OnMyMobDead:
if (mobcount(instance_mapname("1@spa"), instance_npcname("#gp2control")+"::OnMyMobDead"))
end;
mapannounce(instance_mapname("1@spa"), _("The passage on the 3rd floor of the palace is open."), bc_map, C_YELLOW);
- enablenpc instance_npcname("#gp2warp");
- disablenpc instance_npcname("#gp2control");
+ enablenpc(instance_npcname("#gp2warp"));
+ disablenpc(instance_npcname("#gp2control"));
end;
OnInstanceInit:
- disablenpc instance_npcname("#gp2warp");
+ disablenpc(instance_npcname("#gp2warp"));
end;
}
@@ -289,29 +288,29 @@ OnInstanceInit:
mes("[King]");
mes("It was you who brought the monsters here, you want to get rid of me and have the princess for yourself?");
npctalk(_("It was you who brought the monsters here, you want to get rid of me and have the princess for yourself?"), instance_npcname("King#gp3"));
- next;
+ next();
mes("[Lurid Royal Guard]");
mes("It's a trap, you should trust me, your majesty!");
npctalk(_("It's a trap, you should trust me, your majesty!"), instance_npcname("Lurid Royal Guard#gp3"));
- next;
+ next();
mes("[King]");
mes("Shut up! You're betrayed me ! I trusted you... you must pay for your disgrace.");
npctalk(_("Shut up! You're betrayed me ! I trusted you... you must pay for your disgrace."), instance_npcname("King#gp3"));
- next;
+ next();
mes("[King]");
mes("You will suffer for the rest of your life.");
npctalk(_("You will suffer for the rest of your life."), instance_npcname("King#gp3"));
close2();
- donpcevent instance_npcname("#gp3control")+"::OnStart";
+ donpcevent(instance_npcname("#gp3control")+"::OnStart");
end;
}
1@spa,54,28,0 script #gp3warp WARPNPC,1,1,{
- if (!'gp5)
+ if (!'gp5) {
warp("1@spa", 218, 186);
- else {
+ } else {
if (questprogress(40024))
- completequest 40024;
+ completequest(40024);
mes("It is time to leave Palace of the ghost.\r"
"Everything is completed.\r"
"Everything will be vanished...");
@@ -332,7 +331,7 @@ OnInstanceInit:
1@spa,35,56,1 script Ominous Voice#gp3 4_TRACE,{
end;
OnStart:
- initnpctimer;
+ initnpctimer();
end;
OnTimer3000:
npctalk(_("Oh, faithful royal guard, you are trapped."));
@@ -356,32 +355,32 @@ OnTimer21000:
npctalk(_("Kukuku... What do you want boy?"));
end;
OnTimer24000:
- stopnpctimer;
- hideonnpc instance_npcname("Ominous Voice#gp3");
- hideonnpc instance_npcname("Lurid Royal Guard#gp3");
- donpcevent instance_npcname("#gp3control")+"::OnSummon";
+ stopnpctimer();
+ hideonnpc(instance_npcname("Ominous Voice#gp3"));
+ hideonnpc(instance_npcname("Lurid Royal Guard#gp3"));
+ donpcevent(instance_npcname("#gp3control")+"::OnSummon");
end;
}
1@spa,1,1,1 script #gp3control HIDDEN_NPC,{
end;
OnStart:
- hideonnpc instance_npcname("King#gp3");
- hideonnpc instance_npcname("Soldier#gp3_1");
- hideonnpc instance_npcname("Soldier#gp3_2");
- hideonnpc instance_npcname("Soldier#gp3_3");
- hideonnpc instance_npcname("Captain of the Guard#gp3");
- donpcevent instance_npcname("Ominous Voice#gp3")+"::OnStart";
+ hideonnpc(instance_npcname("King#gp3"));
+ hideonnpc(instance_npcname("Soldier#gp3_1"));
+ hideonnpc(instance_npcname("Soldier#gp3_2"));
+ hideonnpc(instance_npcname("Soldier#gp3_3"));
+ hideonnpc(instance_npcname("Captain of the Guard#gp3"));
+ donpcevent(instance_npcname("Ominous Voice#gp3")+"::OnStart");
end;
OnSummon:
- initnpctimer;
+ initnpctimer();
.@map$ = instance_mapname("1@spa");
'talkid[0] = areamonster(.@map$, 61, 63, 24, 24, _("Cursed Memory"), CURSED_MEMORY, 2 + 'gp3, instance_npcname("#gp3control")+"::OnMyMobDead");
'talkid[1] = areamonster(.@map$, 61, 63, 24, 24, _("Colorless Vow"), COLORLESS_VOW, 3 + 'gp3, instance_npcname("#gp3control")+"::OnMyMobDead");
'talkid[2] = areamonster(.@map$, 61, 63, 24, 24, _("Old Friendship"), OLD_FRIENDSHIP, 2 + 'gp3, instance_npcname("#gp3control")+"::OnMyMobDead");
end;
OnTimer2000:
- stopnpctimer;
+ stopnpctimer();
unittalk('talkid[0], _("Faithful Guards"));
unittalk('talkid[1], _("Run!"));
unittalk('talkid[2], _("Being framed..."));
@@ -390,21 +389,21 @@ OnMyMobDead:
if (mobcount(instance_mapname("1@spa"), instance_npcname("#gp3control")+"::OnMyMobDead"))
end;
if (!'gp3) {
- mapannounce instance_mapname("1@spa"), "The passage on the 4rd floor of the palace is open.", bc_map, C_YELLOW;
- enablenpc instance_npcname("#gp3warp");
- donpcevent instance_npcname("#gp4control")+"::OnSummon";
- disablenpc instance_npcname("#gp1warp");
+ mapannounce(instance_mapname("1@spa"), _("The passage on the 4rd floor of the palace is open."), bc_map, C_YELLOW);
+ enablenpc(instance_npcname("#gp3warp"));
+ donpcevent(instance_npcname("#gp4control")+"::OnSummon");
+ disablenpc(instance_npcname("#gp1warp"));
}
++'gp3;
- if ('gp3 < 5)
- donpcevent instance_npcname("#gp3control")+"::OnSummon";
- else {
- stopnpctimer;
- disablenpc instance_npcname("#gp3control");
+ if ('gp3 < 5) {
+ donpcevent(instance_npcname("#gp3control")+"::OnSummon");
+ } else {
+ stopnpctimer();
+ disablenpc(instance_npcname("#gp3control"));
}
end;
OnInstanceInit:
- disablenpc instance_npcname("#gp3warp");
+ disablenpc(instance_npcname("#gp3warp"));
'gp3 = 0;
end;
}
@@ -413,26 +412,26 @@ OnInstanceInit:
mes("[Lurid Royal Guard]");
mes("Where is Princess Tiara?");
npctalk(_("Where is Princess Tiara?"), instance_npcname("Lurid Royal Guard#gp4"));
- next;
+ next();
mes("[Visiting Prince]");
mes("You are too late... but you brought what I was looking for. Thanks for your help.");
npctalk(_("You are too late... but you brought what I was looking for. Thanks for your help."), instance_npcname("Visiting Prince#gp4"));
- next;
+ next();
mes("[Visiting Prince]");
mes("Cursed Thanatos Magic Trace! Are you ready to have a new master?");
npctalk(_("Cursed Thanatos Magic Trace! Are you ready to have a new master?"), instance_npcname("Visiting Prince#gp4"));
- next;
+ next();
cutin("tartanos", 3);
mes("[Thanatos Magic Trace]");
mes("How dare you!");
npctalk(_("How dare you!"), instance_npcname("Thanatos Magic Trace#gp4"));
- next;
+ next();
mes("[Visiting Prince]");
mes("Aah, aah!!!");
npctalk(_("Aah, aah!!!"), instance_npcname("Visiting Prince#gp4"));
close2();
cutin("", 255);
- donpcevent instance_npcname("#gp4control")+"::OnBoss";
+ donpcevent(instance_npcname("#gp4control")+"::OnBoss");
end;
}
@@ -442,56 +441,56 @@ OnStart:
end;
OnSummon:
.@map$ = instance_mapname("1@spa");
- areamonster(.@map$, 182, 217, 214, 188, _("Cursed Sentinel"), CURSED_SENTINEL, rand(2,3), instance_npcname("#gp4control")+"::OnMyMobDead");
- areamonster(.@map$, 182, 217, 214, 188, _("Sweet Slaughter"), SWEET_SLAUGHTER, rand(2,3), instance_npcname("#gp4control")+"::OnMyMobDead");
+ areamonster(.@map$, 182, 217, 214, 188, _("Cursed Sentinel"), CURSED_SENTINEL, rand(2, 3), instance_npcname("#gp4control")+"::OnMyMobDead");
+ areamonster(.@map$, 182, 217, 214, 188, _("Sweet Slaughter"), SWEET_SLAUGHTER, rand(2, 3), instance_npcname("#gp4control")+"::OnMyMobDead");
end;
OnMyMobDead:
if (mobcount(instance_mapname("1@spa"), instance_npcname("#gp4control")+"::OnMyMobDead"))
end;
++'gp4;
if ('gp4 > 3)
- donpcevent instance_npcname("#gp4control")+"::OnStory";
+ donpcevent(instance_npcname("#gp4control")+"::OnStory");
else
- donpcevent instance_npcname("#gp4control")+"::OnSummon";
+ donpcevent(instance_npcname("#gp4control")+"::OnSummon");
end;
OnStory:
for(.@i = 1; .@i <= 4; ++.@i)
- enablenpc instance_npcname("Soldier's Corpse#gp4_"+.@i);
- enablenpc instance_npcname("Captain's Corpse#gp4");
- enablenpc instance_npcname("King's Corpse#gp4");
- enablenpc instance_npcname("Lurid Royal Guard#gp4");
- enablenpc instance_npcname("Thanatos Magic Trace#gp4");
- enablenpc instance_npcname("Visiting Prince#gp4");
+ enablenpc(instance_npcname("Soldier's Corpse#gp4_"+.@i));
+ enablenpc(instance_npcname("Captain's Corpse#gp4"));
+ enablenpc(instance_npcname("King's Corpse#gp4"));
+ enablenpc(instance_npcname("Lurid Royal Guard#gp4"));
+ enablenpc(instance_npcname("Thanatos Magic Trace#gp4"));
+ enablenpc(instance_npcname("Visiting Prince#gp4"));
end;
OnBoss:
for(.@i = 1; .@i <= 4; ++.@i)
- hideonnpc instance_npcname("Soldier's Corpse#gp4_"+.@i);
- hideonnpc instance_npcname("Captain's Corpse#gp4");
- hideonnpc instance_npcname("King's Corpse#gp4");
- hideonnpc instance_npcname("Lurid Royal Guard#gp4");
- hideonnpc instance_npcname("Thanatos Magic Trace#gp4");
- hideonnpc instance_npcname("Visiting Prince#gp4");
- sleep 1000;
+ hideonnpc(instance_npcname("Soldier's Corpse#gp4_"+.@i));
+ hideonnpc(instance_npcname("Captain's Corpse#gp4"));
+ hideonnpc(instance_npcname("King's Corpse#gp4"));
+ hideonnpc(instance_npcname("Lurid Royal Guard#gp4"));
+ hideonnpc(instance_npcname("Thanatos Magic Trace#gp4"));
+ hideonnpc(instance_npcname("Visiting Prince#gp4"));
+ sleep(1000);
monster(instance_mapname("1@spa"), 197, 218, _("Torturous Redeemer"), TORTUROUS_REDEEMER, 1, instance_npcname("#gp4control")+"::OnBossDead");
end;
OnBossDead:
monster(instance_mapname("1@spa"), 197, 180, _("Sweet Slaughter"), SWEET_SLAUGHTER, 1, instance_npcname("#gp4control")+"::OnMobDead");
end;
OnMobDead:
- mapannounce instance_mapname("1@spa"), "The passage on the 5th floor of the palace is open.", bc_map, C_YELLOW;
- enablenpc instance_npcname("#gp4warp");
- donpcevent instance_npcname("#gp5control")+"::OnStart";
- disablenpc instance_npcname("#gp4control");
+ mapannounce(instance_mapname("1@spa"), _("The passage on the 5th floor of the palace is open."), bc_map, C_YELLOW);
+ enablenpc(instance_npcname("#gp4warp"));
+ donpcevent(instance_npcname("#gp5control")+"::OnStart");
+ disablenpc(instance_npcname("#gp4control"));
end;
OnInstanceInit:
- disablenpc instance_npcname("#gp4warp");
+ disablenpc(instance_npcname("#gp4warp"));
for(.@i = 1; .@i <= 4; ++.@i)
- disablenpc instance_npcname("Soldier's Corpse#gp4_"+.@i);
- disablenpc instance_npcname("Captain's Corpse#gp4");
- disablenpc instance_npcname("King's Corpse#gp4");
- disablenpc instance_npcname("Lurid Royal Guard#gp4");
- disablenpc instance_npcname("Thanatos Magic Trace#gp4");
- disablenpc instance_npcname("Visiting Prince#gp4");
+ disablenpc(instance_npcname("Soldier's Corpse#gp4_"+.@i));
+ disablenpc(instance_npcname("Captain's Corpse#gp4"));
+ disablenpc(instance_npcname("King's Corpse#gp4"));
+ disablenpc(instance_npcname("Lurid Royal Guard#gp4"));
+ disablenpc(instance_npcname("Thanatos Magic Trace#gp4"));
+ disablenpc(instance_npcname("Visiting Prince#gp4"));
'gp4 = 0;
end;
}
@@ -500,35 +499,35 @@ OnInstanceInit:
mes("[Princess Tiara]");
mes("You kept your promise.");
npctalk(_("You kept your promise."), instance_npcname("Tiara Princess#gp5"));
- next;
+ next();
mes("[Lurid Royal Guard]");
mes("princess!");
npctalk(_("princess"), instance_npcname("Lurid Royal Guard#gp5"));
- next;
+ next();
cutin("npc-tiara", 3);
mes("[Princess Tiara]");
mes("Thank you..now I can rest at beside you...");
npctalk(_("Thank you..now I can rest at beside you..."), instance_npcname("Tiara Princess#gp5"));
- next;
+ next();
mes("[Lurid Royal Guard]");
mes("No..NO!!!!!!");
npctalk(_("No..NO!!!!!!"), instance_npcname("Lurid Royal Guard#gp5"));
- next;
+ next();
mes("[The Voice of Princess Tiara]");
mes("I want to be with you forever in peace...forever...");
npctalk(_("I want to be with you forever in peace...forever..."), instance_npcname("Tiara Princess#gp5"));
- next;
+ next();
cutin("b-tiara", 3);
mes("[Lurid Royal Guard]");
mes("no.....Ahh ahh ahh!!!~!");
npctalk(_("no.....Ahh ahh ahh!!!~!"), instance_npcname("Lurid Royal Guard#gp5"));
- next;
+ next();
mes("[The Voice of Princess Tiara]");
mes("I love you...");
npctalk(_("I love you..."), instance_npcname("Tiara Princess#gp5"));
close2();
cutin("", 255);
- donpcevent instance_npcname("#gp5control")+"::OnStart2";
+ donpcevent(instance_npcname("#gp5control")+"::OnStart2");
end;
}
@@ -537,63 +536,63 @@ OnInstanceInit:
mes("[Lurid Royal Guard]");
mes("Are you satisfied..? Thanatos Magic Trace?");
npctalk(_("Are you satisfied..? Thanatos Magic Trace?"), instance_npcname("Sakray#gp5"));
- next;
+ next();
mes("[Thanatos Magic Trace]");
mes("I need more blood..Sakray, offer me his blood.");
npctalk(_("I need more blood..Sakray, offer me his blood."), instance_npcname("Thanatos Magic Trace#gp5"));
- next;
+ next();
mes("[Sakray]");
mes("Okay, that is good. A traveler.\r"
"Did you see?");
npctalk(_("Okay, that is good. A traveler. Did you see?"), instance_npcname("Sakray#gp5"));
- next;
+ next();
mesf("[%s]", strcharinfo(PC_NAME));
mes("Sakray, What do you want sympathy? Or is it a trap?");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sakray, What do you want sympathy? Or is it a trap?"));
- next;
+ next();
mes("[Sakray]");
mes("Non...I did not need to make an effort to catch a novice.");
npctalk(_("Non...I did not need to make an effort to catch a novice."), instance_npcname("Sakray#gp5"));
- next;
+ next();
mesf("[%s]", strcharinfo(PC_NAME));
mes("If so... then why...?");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("If so... then why...?"));
- next;
+ next();
cutin("cry-b", 3);
mes("[Sakray]");
mes("I wanted to get rid of a piece of humanity inside of me through you.");
npctalk(_("I wanted to get rid of a piece of humanity inside of me through you."), instance_npcname("Sakray#gp5"));
- next;
+ next();
mes("[Sakray]");
mes("I am quite satisfied with the result.");
- next;
+ next();
mes("[Thanatos Magic Trace]");
mes("Sakray, offer the blood to me now!");
npctalk(_("Sakray, offer the blood to me now!"), instance_npcname("Thanatos Magic Trace#gp5"));
- next;
+ next();
mes("[Sakray]");
mes("If you were me, what would you do?");
- next;
+ next();
mes("[Sakray]");
mes("Can you set yourself free from this curse?");
- next;
+ next();
mesf("[%s]", strcharinfo(PC_NAME));
mes("...");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("..."));
- next;
+ next();
mes("[Sakray]");
mes("Heh heh... I will keep watching you until the day you grow up enough.");
- next;
+ next();
mes("[Sakray]");
mes("I am willing to hunt you later for Thanatos.");
- next;
+ next();
cutin("", 255);
mes("[Sakray]");
mes("Farewell then.");
close2();
- donpcevent instance_npcname("#gp5control")+"::OnEnd";
- hideonnpc instance_npcname("Sakray#gp5");
- hideonnpc instance_npcname("Thanatos Magic Trace#gp5");
+ donpcevent(instance_npcname("#gp5control")+"::OnEnd");
+ hideonnpc(instance_npcname("Sakray#gp5"));
+ hideonnpc(instance_npcname("Thanatos Magic Trace#gp5"));
end;
}
@@ -601,25 +600,25 @@ OnInstanceInit:
end;
OnStart:
stopnpctimer instance_npcname("#gp3control");
- disablenpc instance_npcname("#gp3control");
- killmonster instance_mapname("1@spa"), "All";
- disablenpc instance_npcname("#gp3warp");
- enablenpc instance_npcname("Lurid Royal Guard#gp5");
- enablenpc instance_npcname("Tiara Princess#gp5");
+ disablenpc(instance_npcname("#gp3control"));
+ killmonster(instance_mapname("1@spa"), "All");
+ disablenpc(instance_npcname("#gp3warp"));
+ enablenpc(instance_npcname("Lurid Royal Guard#gp5"));
+ enablenpc(instance_npcname("Tiara Princess#gp5"));
end;
OnStart2:
- hideonnpc instance_npcname("Lurid Royal Guard#gp5");
- hideonnpc instance_npcname("Tiara Princess#gp5");
- sleep 2000;
+ hideonnpc(instance_npcname("Lurid Royal Guard#gp5"));
+ hideonnpc(instance_npcname("Tiara Princess#gp5"));
+ sleep(2000);
OnSummon:
- initnpctimer;
+ initnpctimer();
.@map$ = instance_mapname("1@spa");
- 'talkid[0] = areamonster(.@map$, 61, 63, 24, 24, _("Forgotten Name"), FORGOTTEN_NAME, rand(1,2), instance_npcname("#gp5control")+"::OnMyMobDead");
+ 'talkid[0] = areamonster(.@map$, 61, 63, 24, 24, _("Forgotten Name"), FORGOTTEN_NAME, rand(1, 2), instance_npcname("#gp5control")+"::OnMyMobDead");
'talkid[1] = areamonster(.@map$, 61, 63, 24, 24, _("Colorless Vow"), COLORLESS_VOW, 2, instance_npcname("#gp5control")+"::OnMyMobDead");
- 'talkid[2] = areamonster(.@map$, 61, 63, 24, 24, _("Sweet Slaughter"), SWEET_SLAUGHTER, rand(1,2), instance_npcname("#gp5control")+"::OnMyMobDead");
+ 'talkid[2] = areamonster(.@map$, 61, 63, 24, 24, _("Sweet Slaughter"), SWEET_SLAUGHTER, rand(1, 2), instance_npcname("#gp5control")+"::OnMyMobDead");
end;
OnTimer2000:
- stopnpctimer;
+ stopnpctimer();
unittalk('talkid[0], _("What is this..??"));
unittalk('talkid[1], _("Wake up! look at us... We are monsters?"));
unittalk('talkid[2], _("Sakray killed the princess!"));
@@ -629,51 +628,51 @@ OnMyMobDead:
end;
++'gp5;
if ('gp5 > 2)
- donpcevent instance_npcname("#gp5control")+"::OnStory";
+ donpcevent(instance_npcname("#gp5control")+"::OnStory");
else
- donpcevent instance_npcname("#gp5control")+"::OnSummon";
+ donpcevent(instance_npcname("#gp5control")+"::OnSummon");
end;
OnBossDead:
- enablenpc instance_npcname("Sakray#gp5");
- enablenpc instance_npcname("Thanatos Magic Trace#gp5");
+ enablenpc(instance_npcname("Sakray#gp5"));
+ enablenpc(instance_npcname("Thanatos Magic Trace#gp5"));
end;
OnStory:
- stopnpctimer;
+ stopnpctimer();
'BossID = monster(instance_mapname("1@spa"), 44, 47, _("Torturous Redeemer"), E_TORTUROUS_REDEEMER, 1, instance_npcname("#gp5control")+"::OnBossDead");
unittalk('BossID, _("Thanatos Magic Trace! I will destroy you if I can't have you... Oh no! How could this be?"));
- sleep 3000;
- unitkill 'BossID;
+ sleep(3000);
+ unitkill('BossID);
end;
OnEnd:
- hideoffnpc instance_npcname("Voice of Princess Tiara");
- hideoffnpc instance_npcname("Voice of Sakray");
- hideoffnpc instance_npcname("Thanatos Magic Trace");
+ hideoffnpc(instance_npcname("Voice of Princess Tiara"));
+ hideoffnpc(instance_npcname("Voice of Sakray"));
+ hideoffnpc(instance_npcname("Thanatos Magic Trace"));
npctalk(_("What can I do for you?"), instance_npcname("Voice of Princess Tiara"));
- sleep 3000;
+ sleep(3000);
npctalk(_("I will always stand by you. Please reset beside me."), instance_npcname("Voice of Sakray"));
- sleep 3000;
+ sleep(3000);
npctalk(_("Your soul is mine until you find the blood that satisfies me.."), instance_npcname("Thanatos Magic Trace"));
- sleep 3000;
+ sleep(3000);
npctalk(_("Reset in the shadow with me."), instance_npcname("Voice of Sakray"));
- sleep 3000;
+ sleep(3000);
npctalk(_("In the dark forever..."), instance_npcname("Voice of Sakray"));
- sleep 3000;
+ sleep(3000);
mapannounce(instance_mapname("1@spa"), _("It is time to leave the Ghost Palace."), bc_map, C_YELLOW);
- enablenpc instance_npcname("King#gpend");
- enablenpc instance_npcname("#gp3warp");
- hideonnpc instance_npcname("Voice of Princess Tiara");
- hideonnpc instance_npcname("Voice of Sakray");
- hideonnpc instance_npcname("Thanatos Magic Trace");
+ enablenpc(instance_npcname("King#gpend"));
+ enablenpc(instance_npcname("#gp3warp"));
+ hideonnpc(instance_npcname("Voice of Princess Tiara"));
+ hideonnpc(instance_npcname("Voice of Sakray"));
+ hideonnpc(instance_npcname("Thanatos Magic Trace"));
end;
OnInstanceInit:
- disablenpc instance_npcname("Lurid Royal Guard#gp5");
- disablenpc instance_npcname("Tiara Princess#gp5");
- disablenpc instance_npcname("Thanatos Magic Trace#gp5");
- disablenpc instance_npcname("Sakray#gp5");
- disablenpc instance_npcname("King#gpend");
- hideonnpc instance_npcname("Voice of Princess Tiara");
- hideonnpc instance_npcname("Voice of Sakray");
- hideonnpc instance_npcname("Thanatos Magic Trace");
+ disablenpc(instance_npcname("Lurid Royal Guard#gp5"));
+ disablenpc(instance_npcname("Tiara Princess#gp5"));
+ disablenpc(instance_npcname("Thanatos Magic Trace#gp5"));
+ disablenpc(instance_npcname("Sakray#gp5"));
+ disablenpc(instance_npcname("King#gpend"));
+ hideonnpc(instance_npcname("Voice of Princess Tiara"));
+ hideonnpc(instance_npcname("Voice of Sakray"));
+ hideonnpc(instance_npcname("Thanatos Magic Trace"));
'gp5 = 0;
end;
}
@@ -682,34 +681,34 @@ OnInstanceInit:
mes("[King]");
mes("Hey there, are you alive?\r"
"I did not expect to meet someone alive");
- next;
+ next();
mes("[King]");
mes("Do you possibly have ^009900Gray Piece^000000?\r"
"Can you give it to me?\r"
"The old memory of faithful royal guard,\r"
"the memory of everyone he loved becomes broken pieces and are contained inside of them.");
- next;
+ next();
mes("[King]");
mes("Will you give ^009900Gray Piece^000000 to me?\r"
"The guilt is eating my soul.\r"
"My soul is stuck in ghost palace.");
- next;
+ next();
mes("[King]");
mes("I am collecting Sakray's abandoned memories from these shards.");
- next;
+ next();
mes("[King]");
mes("If you give any Gray Shards to me, I can make equipment for you.");
- next;
+ next();
mes("[King]");
mes("The cursed knight...\r"
"Please help me save the soul of Sakray.");
- next;
+ next();
setarray(.@items_list,
- Thanos_Sword, Thanos_Great_Sword, Thanos_Spear, Thanos_Long_Spear, Thanos_Staff, Thanos_Rod, Thanos_Bow,
- Thanos_Dagger, Thanos_Katar, Thanos_Knuckle, Thanos_Hammer, Thanos_Axe, Thanos_Violin, Thanos_Whip, Shield_Of_Gray,
- Armor_Of_Gray, Gray_Robe, Cloak_Of_Gray, Boots_Of_Gray, Gray_Helmet);
+ Thanos_Sword, Thanos_Great_Sword, Thanos_Spear, Thanos_Long_Spear, Thanos_Staff, Thanos_Rod, Thanos_Bow,
+ Thanos_Dagger, Thanos_Katar, Thanos_Knuckle, Thanos_Hammer, Thanos_Axe, Thanos_Violin, Thanos_Whip, Shield_Of_Gray,
+ Armor_Of_Gray, Gray_Robe, Cloak_Of_Gray, Boots_Of_Gray, Gray_Helmet);
- setarray .@cost, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 100, 100, 100, 100, 100, 100;
+ setarray(.@cost, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 100, 100, 100, 100, 100, 100);
.@menulist$ = "";
for (.@i = 0; .@i < getarraysize(.@items_list); ++.@i)
.@menulist$ += getitemname(.@items_list[.@i])+":";
@@ -721,19 +720,19 @@ OnInstanceInit:
"I believe collecting Gray Shards is the only method to save him.");
close();
}
- next;
+ next();
mes("[King]");
mesf("to make a ^FF0000%s^000000 \r"
"I need %d ^009900Gray Shard^000000", getitemname(.@items_list[.@choice]), .@cost[.@choice]);
- switch (select("Cancel", "hand over "+.@cost[.@choice]+" Gray Shard.")) {
+ switch (select("Cancel", sprintf(_$("hand over %d Gray Shard."), .@cost[.@choice]))) {
case 1:
- next;
+ next();
mes("[King]");
mes("Someday, Sakray will get out of curse for sure. I believe");
- next;
+ next();
break;
case 2:
- next;
+ next();
if (countitem(Gray_Shard) < .@cost[.@choice]) {
mes("[King]");
mes("You don't have enough Gray Shards.");
@@ -743,20 +742,20 @@ OnInstanceInit:
mes("[King]");
mesf("I will make a ^FF0000%s^000000 \r"
"with %d ^009900Gray Shard^000000", getitemname(.@items_list[.@choice]), .@cost[.@choice]);
- next;
+ next();
mes("[King]");
mes("You see a light through the folded hands of the king and it gradually takes on a shape.");
- next;
+ next();
mes("[King]");
mesf("All right, it is done.\r"
"Take this ^FF0000%s.^000000\r"
"Use it to confront Sakray and Thanatos.", getitemname(.@items_list[.@choice]));
- next;
+ next();
mes("[King]");
mes("The power requires a sacrifice.\r"
"Please be careful...");
delitem(Gray_Shard, .@cost[.@choice]);
- getitem .@items_list[.@choice], 1;
+ getitem(.@items_list[.@choice], 1);
close();
}
}
@@ -766,27 +765,33 @@ OnInstanceInit:
1@spa,198,201,1 script Lurid Royal Guard#gp1 4_M_SAKRAYROYAL,{
end;
}
+
1@spa,197,217,0 warp #gp1warp 1,1,1@spa,114,120
// 2nd floor npc's
1@spa,135,125,3 script Tiara Princess#gp2 4_F_MAYSEL,{
end;
}
+
1@spa,117,137,0 warp #gp2warp 1,1,1@spa,60,43
// 3rd floor npc's
1@spa,30,58,5 script Lurid Royal Guard#gp3 4_M_SAKRAY_TIED,{
end;
}
+
1@spa,28,52,0 script Captain of the Guard#gp3 4_M_KY_KNT,{
end;
}
+
1@spa,30,52,0 script Soldier#gp3_1 4_M_KY_SOLD,{
end;
}
+
1@spa,34,53,1 script Soldier#gp3_2 4_M_CRU_SOLD,{
end;
}
+
1@spa,25,53,0 script Soldier#gp3_3 4_M_CRU_SOLD,{
end;
}
@@ -795,43 +800,54 @@ OnInstanceInit:
1@spa,201,198,1 script Soldier's Corpse#gp4_1 4_M_DIEMAN,{
end;
}
+
1@spa,191,207,0 script Soldier's Corpse#gp4_2 4_M_DIEMAN,{
end;
}
+
1@spa,206,209,0 script Soldier's Corpse#gp4_3 4_M_DIEMAN,{
end;
}
+
1@spa,189,193,0 script Soldier's Corpse#gp4_4 4_M_DIEMAN,{
end;
}
+
1@spa,211,194,4 script Captain's Corpse#gp4 4_M_LIEMAN,{
end;
}
+
1@spa,194,214,5 script King's Corpse#gp4 4_M_TRISTAN,{
end;
}
+
1@spa,197,218,5 script Visiting Prince#gp4 4_M_KNIGHT_SILVER,{
end;
}
+
1@spa,197,218,0 script Thanatos Magic Trace#gp4 HIDDEN_WARP_NPC,{
end;
}
+
1@spa,178,186,0 warp #gp4warp 1,1,1@spa,30,57
// 5th floor npc's
1@spa,60,43,3 script Tiara Princess#gp5 4_F_MAYSEL,{
end;
}
+
1@spa,40,44,0 script Thanatos Magic Trace#gp5 HIDDEN_WARP_NPC,{
end;
}
+
1@spa,40,46,0 script Voice of Princess Tiara CLEAR_NPC,{
end;
}
+
1@spa,42,43,0 script Voice of Sakray CLEAR_NPC,{
end;
}
+
1@spa,40,41,0 script Thanatos Magic Trace CLEAR_NPC,{
end;
}
-
diff --git a/npc/re/instances/octopus_cave.txt b/npc/re/instances/octopus_cave.txt
index b134742c9..ffcf0a9fe 100644
--- a/npc/re/instances/octopus_cave.txt
+++ b/npc/re/instances/octopus_cave.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2016 Hercules Dev Team
+//= Copyright (C) 2013-2018 Hercules Dev Team
//= Copyright (C) Euphy
//= Copyright (C) Muad_Dib
//=
@@ -37,89 +37,87 @@
mal_dun01,151,235,5 script Starfish 4_ASTER,{
.@party_id = getcharid(CHAR_ID_PARTY);
- .@md_name$ = "Octopus Cave";
+ .@md_name$ = _("Octopus Cave");
if (!.@party_id) {
mes("[Starfish]");
mes("You alone is powerless, hehe! Better get someone to help you out. Make a party, and come back later.");
- close;
+ close();
}
if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id, 2)) {
mes("[Starfish]");
mes("Where is your leader, hehe. I don't talk to some random people. Bring your boss to me.");
- close;
+ close();
}
mes("[Starfish]");
mes("I am guarding here, hehe! It is just roughly blocked for now. But someday this cave must be sealed forever, hehe!");
- next;
- while(1) {
+ next();
+ while (true) {
switch (select("Ask what's going on.", "Ask to open the gate.", "Go to other location.")) {
case 1:
mes("[Starfish]");
mes("Lately, our Starfish lady is suffering with some issues, ooh ooh. Something bad happen in this peaceful place, hehe!");
- next;
+ next();
mes("[Starfish]");
mes("Weird looking limbs came out from the hole there, tried to kidnap our lady Starfish. Ooh Ooh.");
- next;
+ next();
mes("[Starfish]");
mes("It seems those limbs belong to that ugly octopus. That monster should be taken care of,\r"
"but it's hard for ourselves only to make it happen, hehe.");
- next;
+ next();
mes("[Starfish]");
mes("I want to find someone special, and ask to punish this ugly octopus.\r"
"I hope this octopus won't ever harass our lady, hehe.");
- next;
+ next();
mes("[Starfish]");
mes("Go catch that octopus and stick it to this pick. If you bring back the pick,\r"
"I will open this gate for a while. You should challenge if you are interested, hehe.");
- next;
+ next();
break;
case 2:
.@playtime = questprogress(4197, PLAYTIME);
if (.@playtime == 1) {
mes("[Starfish]");
mes("Octopus is not around now, hehe. Please come back later.");
- close;
+ close();
}
- if (.@playtime == 2) erasequest 4197;
+ if (.@playtime == 2)
+ erasequest(4197);
if (countitem(Octopus_Hunt_Stick)) {
.@instance = instance_create(.@md_name$, .@party_id);
- if (.@instance < 0) {
- mes("[Starfish]");
- mesf("Party name is... %s.", getpartyname(.@party_id));
- mesf("Party leader is... %s.", strcharinfo(PC_NAME));
- mesf("^0000FF%s^000000, I cannot open now, hehe.", .@md_name$);
- mes("Now is not the time, please wait.");
- close;
- }
- if (instance_attachmap("1@cash", .@instance) == "") {
- mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
- instance_destroy(.@instance);
- close;
+ if (.@instance >= 0) {
+ if (instance_attachmap("1@cash", .@instance) == "") {
+ mes("[Starfish]");
+ mesf("Party name is... %s.", getpartyname(.@party_id));
+ mesf("Party leader is... %s.", strcharinfo(PC_NAME));
+ mesf("^0000FF%s^000000, I cannot open now, hehe.", .@md_name$);
+ mes("Now is not the time, please wait.");
+ instance_destroy(.@instance);
+ close();
+ }
+ instance_set_timeout(3600, 300, .@instance);
+ instance_init(.@instance);
}
- instance_set_timeout(3600, 300, .@instance);
- instance_init(.@instance);
-
mes("[Starfish]");
mesf("I will open the gate for a while to ^0000FF%s^000000.", .@md_name$);
mes("Please catch that pervert octopus, and come back with it sticked to the pick, hehe.");
- close;
+ close();
}
mes("[Starfish]");
mes("Prepare a pick first, so you can thread that octopus with that pick.\r"
"Then, I will let you in for a while, hehe.");
- close;
+ close();
case 3:
mes("[Starfish]");
mes("This is not a good location, check someplace else.");
- close;
+ close();
}
}
}
mal_dun01,153,237,5 script Weird Entrance CLEAR_NPC,{
mes("There is a strange entrance blocked roughly with some boards.");
- next;
+ next();
switch (select("Go in.", "Stop.")) {
case 1:
if (countitem(Octopus_Hunt_Stick)) {
@@ -127,25 +125,26 @@ mal_dun01,153,237,5 script Weird Entrance CLEAR_NPC,{
if (questprogress(4197, PLAYTIME) == 1) {
mes("[Starfish]");
mes("Ah, now is not the time... Would you come back later? Hehe.");
- close;
+ close();
}
mes("[Starfish]");
mes("Shhh... Weird aura is coming from that entrance. Big trouble is waiting, if you go in now.");
- close;
+ close();
}
mapannounce("mal_dun01", sprintf(_$("%s party's %s member started to hunt the Octopus!"), getpartyname(getcharid(CHAR_ID_PARTY)), strcharinfo(PC_NAME)), bc_map, C_SPRINGGREEN);
- if (!questprogress(4197)) setquest 4197;
- warp "1@cash", 199, 99;
+ if (!questprogress(4197))
+ setquest(4197);
+ warp("1@cash", 199, 99);
end;
}
mes("[Starfish]");
mes("You should definitely prepare hunting stick if you want to punish the Octopus. Or I will not let you in! Hehe.");
- close;
+ close();
case 2:
mes("[Starfish]");
mes("Yes Yes, you better quit.");
- close;
+ close();
}
}
@@ -153,25 +152,25 @@ mal_dun01,153,237,5 script Weird Entrance CLEAR_NPC,{
1@cash,199,99,0 script oct_enter HIDDEN_WARP_NPC,4,4,{
end;
OnTouch:
- donpcevent instance_npcname("oct_enter_broad")+"::OnEnable";
- specialeffect EF_BASH;
- disablenpc instance_npcname("oct_enter");
+ donpcevent(instance_npcname("oct_enter_broad")+"::OnEnable");
+ specialeffect(EF_BASH);
+ disablenpc(instance_npcname("oct_enter"));
end;
}
1@cash,1,1,0 script oct_enter_broad FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("oct_enter_broad")+"::OnDisable";
+ donpcevent(instance_npcname("oct_enter_broad")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("oct_enter_broad");
- donpcevent instance_npcname("oct_foot_4")+"::OnEnable";
- donpcevent instance_npcname("oct_mob_con")+"::OnEnable";
- initnpctimer;
+ enablenpc(instance_npcname("oct_enter_broad"));
+ donpcevent(instance_npcname("oct_foot_4")+"::OnEnable");
+ donpcevent(instance_npcname("oct_mob_con")+"::OnEnable");
+ initnpctimer();
end;
OnDisable:
- disablenpc instance_npcname("oct_enter_broad");
+ disablenpc(instance_npcname("oct_enter_broad"));
end;
OnTimer1000:
mapannounce(instance_mapname("1@cash"), _("Pervert Octopus : How dare you to come inside of my place!"), bc_map, C_YELLOW);
@@ -181,22 +180,22 @@ OnTimer4000:
end;
OnTimer7000:
mapannounce(instance_mapname("1@cash"), _("Pervert Octopus : My juniors~ There is your toy! Play with it~ kakaka"), bc_map, C_YELLOW);
- stopnpctimer;
- donpcevent instance_npcname("oct_enter_broad")+"::OnDisable";
+ stopnpctimer();
+ donpcevent(instance_npcname("oct_enter_broad")+"::OnDisable");
end;
}
1@cash,3,3,0 script oct_foot_4 FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("oct_foot_4")+"::OnDisable";
+ donpcevent(instance_npcname("oct_foot_4")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("oct_foot_4");
- donpcevent instance_npcname("oct_foot1")+"::OnEnable";
- donpcevent instance_npcname("oct_foot2")+"::OnEnable";
- donpcevent instance_npcname("oct_foot3")+"::OnEnable";
- donpcevent instance_npcname("oct_foot4")+"::OnEnable";
+ enablenpc(instance_npcname("oct_foot_4"));
+ donpcevent(instance_npcname("oct_foot1")+"::OnEnable");
+ donpcevent(instance_npcname("oct_foot2")+"::OnEnable");
+ donpcevent(instance_npcname("oct_foot3")+"::OnEnable");
+ donpcevent(instance_npcname("oct_foot4")+"::OnEnable");
.@map$ = instance_mapname("1@cash");
monster(.@map$, 20, 114, _("Octopus Leg#1"), MD_OCTOPUS_LEG, 1, instance_npcname("oct_foot_4")+"::OnMyMobDead");
monster(.@map$, 88, 190, _("Octopus Leg#2"), MD_OCTOPUS_LEG, 1, instance_npcname("oct_foot_4")+"::OnMyMobDead");
@@ -204,15 +203,15 @@ OnEnable:
monster(.@map$, 372, 131, _("Octopus Leg#4"), MD_OCTOPUS_LEG, 1, instance_npcname("oct_foot_4")+"::OnMyMobDead");
end;
OnDisable:
- disablenpc instance_npcname("oct_foot_4");
+ disablenpc(instance_npcname("oct_foot_4"));
end;
OnMyMobDead:
.@map$ = instance_mapname("1@cash");
- if (mobcount(.@map$,instance_npcname("oct_foot_4")+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("oct_boss_con")+"::OnEnable";
+ if (mobcount(.@map$, instance_npcname("oct_foot_4")+"::OnMyMobDead") < 1) {
+ donpcevent(instance_npcname("oct_boss_con")+"::OnEnable");
mapannounce(.@map$, _("Hey you!! I'll personally take care of you all! Let's bring it on!"), bc_map, C_SPRINGGREEN);
- enablenpc instance_npcname("oct_boss_warp");
- instance_warpall .@map$, 199, 99;
+ enablenpc(instance_npcname("oct_boss_warp"));
+ instance_warpall(.@map$, 199, 99);
end;
}
mapannounce(.@map$, _("Arrgg!! That hurts!!! I need another strategy..."), bc_map, C_SPRINGGREEN);
@@ -222,12 +221,12 @@ OnMyMobDead:
1@cash,20,114,0 script oct_foot1 HIDDEN_WARP_NPC,6,6,{
end;
OnInstanceInit:
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
.@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
+ .@i = atoi(charat(strnpcinfo(NPC_NAME), 8));
.@map$ = instance_mapname("1@cash");
switch (.@i) {
case 1:
@@ -249,7 +248,7 @@ OnEnable:
areamonster(.@map$, 123, 93, 127, 97, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
areamonster(.@map$, 113, 90, 115, 92, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
areamonster(.@map$, 103, 89, 105, 91, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 89, 90, 91,92, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
+ areamonster(.@map$, 89, 90, 91, 92, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
areamonster(.@map$, 74, 104, 76, 106, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
areamonster(.@map$, 74, 120, 76, 122, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
areamonster(.@map$, 83, 131, 87, 135, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
@@ -285,56 +284,57 @@ OnEnable:
}
end;
OnDisable:
- killmonster instance_mapname("1@cash"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"; // Not in official script.
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ killmonster(instance_mapname("1@cash"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"); // Not in official script.
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnTouch:
- if (getd("."+strnpcinfo(NPC_NAME)+instance_id())) end;
- setd "."+strnpcinfo(NPC_NAME)+instance_id(),1;
- hideonnpc instance_npcname(strnpcinfo(NPC_NAME));
+ if (getd("."+strnpcinfo(NPC_NAME)+instance_id()))
+ end;
+ setd("."+strnpcinfo(NPC_NAME)+instance_id(), 1);
+ hideonnpc(instance_npcname(strnpcinfo(NPC_NAME)));
mapannounce(instance_mapname("1@cash"), _("Come out all my babies and help me out!"), bc_map, C_YELLOW);
- initnpctimer;
+ initnpctimer();
end;
OnTimer5000:
.@map$ = instance_mapname("1@cash");
mapannounce(.@map$, _("Let's give them a lesson!"), bc_map, C_YELLOW);
.@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
+ .@i = atoi(charat(strnpcinfo(NPC_NAME), 8));
switch (.@i) {
case 1:
- areamonster(.@map$, 18, 112, 22,116, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
- areamonster(.@map$, 18, 112, 22,116, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 18, 112, 22, 116, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 18, 112, 22, 116, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
break;
case 2:
- areamonster(.@map$, 86, 188, 90,192, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
- areamonster(.@map$, 96, 98, 100,102, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 86, 188, 90, 192, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 96, 98, 100, 102, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
break;
case 3:
- areamonster(.@map$, 305, 213, 309,217, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
- areamonster(.@map$, 305, 213, 309,217, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 305, 213, 309, 217, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 305, 213, 309, 217, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
break;
case 4:
- areamonster(.@map$, 370, 129, 374,133, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
- areamonster(.@map$, 370, 129, 374,133, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 370, 129, 374, 133, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
+ areamonster(.@map$, 370, 129, 374, 133, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
break;
}
end;
OnTimer30000:
- setd "."+strnpcinfo(NPC_NAME)+instance_id(),0;
- stopnpctimer;
- .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
- donpcevent instance_npcname("oct_foot_exit"+.@i)+"::OnEnable";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
+ setd("."+strnpcinfo(NPC_NAME)+instance_id(), 0);
+ stopnpctimer();
+ .@i = atoi(charat(strnpcinfo(NPC_NAME), 8));
+ donpcevent(instance_npcname("oct_foot_exit"+.@i)+"::OnEnable");
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable");
end;
OnMyMobDead:
.@map$ = instance_mapname("1@cash");
- if (mobcount(.@map$,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
+ if (mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
mapannounce(.@map$, _("You hurt my babies!!? You'll have to pay for this!!!"), bc_map, C_SPRINGGREEN);
- setd "."+strnpcinfo(NPC_NAME)+instance_id(),0;
- stopnpctimer;
- .@i = atoi(charat(strnpcinfo(NPC_NAME),8));
- donpcevent instance_npcname("oct_foot_exit"+.@i)+"::OnEnable";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
+ setd("."+strnpcinfo(NPC_NAME)+instance_id(), 0);
+ stopnpctimer();
+ .@i = atoi(charat(strnpcinfo(NPC_NAME), 8));
+ donpcevent(instance_npcname("oct_foot_exit"+.@i)+"::OnEnable");
+ donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable");
end;
}
end;
@@ -346,13 +346,13 @@ OnMyMobDead:
1@cash,16,117,0 script oct_foot_exit1 WARPNPC,2,2,{
end;
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnTouch:
- warp instance_mapname("1@cash"), 198, 99;
+ warp(instance_mapname("1@cash"), 198, 99);
end;
}
1@cash,77,193,0 duplicate(oct_foot_exit1) oct_foot_exit2 WARPNPC,2,2
@@ -362,11 +362,11 @@ OnTouch:
1@cash,15,15,0 script oct_mob_con FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("oct_mob_con")+"::OnDisable";
+ donpcevent(instance_npcname("oct_mob_con")+"::OnDisable");
end;
OnEnable:
.@map$ = instance_mapname("1@cash");
- enablenpc instance_npcname("oct_mob_con");
+ enablenpc(instance_npcname("oct_mob_con"));
monster(.@map$, 32, 94, _("Hydra"), HYDRA, 1);
monster(.@map$, 41, 101, _("Hydra"), HYDRA, 1);
monster(.@map$, 35, 78, _("Hydra"), HYDRA, 1);
@@ -410,21 +410,21 @@ OnEnable:
areamonster(.@map$, 292, 97, 312, 117, _("Stapo"), STAPO, 1);
areamonster(.@map$, 355, 64, 375, 84, _("Stapo"), STAPO, 1);
areamonster(.@map$, 317, 17, 337, 37, _("Stapo"), STAPO, 1);
- donpcevent instance_npcname("oct_backattack1")+"::OnEnable";
- donpcevent instance_npcname("oct_backattack2")+"::OnEnable";
- donpcevent instance_npcname("oct_backattack3")+"::OnEnable";
- donpcevent instance_npcname("oct_backattack4")+"::OnEnable";
- donpcevent instance_npcname("oct_mob_con")+"::OnDisable";
+ donpcevent(instance_npcname("oct_backattack1")+"::OnEnable");
+ donpcevent(instance_npcname("oct_backattack2")+"::OnEnable");
+ donpcevent(instance_npcname("oct_backattack3")+"::OnEnable");
+ donpcevent(instance_npcname("oct_backattack4")+"::OnEnable");
+ donpcevent(instance_npcname("oct_mob_con")+"::OnDisable");
end;
OnDisable:
- disablenpc instance_npcname("oct_mob_con");
+ disablenpc(instance_npcname("oct_mob_con"));
end;
}
1@cash,45,53,0 script oct_backattack1 HIDDEN_WARP_NPC,3,3,{
end;
OnInstanceInit:
- disablenpc instance_npcname("oct_backattack1");
+ disablenpc(instance_npcname("oct_backattack1"));
end;
OnTouch:
.@map$ = instance_mapname("1@cash");
@@ -436,27 +436,28 @@ OnTouch:
monster(.@map$, 49, 50, _("Hydra"), HYDRA, 1);
monster(.@map$, 41, 53, _("Octopus's Henchman"), MD_OCTOPUS, 1);
mapannounce(.@map$, _("Don't let them break through, stop them!!!"), bc_map, C_SPRINGGREEN);
- specialeffect EF_BASH;
- disablenpc instance_npcname("oct_backattack1");
+ specialeffect(EF_BASH);
+ disablenpc(instance_npcname("oct_backattack1"));
end;
OnEnable:
- enablenpc instance_npcname("oct_backattack1");
+ enablenpc(instance_npcname("oct_backattack1"));
end;
}
1@cash,78,99,0 script oct_backattack2 HIDDEN_WARP_NPC,3,3,{
end;
OnInstanceInit:
- disablenpc instance_npcname("oct_backattack2");
+ disablenpc(instance_npcname("oct_backattack2"));
end;
OnTouch:
- if (getd("."+instance_id())) end;
- setd "."+instance_id(),1;
- initnpctimer;
+ if (getd("."+instance_id()))
+ end;
+ setd("."+instance_id(), 1);
+ initnpctimer();
.@map$ = instance_mapname("1@cash");
monster(.@map$, 71, 105, _("Octopus's Henchman"), MD_OCTOPUS, 1);
mapannounce(.@map$, _("Headquarters are empty, GO!!!"), bc_map, C_SPRINGGREEN);
- hideonnpc instance_npcname("oct_backattack2");
+ hideonnpc(instance_npcname("oct_backattack2"));
end;
OnTimer2000:
.@map$ = instance_mapname("1@cash");
@@ -477,21 +478,22 @@ OnTimer8000:
.@map$ = instance_mapname("1@cash");
monster(.@map$, 71, 105, _("Octopus's Henchman"), MD_OCTOPUS, 1);
mapannounce(.@map$, _("There is no time to lose, hurry up!!!"), bc_map, C_SPRINGGREEN);
- stopnpctimer;
+ stopnpctimer();
end;
OnEnable:
- enablenpc instance_npcname("oct_backattack2");
+ enablenpc(instance_npcname("oct_backattack2"));
end;
}
1@cash,299,144,0 script oct_backattack3 HIDDEN_WARP_NPC,3,3,{
end;
OnInstanceInit:
- disablenpc instance_npcname("oct_backattack3");
+ disablenpc(instance_npcname("oct_backattack3"));
end;
OnTouch:
- if (getd("."+instance_id())) end;
- setd "."+instance_id(),1;
+ if (getd("."+instance_id()))
+ end;
+ setd("."+instance_id(), 1);
.@map$ = instance_mapname("1@cash");
monster(.@map$, 293, 153, _("Octopus's Henchman"), MD_OCTOPUS, 1);
monster(.@map$, 294, 152, _("Octopus's Henchman"), MD_OCTOPUS, 1);
@@ -499,26 +501,27 @@ OnTouch:
monster(.@map$, 293, 151, _("Octopus's Henchman"), MD_OCTOPUS, 1);
monster(.@map$, 293, 152, _("Octopus's Henchman ?"), MD_MARSE, 1);
mapannounce(.@map$, _("Kakaka! Suprised??!!"), bc_map, C_SPRINGGREEN);
- initnpctimer;
- hideonnpc instance_npcname("oct_backattack3");
+ initnpctimer();
+ hideonnpc(instance_npcname("oct_backattack3"));
end;
OnTimer5000:
mapannounce(instance_mapname("1@cash"), _("... Looks like we have a spy among us."), bc_map, C_SPRINGGREEN);
- stopnpctimer;
+ stopnpctimer();
end;
OnEnable:
- enablenpc instance_npcname("oct_backattack3");
+ enablenpc(instance_npcname("oct_backattack3"));
end;
}
1@cash,336,36,0 script oct_backattack4 HIDDEN_WARP_NPC,3,3,{
end;
OnInstanceInit:
- disablenpc instance_npcname("oct_backattack4");
+ disablenpc(instance_npcname("oct_backattack4"));
end;
OnTouch:
- if (getd("."+instance_id())) end;
- setd "."+instance_id(),1;
+ if (getd("."+instance_id()))
+ end;
+ setd("."+instance_id(), 1);
.@map$ = instance_mapname("1@cash");
monster(.@map$, 332, 37, _("Octopus's Henchman"), MD_OCTOPUS, 1);
monster(.@map$, 332, 36, _("Octopus's Henchman"), MD_OCTOPUS, 1);
@@ -534,34 +537,34 @@ OnTouch:
monster(.@map$, 259, 40, _("Mercenary Squid"), MD_MARSE, 1);
monster(.@map$, 261, 40, _("Mercenary Squid"), MD_MARSE, 1);
mapannounce(.@map$, _("What a successful pincer tactic! The enemy is strong! Let's not lose yourselves! Anyway, where are all the mercenaries??"), bc_map, C_SPRINGGREEN);
- initnpctimer;
- hideonnpc instance_npcname("oct_backattack4");
+ initnpctimer();
+ hideonnpc(instance_npcname("oct_backattack4"));
end;
OnTimer5000:
mapannounce(instance_mapname("1@cash"), _("Mercenary Squid : eh...eh... wrong direction. No enemies are shown in this direction."), bc_map, C_SPRINGGREEN);
end;
OnTimer7000:
mapannounce(instance_mapname("1@cash"), _("Pervert Octopus : Fools! Can't you read the map??!! Useless!!"), bc_map, C_SPRINGGREEN);
- stopnpctimer;
+ stopnpctimer();
end;
OnEnable:
- enablenpc instance_npcname("oct_backattack4");
+ enablenpc(instance_npcname("oct_backattack4"));
end;
}
1@cash,2,2,0 script oct_boss_con FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("oct_boss_con")+"::OnDisable";
+ donpcevent(instance_npcname("oct_boss_con")+"::OnDisable");
end;
OnDisable:
- disablenpc instance_npcname("oct_boss_con");
+ disablenpc(instance_npcname("oct_boss_con"));
end;
OnEnable:
- enablenpc instance_npcname("oct_boss_con");
- donpcevent instance_npcname("oct_boss_foot")+"::OnEnable";
+ enablenpc(instance_npcname("oct_boss_con"));
+ donpcevent(instance_npcname("oct_boss_foot")+"::OnEnable");
monster(instance_mapname("1@cash"), 199, 188, _("Disgusting Octopus"), MD_GIANT_OCTOPUS, 1, instance_npcname("oct_boss_con")+"::OnMyMobDead");
- initnpctimer;
+ initnpctimer();
end;
OnTimer7000:
callsub OnAnnounce,
@@ -604,21 +607,21 @@ OnTimer49000:
"errrrrrrrrrrrrrrrrrrrrrrrr... Cough! Cough!",
"Disgusting Octopus : Violence cannot be justified in any case.",
"This is my place!!!";
- stopnpctimer;
- initnpctimer;
+ stopnpctimer();
+ initnpctimer();
end;
OnAnnounce:
mapannounce(instance_mapname("1@cash"), sprintf(_$("Disgusting Octopus : %s"), getarg(rand(3))), bc_map, C_YELLOW);
return;
OnMyMobDead:
.@map$ = instance_mapname("1@cash");
- if (mobcount(.@map$,instance_npcname("oct_boss_con")+"::OnMyMobDead") < 1) {
+ if (mobcount(.@map$, instance_npcname("oct_boss_con")+"::OnMyMobDead") < 1) {
mapannounce(.@map$, _("Disgusting Octopus : That's it for the today! Next time, I will play with you badly!"), bc_map, C_YELLOW);
- enablenpc instance_npcname("oct_exit_1");
- enablenpc instance_npcname("oct_exit_2");
- donpcevent instance_npcname("oct_boss_foot")+"::OnDisable";
- stopnpctimer;
- donpcevent instance_npcname("oct_boss_con")+"::OnDisable";
+ enablenpc(instance_npcname("oct_exit_1"));
+ enablenpc(instance_npcname("oct_exit_2"));
+ donpcevent(instance_npcname("oct_boss_foot")+"::OnDisable");
+ stopnpctimer();
+ donpcevent(instance_npcname("oct_boss_con")+"::OnDisable");
end;
}
end;
@@ -627,16 +630,16 @@ OnMyMobDead:
1@cash,4,4,0 script oct_boss_foot FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("oct_boss_foot")+"::OnDisable";
+ donpcevent(instance_npcname("oct_boss_foot")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("oct_boss_foot");
- initnpctimer;
+ enablenpc(instance_npcname("oct_boss_foot"));
+ initnpctimer();
end;
OnCall:
.@map$ = instance_mapname("1@cash");
- if (mobcount(.@map$,instance_npcname("oct_boss_foot")+"::OnMyMobDead") < 100) {
- switch(rand(2)) {
+ if (mobcount(.@map$, instance_npcname("oct_boss_foot")+"::OnMyMobDead") < 100) {
+ switch (rand(2)) {
case 0:
mapannounce(.@map$, _("Disgusting Octopus : Do you know how many legs octopus have? It doesn't matter, I have unlimited legs!!"), bc_map, C_YELLOW);
areamonster(.@map$, 192, 181, 206, 195, _("Octopus Leg"), MD_OCTOPUS_LEG, 1, instance_npcname("oct_boss_foot")+"::OnMyMobDead");
@@ -647,16 +650,16 @@ OnCall:
break;
}
}
- initnpctimer;
+ initnpctimer();
end;
OnTimer10000:
- stopnpctimer;
- donpcevent instance_npcname("oct_boss_foot")+"::OnCall";
+ stopnpctimer();
+ donpcevent(instance_npcname("oct_boss_foot")+"::OnCall");
end;
OnDisable:
- stopnpctimer;
- killmonster instance_mapname("1@cash"), instance_npcname("oct_boss_foot")+"::OnMyMobDead"; // Not in official script.
- disablenpc instance_npcname("oct_boss_foot");
+ stopnpctimer();
+ killmonster(instance_mapname("1@cash"), instance_npcname("oct_boss_foot")+"::OnMyMobDead"); // Not in official script.
+ disablenpc(instance_npcname("oct_boss_foot"));
end;
OnMyMobDead:
end;
@@ -665,24 +668,24 @@ OnMyMobDead:
1@cash,198,116,0 script oct_boss_warp WARPNPC,2,2,{
end;
OnInstanceInit:
- disablenpc instance_npcname("oct_boss_warp");
+ disablenpc(instance_npcname("oct_boss_warp"));
end;
OnTouch:
- warp instance_mapname("1@cash"), 210, 172;
+ warp(instance_mapname("1@cash"), 210, 172);
end;
}
1@cash,190,208,0 script oct_exit_1 WARPNPC,2,2,{
end;
OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
+ disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
end;
OnTouch:
mes("Do you want to go out from the octopus dungeon?");
- next;
+ next();
if (select("No!", "Yes!") == 2)
- warp "mal_dun01", 153, 233;
- close;
+ warp("mal_dun01", 153, 233);
+ close();
}
1@cash,198,82,0 duplicate(oct_exit_1) oct_exit_2 WARPNPC,2,2
// This is never enabled in the official script.
diff --git a/npc/re/instances/saras_memory.txt b/npc/re/instances/saras_memory.txt
index 38b598d5b..25c0e619b 100644
--- a/npc/re/instances/saras_memory.txt
+++ b/npc/re/instances/saras_memory.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2016 Hercules Dev Team
+//= Copyright (C) 2013-2018 Hercules Dev Team
//= Copyright (C) Ridley
//= Copyright (C) Ziu
//=
@@ -41,113 +41,113 @@
dali,130,107,5 script Leon the Adventurer#Sara 4_M_DST_GRAND,{ // instance CD check only at the Dimensional Device
mes("[Leon the Adventurer]");
if (BaseLevel < 99) {
- mes("You know... this place doesn't seem to be safe for you. Please returnto me once you have achieved LV. 99");
- close;
+ mes("You know... this place doesn't seem to be safe for you. Please return to me once you have achieved LV. 99");
+ close();
}
if (!questprogress(15003)) {
if (!sarainstance) { // doing the instance for the 1st time
mes("Wow! I thought I was the only one who knew about this place.");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("Excuse my rudeness! I am Pon de Leon, the famous adventurer!");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("My friend calls me Leon the Lion! For my tough appearance and attitude. Plus I have quite a bite!");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("You know, this is such a strange location...");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("As you explore it you start to see cracks in space and time. Each one covered by a dimensional device.");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("For example, I think I have caught glimpses of Payon through the dimensional device closest to us.\r"
"But it doesn't seem right. Almost like it is a little bit older then it should be.");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("I want to explore it, but with my old age and my knees I don't seem to be quite up to the task.");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("So, I would like to ask something of you.");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("Please venture through the dimensional device and report to me what you find within.");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("Though, I should warn you. It might be unstable. Make sure you enter the first chance you get.");
- close2;
- setquest 15003;
+ close2();
+ setquest(15003);
end;
} else {
mes("You wish to relive the past again?");
- next;
- if (select("Yes","No") == 2)
- close;
+ next();
+ if (select("Yes", "No") == 2)
+ close();
mes("[Leon the Adventurer]");
mes("Please venture through the dimensional device and report to me what you find within.");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("Though, I should warn you. It might be unstable. Make sure you enter the first chance you get.");
- setquest 15003;
- close;
+ setquest(15003);
+ close();
}
}
if (questprogress(15003) == 1) {
mes("I am not sure you have fully explored the crack in space and time yet. Perhaps you should look a bit further into it.");
- next;
+ next();
if (!sarainstance)
- close;
+ close();
switch (select("Okay", "Give up")) {
case 1:
mes("[Leon the Adventurer]");
mes("I am glad to hear that! Maybe someday you can be as brave as old Leon the Lion!");
- close;
+ close();
case 2:
mes("[Leon the Adventurer]");
mes("Well.. I can't force you. Buf if you ever find your courage pelase talk to me again.");
- erasequest 15003;
- close;
+ erasequest(15003);
+ close();
}
}
if (questprogress(15003) == 2) {
if (!sarainstance) { // 1st time reward and text
mes("What did you see in there?!");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("Hrumpf, Sara Irene?! She's one of the 12 Valkyries. I didn't know her story was that tragic....");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("It seems that you caused a huge misunderstanding between her and her father.");
- next;
+ next();
mes("[Leon the Adventurer]");
- mes("I would not blame yourself for what occured. Or all the blood that was spilled. It seems that the\r"
+ mes("I would not blame yourself for what occured. Or all the blood that was spilled. It seems that the\r"
"events that day were fated to happen no matter who was there.");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("Please don't tell anyone about your time traveling adventure. We can't have anyone thinking you more\r"
"important then old Leon. Plus they wouldn't believe such a story anyways.");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("I think that in about 20 hours after you last entered the rift will stable enough for you to transverse it again.");
sarainstance = 1;
- getexp 770000, 1000000; // reward first time
+ getexp(770000, 1000000); // reward first time
} else { // 2nd time text
mes("What did you see in there?! Was there anything new?");
- next;
+ next();
select("Nothing has changed from the last time.");
mes("[Leon the Adventurer]");
mes("I am sorry to hear that... If...");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("If you want to try again. I think that in about 20 hours after you last entered the rift will be stable enough\r"
"for you to transverse it again.");
- next;
+ next();
mes("[Leon the Adventurer]");
mes("You should rest up. Travelling Through time would make even Leon tired!");
- getexp 550000, 550000; // reward 2nd and following
+ getexp(550000, 550000); // reward 2nd and following
}
- erasequest 15003;
- close;
+ erasequest(15003);
+ close();
}
}
@@ -155,29 +155,29 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
if (!questprogress(15003)) {
mes("[Leon the Adventurer]");
mes("Before you go playing around with that. Why don't you come over here and talk to me?");
- close;
+ close();
}
.@sara_time = questprogress(15002, PLAYTIME);
if (.@sara_time == 1) {
mes("[Leon the Adventurer]");
mes("I think that in about 20 hours after you last entered the rift will stable enough for you to\r"
"transverse it again.");
- close;
+ close();
} else if (.@sara_time == 2) {
- erasequest 15002;
+ erasequest(15002);
end;
} else if (!.@sara_time) {
.@party_id = getcharid(CHAR_ID_PARTY);
.@p_name$ = getpartyname(.@party_id);
- .@md_name$ = "Sara's Memory";
+ .@md_name$ = _("Sara's Memory");
if (!instance_check_party(.@party_id)) {
mes("[Leon the Adventurer]");
mes("Before you enter you need to organize a party! Don't know how? Type /organize PARTYNAMEHERE. You\r"
"can use quotes to put spaces in a party name.");
- close;
+ close();
}
if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2))
- .@menu1$ = "Boot up the dimensional device";
+ .@menu1$ = _("Boot up the dimensional device");
else
.@menu1$ = "";
switch (select(.@menu1$, "Use the dimensional device", "Cancel")) {
@@ -185,34 +185,32 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id, 2))
end;
.@instance = instance_create(.@md_name$, .@party_id);
- if (.@instance < 0) {
- mesf("Party Name: %s", .@p_name$);
- mesf("Party Leader: %s", strcharinfo(PC_NAME));
- mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
- close;
+ if (.@instance >= 0) {
+ if (instance_attachmap("1@sara", .@instance) == "") {
+ mesf("Party Name: %s", .@p_name$);
+ mesf("Party Leader: %s", strcharinfo(PC_NAME));
+ mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
+ instance_destroy(.@instance);
+ close();
+ }
+ instance_set_timeout(3600, 300, .@instance);
+ instance_init(.@instance);
}
- if (instance_attachmap("1@sara", .@instance) == "") {
- mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
- instance_destroy(.@instance);
- close;
- }
- instance_set_timeout(3600, 300, .@instance);
- instance_init(.@instance);
mes("^FF0000The dimensional boots up cleanly. Use the device to enter the crack in space and time.^000000");
- close;
+ close();
case 2:
if (has_instance("1@sara") == "") {
mesf("The memorial dungeon ^0000FF%s^000000 does not exist.\r"
"The party leader did not generate the dungeon yet.", .@md_name$);
- close;
+ close();
}
mapannounce("dali", sprintf(_$("%s, member of the party %s entered the instance %s."), strcharinfo(PC_NAME), .@p_name$, .@md_name$), bc_map, C_SPRINGGREEN);
- setquest 15002;
- warp "1@sara", 250, 155;
+ setquest(15002);
+ warp("1@sara", 250, 155);
end;
break;
case 3:
- close;
+ close();
}
}
}
@@ -223,469 +221,468 @@ dali,138,118,0 script Dimensional Device#dimen PORTAL,{
mesf("[%s]", strcharinfo(PC_NAME));
mes("Where am I?");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Where am I?"));
- next;
- cutin "sara_9sara1.bmp", 2;
+ next();
+ cutin("sara_9sara1.bmp", 2);
mes("[A girl]");
mes("Hello! This is the village of Payon. You don't seem to be from around here...");
npctalk(_("A girl : Hello! This is the village of Payon. You don't seem to be from around here..."));
- next;
+ next();
mesf("[%s]", strcharinfo(PC_NAME));
mes("Are you from here? You don't seem to quite match the locals either.");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Are you from here? You don't seem to quite match to locals either."));
- next;
+ next();
mes("[A girl]");
mes("Yes! I was born here! My name is Sara. Sara Irene!");
npctalk(_("A girl : Yes! I was born here! My name is Sara. Sara Irene!"));
- next;
+ next();
mes("[Sara Irene]");
mes("My father is doyen of this village! I just take after my mother.");
npctalk(_("My father is doyen of this village! I just take after my mother."), instance_npcname("Sara Irene#saratalk"));
- next;
+ next();
mesf("[%s]", strcharinfo(PC_NAME));
mes("Oh! I am sorry! Uh... Why are you standing out here all alone?");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Oh! I am sorry! Uh... Why are you standing out here all alone?"));
- next;
+ next();
mes("[Sara Irene]");
mes("I am waiting for my father. He said that he will be here soon.");
npctalk(_("I am waiting for my father. He said that he will be here soon."), instance_npcname("Sara Irene#saratalk"));
- next;
+ next();
mes("^FF0000An older man exits the house. Sara's face brightens at the sight of him.^000000");
- donpcevent instance_npcname("Doyen Irene#sarains")+"::OnEnable";
- next;
+ donpcevent(instance_npcname("Doyen Irene#sarains")+"::OnEnable");
+ next();
mes("[Sara Irene]");
mes("Hi daddy!");
npctalk(_("Hi daddy!"), instance_npcname("Sara Irene#saratalk"));
- next;
- cutin "sara_elder_irine1.bmp", 2;
+ next();
+ cutin("sara_elder_irine1.bmp", 2);
mes("[Doyen Irene]");
mes("Sweetheart you look so happy.");
npctalk(_("Sweetheart you look so happy."), instance_npcname("Doyen Irene#sarains"));
- next;
- cutin "sara_9sara1.bmp", 2;
+ next();
+ cutin("sara_9sara1.bmp", 2);
mes("[Sara Irene]");
mes("You said you would come back soon! I waited for you and you lied!");
npctalk(_("You said you would come back soon! I waited for you and you lied!"), instance_npcname("Sara Irene#saratalk"));
- next;
- cutin "sara_elder_irine1.bmp", 2;
+ next();
+ cutin("sara_elder_irine1.bmp", 2);
mes("[Doyen Irene]");
mes("Sweetheart, I am sorry I made you wait so long. The meeting with the village elders took longer than expected.");
npctalk(_("Sweetheart, I am sorry I made you wait so long. The meeting with the village elders took longer than expected."), instance_npcname("Doyen Irene#sarains"));
- next;
- cutin "sara_9sara1.bmp", 2;
+ next();
+ cutin("sara_9sara1.bmp", 2);
mes("[Sara Irene]");
mes("I hate those old fogeys.");
npctalk(_("I hate those old fogeys."), instance_npcname("Sara Irene#saratalk"));
- next;
- cutin "sara_elder_irine1.bmp", 2;
+ next();
+ cutin("sara_elder_irine1.bmp", 2);
mes("[Doyen Irene]");
mes("Don't say that sweetheart... Who is this with you?");
npctalk(_("Don't say that sweetheart... Who is this with you?"), instance_npcname("Doyen Irene#sarains"));
- next;
+ next();
mes("^FF0000Doyen Irene stares at you with fire in this eyes.^000000");
dispbottom(_("Doyen Irene stares at you with fire in this eyes."));
- next;
+ next();
mes("^FF0000Sara starts humming and singing softly to herself. She picks some wild flowers near by and presents\r"
"them to the Doyen.^000000");
dispbottom(_("Sara starts humming and singing softly to herself. She picks some wild flowers near by and presents them to the Doyen."));
- next;
- cutin "sara_9sara1.bmp", 2;
+ next();
+ cutin("sara_9sara1.bmp", 2);
mes("[Sara Irene]");
mes("Here you go daddy!");
npctalk(_("Here you go daddy!"), instance_npcname("Sara Irene#saratalk"));
- next;
- cutin "sara_elder_irine1.bmp", 2;
+ next();
+ cutin("sara_elder_irine1.bmp", 2);
mes("[Doyen Irene]");
mes("Oh Sara, should I have them?");
npctalk(_("Oh Sara, should I have them?"), instance_npcname("Doyen Irene#sarains"));
- next;
- cutin "sara_9sara1.bmp", 2;
+ next();
+ cutin("sara_9sara1.bmp", 2);
mes("[Sara Irene]");
mes("Of course silly daddy!");
npctalk(_("Of course silly daddy!"), instance_npcname("Sara Irene#saratalk"));
- next;
+ next();
mes("^FF0000After being given the flowers the Doyen's mood seems to greatly improve.^000000");
dispbottom(_("After being given the flowers the Doyen's mood seems to greatly improve."));
- next;
- cutin "sara_elder_irine1.bmp", 2;
+ next();
+ cutin("sara_elder_irine1.bmp", 2);
mes("[Doyen Irene]");
mes("Alright my princess, where should we go now?");
npctalk(_("Alright my princess, where should we go now?"), instance_npcname("Doyen Irene#sarains"));
- next;
- cutin "sara_9sara1.bmp", 2;
+ next();
+ cutin("sara_9sara1.bmp", 2);
mes("[Sara Irene]");
mes("Oh daddy! Let's go to the top of that hill over there!");
npctalk(_("Oh daddy! Let's go to the top of that hill over there!"), instance_npcname("Sara Irene#saratalk"));
- next;
- cutin "sara_elder_irine1.bmp", 2;
+ next();
+ cutin("sara_elder_irine1.bmp", 2);
mes("[Doyen Irene]");
mes("Hah! Hold onto me tight!");
npctalk(_("Hah! Hold onto me tight!"), instance_npcname("Doyen Irene#sarains"));
- next;
- cutin "sara_elder_irine1.bmp", 255;
+ next();
+ cutin("sara_elder_irine1.bmp", 255);
mes("^FF0000As they wander off you hear strange voices from around the corner...^000000");
- donpcevent instance_npcname("Doyen Irene#sarains")+"::OnDisable";
- donpcevent instance_npcname("A girl#sarains")+"::OnDisable";
- dispbottom(_("As they wander off you hear strange voices from around the corner...")),"";
- disablenpc instance_npcname("Sara Irene#saratalk");
- next;
+ donpcevent(instance_npcname("Doyen Irene#sarains")+"::OnDisable");
+ donpcevent(instance_npcname("A girl#sarains")+"::OnDisable");
+ dispbottom(_("As they wander off you hear strange voices from around the corner..."), "");
+ disablenpc(instance_npcname("Sara Irene#saratalk"));
+ next();
mes("[Strange Old Man A]");
mes("I can feel Sara's power growing. We cannot just stand by and let her achieve her full potential!");
npctalk(_("I can feel Sara's power growing. We cannot just stand by and let her achieve her full potential!"), instance_npcname("Strange Old Man A#stalk"));
- next;
+ next();
mes("[Strange Old Man B]");
mes("She was born under a bad sign and her mother isn't even one of us!");
npctalk(_("She was born under a bad sign and her mother isn't even one of us!"), instance_npcname("Strange Old Man B#stalk"));
- next;
+ next();
mes("[Strange Old Man B]");
mes("Someday she will cause blood to flow in our streets.");
npctalk(_("Someday she will cause blood to flow in our streets."), instance_npcname("Strange Old Man B#stalk"));
- next;
+ next();
mes("[Strange Old Man A]");
mes("We have to do something before the Holy creatures select her. I asked HIM to take care of it.");
npctalk(_("We have to do something before the Holy creatures select her. I asked HIM to take care of it."), instance_npcname("Strange Old Man A#stalk"));
- next;
+ next();
mes("[Strange Old Man B]");
mes("We will see... I look forward to hearing the bad news that has befallen her...");
npctalk(_("We will see... I look forward to hearing the bad news that has befallen her..."), instance_npcname("Strange Old Man B#stalk"));
- next;
+ next();
mes("^FF0000The old man wander off it seems Sara might be in danger. We have to do something!^000000");
dispbottom(_("The old man wander off it seems Sara might be in danger. We have to do something!"));
- close2;
- donpcevent instance_npcname("Strange Old Man A#stalk")+"::OnDisable";
- donpcevent instance_npcname("Strange Old Man B#stalk")+"::OnDisable";
- donpcevent instance_npcname("Sara Irene#sarains1")+"::OnEnable";
- donpcevent instance_npcname("#sarawarp1")+"::OnEnable";
- viewpoint 1, 240, 145, 1, C_GREEN;
- specialeffect EF_BASH;
+ close2();
+ donpcevent(instance_npcname("Strange Old Man A#stalk")+"::OnDisable");
+ donpcevent(instance_npcname("Strange Old Man B#stalk")+"::OnDisable");
+ donpcevent(instance_npcname("Sara Irene#sarains1")+"::OnEnable");
+ donpcevent(instance_npcname("#sarawarp1")+"::OnEnable");
+ viewpoint(1, 240, 145, 1, C_GREEN);
+ specialeffect(EF_BASH);
end;
OnInstanceInit:
- donpcevent instance_npcname("A girl#sarains")+"::OnEnable";
+ donpcevent(instance_npcname("A girl#sarains")+"::OnEnable");
end;
OnEnable:
- hideoffnpc instance_npcname("A girl#sarains");
+ hideoffnpc(instance_npcname("A girl#sarains"));
end;
OnDisable:
- hideonnpc instance_npcname("A girl#sarains");
+ hideonnpc(instance_npcname("A girl#sarains"));
end;
}
1@sara,268,158,3 script Doyen Irene#sarains 4_M_CHIEF_IRIN,{
end;
OnInstanceInit:
- donpcevent instance_npcname("Doyen Irene#sarains")+"::OnDisable";
+ donpcevent(instance_npcname("Doyen Irene#sarains")+"::OnDisable");
end;
OnEnable:
- hideoffnpc instance_npcname("Doyen Irene#sarains");
+ hideoffnpc(instance_npcname("Doyen Irene#sarains"));
end;
OnDisable:
- hideonnpc instance_npcname("Doyen Irene#sarains");
+ hideonnpc(instance_npcname("Doyen Irene#sarains"));
end;
}
1@sara,260,156,0 script Sara Irene#saratalk HIDDEN_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#saratalk")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#saratalk")+"::OnDisable");
end;
OnEnable:
- hideoffnpc instance_npcname("Sara Irene#saratalk");
+ hideoffnpc(instance_npcname("Sara Irene#saratalk"));
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#saratalk");
+ hideonnpc(instance_npcname("Sara Irene#saratalk"));
end;
}
-
1@sara,260,156,0 script Strange Old Man A#stalk FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("Strange Old Man A#stalk")+"::OnDisable";
+ donpcevent(instance_npcname("Strange Old Man A#stalk")+"::OnDisable");
end;
OnEnable:
- hideoffnpc instance_npcname("Strange Old Man A#stalk");
+ hideoffnpc(instance_npcname("Strange Old Man A#stalk"));
end;
OnDisable:
- hideonnpc instance_npcname("Strange Old Man A#stalk");
+ hideonnpc(instance_npcname("Strange Old Man A#stalk"));
end;
}
1@sara,260,156,0 script Strange Old Man B#stalk FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("Strange Old Man B#stalk")+"::OnDisable";
+ donpcevent(instance_npcname("Strange Old Man B#stalk")+"::OnDisable");
end;
OnEnable:
- hideoffnpc instance_npcname("Strange Old Man B#stalk");
+ hideoffnpc(instance_npcname("Strange Old Man B#stalk"));
end;
OnDisable:
- hideonnpc instance_npcname("Strange Old Man B#stalk");
+ hideonnpc(instance_npcname("Strange Old Man B#stalk"));
end;
}
1@sara,240,145,0 script #sarawarp1 WARPNPC,1,2,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#sarawarp1")+"::OnDisable";
+ donpcevent(instance_npcname("#sarawarp1")+"::OnDisable");
end;
OnDisable:
- disablenpc instance_npcname("#sarawarp1");
+ disablenpc(instance_npcname("#sarawarp1"));
end;
OnEnable:
- enablenpc instance_npcname("#sarawarp1");
+ enablenpc(instance_npcname("#sarawarp1"));
end;
OnTouch:
.@map$ = instance_mapname("1@sara");
- warp .@map$, 94, 320;
+ warp(.@map$, 94, 320);
end;
}
1@sara,209,250,0 script #sarawarp2 WARPNPC,1,2,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#sarawarp2")+"::OnDisable";
+ donpcevent(instance_npcname("#sarawarp2")+"::OnDisable");
end;
OnDisable:
- disablenpc instance_npcname("#sarawarp2");
+ disablenpc(instance_npcname("#sarawarp2"));
end;
OnEnable:
- enablenpc instance_npcname("#sarawarp2");
+ enablenpc(instance_npcname("#sarawarp2"));
end;
OnTouch:
.@map$ = instance_mapname("1@sara");
- warp .@map$, 230, 316;
+ warp(.@map$, 230, 316);
end;
}
1@sara,226,190,0 script #sarawarp3 WARPNPC,1,2,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#sarawarp3")+"::OnDisable";
+ donpcevent(instance_npcname("#sarawarp3")+"::OnDisable");
end;
OnDisable:
- disablenpc instance_npcname("#sarawarp3");
+ disablenpc(instance_npcname("#sarawarp3"));
end;
OnEnable:
- enablenpc instance_npcname("#sarawarp3");
+ enablenpc(instance_npcname("#sarawarp3"));
end;
OnTouch:
.@map$ = instance_mapname("1@sara");
- warp .@map$, 263, 94;
+ warp(.@map$, 263, 94);
end;
}
1@sara,166,67,0 script #sarawarp4 WARPNPC,1,2,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#sarawarp4")+"::OnDisable";
+ donpcevent(instance_npcname("#sarawarp4")+"::OnDisable");
end;
OnDisable:
- disablenpc instance_npcname("#sarawarp4");
+ disablenpc(instance_npcname("#sarawarp4"));
end;
OnEnable:
- enablenpc instance_npcname("#sarawarp4");
+ enablenpc(instance_npcname("#sarawarp4"));
end;
OnTouch:
.@map$ = instance_mapname("1@sara");
- warp .@map$, 164, 81;
+ warp(.@map$, 164, 81);
end;
}
1@sara,155,180,0 script #sarawarp5 WARPNPC,1,2,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#sarawarp5")+"::OnDisable";
+ donpcevent(instance_npcname("#sarawarp5")+"::OnDisable");
end;
OnDisable:
- disablenpc instance_npcname("#sarawarp5");
+ disablenpc(instance_npcname("#sarawarp5"));
end;
OnEnable:
- enablenpc instance_npcname("#sarawarp5");
+ enablenpc(instance_npcname("#sarawarp5"));
end;
OnTouch:
.@map$ = instance_mapname("1@sara");
- warp .@map$, 155, 196;
+ warp(.@map$, 155, 196);
end;
}
1@sara,88,188,0 script #sarawarp6 WARPNPC,1,2,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#sarawarp6")+"::OnDisable";
+ donpcevent(instance_npcname("#sarawarp6")+"::OnDisable");
end;
OnDisable:
- disablenpc instance_npcname("#sarawarp6");
+ disablenpc(instance_npcname("#sarawarp6"));
end;
OnEnable:
- enablenpc instance_npcname("#sarawarp6");
+ enablenpc(instance_npcname("#sarawarp6"));
end;
OnTouch:
.@map$ = instance_mapname("1@sara");
- warp .@map$, 89, 175;
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY),2))
- viewpoint 1, 39, 142, 1, C_GREEN;
+ warp(.@map$, 89, 175);
+ if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY), 2))
+ viewpoint(1, 39, 142, 1, C_GREEN);
end;
}
1@sara,19,143,0 script #sarawarp7 WARPNPC,1,2,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#sarawarp7")+"::OnDisable";
+ donpcevent(instance_npcname("#sarawarp7")+"::OnDisable");
end;
OnDisable:
- disablenpc instance_npcname("#sarawarp7");
+ disablenpc(instance_npcname("#sarawarp7"));
end;
OnEnable:
- enablenpc instance_npcname("#sarawarp7");
+ enablenpc(instance_npcname("#sarawarp7"));
end;
OnTouch:
- completequest 15003;
- warp "dali", 134, 111;
+ completequest(15003);
+ warp("dali", 134, 111);
end;
}
1@sara,107,325,5 script Sara Irene#sarains1 4_F_SARAH_BABY,{
if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2))
end;
- cutin "sara_9sara1.bmp", 2;
+ cutin("sara_9sara1.bmp", 2);
mes("[Sara Irene]");
mes("Oh! Hello again! I remember you, what's up?");
npctalk(_("Oh! Hello again! I remember you, what's up?"));
- next;
+ next();
mes("[Sara Irene]");
mes("I am here to give flowers to my mommy!");
npctalk(_("I am here to give flowers to my mommy!"));
- next;
+ next();
mes("^FF0000Sara leaps forward to open the door, flowers at the ready.^000000");
dispbottom(_("Sara leaps forward to open the door, flowers at the ready."));
- next;
+ next();
mes("[Sara Irene]");
mes("Mom! Dad! Look what I found!");
npctalk(_("Mom! Dad! Look what I found!"));
- next;
- cutin "sara_9sara1.bmp", 255;
- cutin "sara_momdie.bmp", 4;
+ next();
+ cutin("sara_9sara1.bmp", 255);
+ cutin("sara_momdie.bmp", 4);
mes("^FF0000The door opens to reveal a woman laying dead on the floor and the\r"
"Doyen standing over the woman with a bloody sword.^000000");
dispbottom(_("The door opens to reveal a woman laying dead on the floor and the Doyen standing over the woman with a bloody sword."));
- next;
+ next();
mes("[Sara Irene]");
mes("...");
npctalk("...");
- next;
+ next();
mes("[Sara Irene]");
mes("...");
npctalk("...");
- next;
+ next();
mes("[Sara Irene]");
mes("...");
npctalk("...");
mapannounce(instance_mapname("1@sara"), _("[Sara's Mother] : Sara...Ru-..away..."), bc_map, C_YELLOW);
- next;
+ next();
mes("[Sara Irene]");
mes("...");
npctalk("...");
- next;
+ next();
mes("^FF0000A gem rolls from the womans hand and comes to a rest in front of\r"
"Sara. Unconsciously Sara reaches down and picks up the gem.^000000");
dispbottom(_("A gem rolls from the womans hand and comes to a rest in front of Sara. Unconsciously Sara reaches down and picks up the gem."));
- next;
+ next();
mes("^FF0000The Doyen turns around and notices Sara.^000000");
dispbottom(_("The Doyen turns around and notices Sara."));
- next;
- cutin "sara_momdie.bmp", 255;
- cutin "sara_elder_irine4.bmp", 2;
+ next();
+ cutin("sara_momdie.bmp", 255);
+ cutin("sara_elder_irine4.bmp", 2);
mes("[Doyen Irene]");
mes("Ahh Sara! I was just looking for you...");
npctalk(_("Ahh Sara! I was just looking for you..."), instance_npcname("Doyen Irene#sarains1"));
- next;
- cutin "sara_9sara2.bmp", 2;
+ next();
+ cutin("sara_9sara2.bmp", 2);
mes("[Sara Irene]");
mes("...");
npctalk("...");
- next;
+ next();
select("Escape with Sara.");
mes("[Sara Irene]");
mes("...");
npctalk("...");
- next;
- cutin "sara_elder_irine3.bmp", 2;
+ next();
+ cutin("sara_elder_irine3.bmp", 2);
mes("[Doyen Irene]");
mes("Guards! GUARDS! There is a murderer here! Catch him!");
npctalk(_("Guards! GUARDS! There is a murderer here! Catch him!"), instance_npcname("Doyen Irene#sarains1"));
- next;
+ next();
mes("^FF0000The sound of many pairs of boots can be heard running outside!^000000");
dispbottom(_("The sound of many pairs of boots can be heard running outside!"));
- next;
- cutin "sara_9sara3.bmp", 2;
+ next();
+ cutin("sara_9sara3.bmp", 2);
mes("[Sara Irene]");
mes("Mommy no!!!!!!!!!!!!!!!");
npctalk(_("Mommy no!!!!!!!!!!!!!!!"));
- next;
- cutin "sara_9sara3.bmp", 255;
+ next();
+ cutin("sara_9sara3.bmp", 255);
mes("^FF0000Sara runs aways and the sound of the guards is getting closer...^000000");
dispbottom(_("Sara runs aways and the sound of the guards is getting closer..."));
- close2;
- donpcevent instance_npcname("Sara Irene#sarains1")+"::OnDisable";
- donpcevent instance_npcname("Sara Irene#sarains4")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains5")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains6")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains7")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains8")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains9")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains10")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains11")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains12")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains13")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains14")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains15")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains16")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains17")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains18")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains19")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains20")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains21")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains22")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains23")+"::OnEnable";
- donpcevent instance_npcname("#controlsara")+"::OnEnable";
+ close2();
+ donpcevent(instance_npcname("Sara Irene#sarains1")+"::OnDisable");
+ donpcevent(instance_npcname("Sara Irene#sarains4")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains5")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains6")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains7")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains8")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains9")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains10")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains11")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains12")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains13")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains14")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains15")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains16")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains17")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains18")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains19")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains20")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains21")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains22")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains23")+"::OnEnable");
+ donpcevent(instance_npcname("#controlsara")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains1")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains1")+"::OnDisable");
end;
OnEnable:
- hideoffnpc instance_npcname("Sara Irene#sarains1");
+ hideoffnpc(instance_npcname("Sara Irene#sarains1"));
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains1");
+ hideonnpc(instance_npcname("Sara Irene#sarains1"));
end;
}
1@sara,107,325,0 script Doyen Irene#sarains1 FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("Doyen Irene#sarains1")+"::OnDisable";
+ donpcevent(instance_npcname("Doyen Irene#sarains1")+"::OnDisable");
end;
OnEnable:
- hideoffnpc instance_npcname("Doyen Irene#sarains1");
+ hideoffnpc(instance_npcname("Doyen Irene#sarains1"));
end;
OnDisable:
- hideonnpc instance_npcname("Doyen Irene#sarains1");
+ hideonnpc(instance_npcname("Doyen Irene#sarains1"));
end;
}
1@sara,107,327,0 script #controlsara CLEAR_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#controlsara")+"::OnDisable";
+ donpcevent(instance_npcname("#controlsara")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("#controlsara");
- hideonnpc instance_npcname("#controlsara");
- initnpctimer;
+ enablenpc(instance_npcname("#controlsara"));
+ hideonnpc(instance_npcname("#controlsara"));
+ initnpctimer();
end;
OnDisable:
- disablenpc instance_npcname("#controlsara");
+ disablenpc(instance_npcname("#controlsara"));
end;
OnTimer2000:
mapannounce(instance_mapname("1@sara"), _("<SYSTEM> The guards must be defeated to gain access to the next area."), bc_map, C_YELLOW);
@@ -694,12 +691,12 @@ OnTimer4000:
mapannounce(instance_mapname("1@sara"), _("<SYSTEM> The guards have formed groups of their own to fight you!"), bc_map, C_YELLOW);
end;
OnTimer5000:
- donpcevent instance_npcname("#controlsara")+"::OnRespawn";
- stopnpctimer;
+ donpcevent(instance_npcname("#controlsara")+"::OnRespawn");
+ stopnpctimer();
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
-
+
monster(.@map$, .@x, .@y, _("Maggot"), MG_ARCLOUSE, .@mobs, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
monster(.@map$, 107, 325, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
monster(.@map$, 115, 325, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
@@ -773,11 +770,11 @@ OnMyMobDead:
.@a_mob_num = mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
.@mob_dead_num = .@callnum - .@a_mob_num;
if (.@mob_dead_num > 57) {
- viewpoint 1, 209, 250, 1, C_GREEN;
+ viewpoint(1, 209, 250, 1, C_GREEN);
mapannounce(instance_mapname("1@sara"), _("<SYSTEM> Sara ran away again! You think she went in the 2 O'clock direction!"), bc_map, C_YELLOW);
- donpcevent instance_npcname("#controlsara")+"::OnDisable";
- donpcevent instance_npcname("#controlsara1")+"::OnEnable";
- donpcevent instance_npcname("#sarawarp2")+"::OnEnable";
+ donpcevent(instance_npcname("#controlsara")+"::OnDisable");
+ donpcevent(instance_npcname("#controlsara1")+"::OnEnable");
+ donpcevent(instance_npcname("#sarawarp2")+"::OnEnable");
}
end;
}
@@ -785,15 +782,15 @@ OnMyMobDead:
1@sara,230,316,0 script #controlsara1 CLEAR_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#controlsara1")+"::OnDisable";
+ donpcevent(instance_npcname("#controlsara1")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("#controlsara1");
- hideonnpc instance_npcname("#controlsara1");
- donpcevent instance_npcname("#controlsara1")+"::OnRespawn";
+ enablenpc(instance_npcname("#controlsara1"));
+ hideonnpc(instance_npcname("#controlsara1"));
+ donpcevent(instance_npcname("#controlsara1")+"::OnRespawn");
end;
OnDisable:
- disablenpc instance_npcname("#controlsara1");
+ disablenpc(instance_npcname("#controlsara1"));
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
@@ -825,11 +822,11 @@ OnMyMobDead:
.@b_mob_num = mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
.@mob_dead_num = .@callnum - .@b_mob_num;
if (.@mob_dead_num > 15) {
- viewpoint 1, 226, 190, 1, C_GREEN;
+ viewpoint(1, 226, 190, 1, C_GREEN);
mapannounce(instance_mapname("1@sara"), _("<SYSTEM> Sara ran away yet again! You think she went in the 5 O'clock direction!"), bc_map, C_YELLOW);
- donpcevent instance_npcname("#controlsara1")+"::OnDisable";
- donpcevent instance_npcname("#controlsara2")+"::OnEnable";
- donpcevent instance_npcname("#sarawarp3")+"::OnEnable";
+ donpcevent(instance_npcname("#controlsara1")+"::OnDisable");
+ donpcevent(instance_npcname("#controlsara2")+"::OnEnable");
+ donpcevent(instance_npcname("#sarawarp3")+"::OnEnable");
}
end;
}
@@ -837,15 +834,15 @@ OnMyMobDead:
1@sara,263,94,0 script #controlsara2 CLEAR_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#controlsara2")+"::OnDisable";
+ donpcevent(instance_npcname("#controlsara2")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("#controlsara2");
- hideonnpc instance_npcname("#controlsara2");
- donpcevent instance_npcname("#controlsara2")+"::OnRespawn";
+ enablenpc(instance_npcname("#controlsara2"));
+ hideonnpc(instance_npcname("#controlsara2"));
+ donpcevent(instance_npcname("#controlsara2")+"::OnRespawn");
end;
OnDisable:
- disablenpc instance_npcname("#controlsara2");
+ disablenpc(instance_npcname("#controlsara2"));
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
@@ -909,11 +906,11 @@ OnMyMobDead:
.@c_mob_num = mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
.@mob_dead_num = .@callnum - .@c_mob_num;
if (.@mob_dead_num > 44) {
- viewpoint 1, 166, 67, 1, C_GREEN;
+ viewpoint(1, 166, 67, 1, C_GREEN);
mapannounce(instance_mapname("1@sara"), _("<SYSTEM> Sara ran away yet again! *sigh* You think she went in the 6 O'clock direction!"), bc_map, C_YELLOW);
- donpcevent instance_npcname("#controlsara2")+"::OnDisable";
- donpcevent instance_npcname("#controlsara3")+"::OnEnable";
- donpcevent instance_npcname("#sarawarp4")+"::OnEnable";
+ donpcevent(instance_npcname("#controlsara2")+"::OnDisable");
+ donpcevent(instance_npcname("#controlsara3")+"::OnEnable");
+ donpcevent(instance_npcname("#sarawarp4")+"::OnEnable");
}
end;
}
@@ -921,15 +918,15 @@ OnMyMobDead:
1@sara,164,81,0 script #controlsara3 CLEAR_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#controlsara3")+"::OnDisable";
+ donpcevent(instance_npcname("#controlsara3")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("#controlsara3");
- hideonnpc instance_npcname("#controlsara3");
- donpcevent instance_npcname("#controlsara3")+"::OnRespawn";
+ enablenpc(instance_npcname("#controlsara3"));
+ hideonnpc(instance_npcname("#controlsara3"));
+ donpcevent(instance_npcname("#controlsara3")+"::OnRespawn");
end;
OnDisable:
- disablenpc instance_npcname("#controlsara3");
+ disablenpc(instance_npcname("#controlsara3"));
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
@@ -975,7 +972,7 @@ OnRespawn:
monster(.@map$, 155, 180, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
monster(.@map$, 157, 180, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
monster(.@map$, 159, 180, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
+
monster(.@map$, 173, 139, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
monster(.@map$, 170, 139, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
monster(.@map$, 167, 139, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
@@ -992,15 +989,15 @@ OnMyMobDead:
.@d_mob_num = mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
.@mob_dead_num = .@callnum - .@d_mob_num;
if (.@mob_dead_num > 42) {
- viewpoint 1, 155, 180, 1, C_GREEN;
+ viewpoint(1, 155, 180, 1, C_GREEN);
mapannounce(instance_mapname("1@sara"), _("<SYSTEM> Sara ran away yet again! You think she went in the 12 O'clock direction!"), bc_map, C_YELLOW);
- for (.@i=4; .@i<=23; .@i++) {
- donpcevent instance_npcname("Sara Irene#sarains" + .@i)+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains" + .@i)+"::OnDisable";
+ for (.@i = 4; .@i <= 23; .@i++) {
+ donpcevent(instance_npcname("Sara Irene#sarains" + .@i)+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains" + .@i)+"::OnDisable");
}
- donpcevent instance_npcname("#controlsara3")+"::OnDisable";
- donpcevent instance_npcname("#sarawarp5")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains2")+"::OnEnable";
+ donpcevent(instance_npcname("#controlsara3")+"::OnDisable");
+ donpcevent(instance_npcname("#sarawarp5")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains2")+"::OnEnable");
}
end;
}
@@ -1008,84 +1005,84 @@ OnMyMobDead:
1@sara,152,233,5 script Sara Irene#sarains2 4_F_SARAH_BABY,{
if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2))
end;
- cutin "sara_9sara2.bmp", 2;
+ cutin("sara_9sara2.bmp", 2);
mes("[Sara Irene]");
mes("Mommy!");
npctalk(_("Mommy!"));
- next;
- cutin "sara_elder_irine4.bmp", 2;
+ next();
+ cutin("sara_elder_irine4.bmp", 2);
mes("[Doyen Irene]");
mes("Sara...");
npctalk(_("Sara..."), instance_npcname("Doyen Irene#sarains2"));
- next;
- cutin "sara_9sara2.bmp", 2;
+ next();
+ cutin("sara_9sara2.bmp", 2);
mes("[Sara Irene]");
mes("No!");
npctalk(_("No!"));
- next;
- cutin "sara_elder_irine4.bmp", 2;
+ next();
+ cutin("sara_elder_irine4.bmp", 2);
mes("[Doyen Irene]");
mes("I have been looking for you Sara. Please come with daddy it is very dangerous here!");
npctalk(_("I have been looking for you Sara. Please come with daddy it is very dangerous here!"), instance_npcname("Doyen Irene#sarains2"));
- next;
+ next();
mesf("[%s]", strcharinfo(PC_NAME));
mes("I won't let you take Sara!");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("I won't let you take Sara!"));
- next;
- cutin "sara_elder_irine3.bmp", 2;
+ next();
+ cutin("sara_elder_irine3.bmp", 2);
mes("[Doyen Irene]");
mes("The murderer is here! Guards! We will finish him once and for all!");
npctalk(_("The murderer is here! Guards! We will finish him once and for all!"), instance_npcname("Doyen Irene#sarains2"));
- next;
+ next();
mesf("[%s]", strcharinfo(PC_NAME));
mes("Sara... run! Save yourself!");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sara... run! Save yourself!"));
- next;
- cutin "sara_9sara2.bmp", 2;
+ next();
+ cutin("sara_9sara2.bmp", 2);
mes("[Sara Irene]");
mes("...okay.");
npctalk(_("...okay."));
- close2;
- cutin "sara_9sara2.bmp", 255;
- donpcevent instance_npcname("Sara Irene#sarains2")+"::OnDisable";
- donpcevent instance_npcname("#controlsara4")+"::OnEnable";
+ close2();
+ cutin("sara_9sara2.bmp", 255);
+ donpcevent(instance_npcname("Sara Irene#sarains2")+"::OnDisable");
+ donpcevent(instance_npcname("#controlsara4")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains2")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains2")+"::OnDisable");
end;
OnEnable:
- hideoffnpc instance_npcname("Sara Irene#sarains2");
+ hideoffnpc(instance_npcname("Sara Irene#sarains2"));
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains2");
+ hideonnpc(instance_npcname("Sara Irene#sarains2"));
end;
}
1@sara,152,233,5,0 script Doyen Irene#sarains2 FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("Doyen Irene#sarains2")+"::OnDisable";
+ donpcevent(instance_npcname("Doyen Irene#sarains2")+"::OnDisable");
end;
OnEnable:
- hideoffnpc instance_npcname("Doyen Irene#sarains2");
+ hideoffnpc(instance_npcname("Doyen Irene#sarains2"));
end;
OnDisable:
- hideonnpc instance_npcname("Doyen Irene#sarains2");
+ hideonnpc(instance_npcname("Doyen Irene#sarains2"));
end;
}
1@sara,152,233,0 script #controlsara4 FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#controlsara4")+"::OnDisable";
+ donpcevent(instance_npcname("#controlsara4")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("#controlsara4");
- donpcevent instance_npcname("#controlsara4")+"::OnRespawn";
+ enablenpc(instance_npcname("#controlsara4"));
+ donpcevent(instance_npcname("#controlsara4")+"::OnRespawn");
end;
OnDisable:
- disablenpc instance_npcname("#controlsara4");
+ disablenpc(instance_npcname("#controlsara4"));
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
@@ -1112,9 +1109,9 @@ OnMyMobDead:
.@f_mob_num = mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
.@mob_dead_num = .@callnum - .@f_mob_num;
if (.@mob_dead_num > 7) {
- mapannounce(instance_mapname("1@sara"),_("<SYSTEM> Doyen Irene draws his blade!"), bc_map, C_YELLOW);
- donpcevent instance_npcname("#controlsara4")+"::OnDisable";
- donpcevent instance_npcname("#controlsara5")+"::OnEnable";
+ mapannounce(instance_mapname("1@sara"), _("<SYSTEM> Doyen Irene draws his blade!"), bc_map, C_YELLOW);
+ donpcevent(instance_npcname("#controlsara4")+"::OnDisable");
+ donpcevent(instance_npcname("#controlsara5")+"::OnEnable");
}
end;
}
@@ -1122,14 +1119,14 @@ OnMyMobDead:
1@sara,155,226,0 script #controlsara5 FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("#controlsara5")+"::OnDisable";
+ donpcevent(instance_npcname("#controlsara5")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("#controlsara5");
- donpcevent instance_npcname("#controlsara5")+"::OnRespawn";
+ enablenpc(instance_npcname("#controlsara5"));
+ donpcevent(instance_npcname("#controlsara5")+"::OnRespawn");
end;
OnDisable:
- disablenpc instance_npcname("#controlsara5");
+ disablenpc(instance_npcname("#controlsara5"));
end;
OnRespawn:
.@map$ = instance_mapname("1@sara");
@@ -1143,8 +1140,8 @@ OnMyMobDead:
.@mob_dead_num = .@callnum - .@g_mob_num;
if (.@mob_dead_num > 0) {
mapannounce(instance_mapname("1@sara"), _("<SYSTEM> Doyen Irene has fallen."), bc_map, C_YELLOW);
- donpcevent instance_npcname("#controlsara5")+"::OnDisable";
- donpcevent instance_npcname("Doyen Irene#sarains3")+"::OnEnable";
+ donpcevent(instance_npcname("#controlsara5")+"::OnDisable");
+ donpcevent(instance_npcname("Doyen Irene#sarains3")+"::OnEnable");
}
end;
}
@@ -1152,82 +1149,82 @@ OnMyMobDead:
1@sara,156,236,3 script Doyen Irene#sarains3 4_M_CHIEF_IRIN,{
if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2))
end;
- cutin "sara_elder_irine4.bmp", 2;
+ cutin("sara_elder_irine4.bmp", 2);
mes("[Doyen Irene]");
mes("You... were too strong for me.");
npctalk(_("You... were too strong for me."));
- next;
+ next();
mes("[Doyen Irene]");
mes("Why.. *hack* are you trying to kill my wife and daughter?");
npctalk(_("Why.. *hack* are you trying to kill my wife and daughter?"));
- next;
+ next();
mesf("[%s]", strcharinfo(PC_NAME));
mes("What are you talking about? We saw you standing over Sara's mother with your sword COVERED in blood!");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("What are you talking about? We saw you standing over Sara's mother with your sword COVERED in blood!"));
- next;
+ next();
mes("[Doyen Irene]");
mes("You.. think I killed Sara's mother?");
npctalk(_("You.. think I killed Sara's mother?"));
- next;
+ next();
mes("[Doyen Irene]");
mes("She *cough* had already been killed by an assassin. I slew him that *hack* is why my blade was covered in blood...");
npctalk(_("She *cough* had already been killed by an assassin. I slew him that *hack* is why my blade was covered in blood..."));
- next;
- cutin "sara_elder_irine4.bmp", 255;
- cutin "sara_momdie.bmp", 4;
+ next();
+ cutin("sara_elder_irine4.bmp", 255);
+ cutin("sara_momdie.bmp", 4);
mes("^FF0000Thinking back you seem to recall another body laying in the left\r"
"corner of the room. Maybe that was the assassin the Doyen is talking about.^000000");
dispbottom(_("Thinking back you seem to recall another body laying in the left corner of the room. Maybe that was the assassin the Doyen is talking about."));
- next;
- cutin "sara_momdie.bmp", 255;
- cutin "sara_elder_irine4.bmp", 2;
+ next();
+ cutin("sara_momdie.bmp", 255);
+ cutin("sara_elder_irine4.bmp", 2);
mes("[Doyen Irene]");
mes("If.. you are not the assassin sent to kill my wife and daughter, who are you?");
npctalk(_("If.. you are not the assassin sent to kill my wife and daughter, who are you?"));
- next;
+ next();
mesf("[%s]", strcharinfo(PC_NAME));
mes("I am just an adventurer who was passing through. I heard some men plotting their deaths and needed to intervene.");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("I am just an adventurer who was passing through. I heard some men plotting their deaths and needed to intervene."));
- next;
+ next();
mes("[Doyen Irene]");
mes("If.. you are telling the truth...\r"
"forgive me. I though you were one of them.");
npctalk(_("If.. you are telling the truth... forgive me. I though you were one of them."));
- next;
+ next();
mes("[Doyen Irene]");
mes("Strange men... I bet they were some of the village elders. Ugh...");
npctalk(_("Strange men... I bet they were some of the village elders. Ugh..."));
- next;
+ next();
mesf("[%s]", strcharinfo(PC_NAME));
mes("There might be more assassins so we have to find Sara as fast as we can.");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("There might be more assassins so we have to find Sara as fast as we can."));
- next;
+ next();
mesf("[%s]", strcharinfo(PC_NAME));
mes("Sara believes that you killed her mother. We need to tell her the truth.");
unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sara believes that you killed her mother. We need to tell her the truth."));
- next;
+ next();
mes("[Doyen Irene]");
mes("We must do our best to find her. Let's split up and search for her.\r"
"Please help me find my daughter and explain everything to her.");
npctalk(_("We must do our best to find her. Let's split up and search for her. Please help me find my daughter and explain everything to her."));
- close2;
- cutin "sara_elder_irine4.bmp", 255;
- viewpoint 1, 88, 188, 1, C_GREEN;
+ close2();
+ cutin("sara_elder_irine4.bmp", 255);
+ viewpoint(1, 88, 188, 1, C_GREEN);
mapannounce(instance_mapname("1@sara"), _("<SYSTEM> We must find Sara. You seem remember her running in the 8 O'clock direction."), bc_map, C_YELLOW);
- donpcevent instance_npcname("Doyen Irene#sarains3")+"::OnDisable";
- donpcevent instance_npcname("#sarawarp6")+"::OnEnable";
- donpcevent instance_npcname("????-#saratalk")+"::OnEnable";
- donpcevent instance_npcname("Sara Irene#sarains3")+"::OnEnable";
+ donpcevent(instance_npcname("Doyen Irene#sarains3")+"::OnDisable");
+ donpcevent(instance_npcname("#sarawarp6")+"::OnEnable");
+ donpcevent(instance_npcname("????-#saratalk")+"::OnEnable");
+ donpcevent(instance_npcname("Sara Irene#sarains3")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Doyen Irene#sarains3")+"::OnDisable";
+ donpcevent(instance_npcname("Doyen Irene#sarains3")+"::OnDisable");
end;
OnEnable:
- hideoffnpc instance_npcname("Doyen Irene#sarains3");
+ hideoffnpc(instance_npcname("Doyen Irene#sarains3"));
end;
OnDisable:
- hideonnpc instance_npcname("Doyen Irene#sarains3");
+ hideonnpc(instance_npcname("Doyen Irene#sarains3"));
end;
}
@@ -1236,69 +1233,69 @@ OnDisable:
end;
mes("^FF0000As you are about to call out to Sara a sudden blow knocks you down from behind.^000000");
dispbottom(_("As you are about to call out to Sara a sudden blow knocks you down from behind."));
- next;
- cutin "sara_beholder.bmp", 2;
+ next();
+ cutin("sara_beholder.bmp", 2);
mes("[?????]");
mes("The time travellers cannot interfere any longer. You cannot stop us from meeting Sara.");
npctalk(_("The time travellers cannot interfere any longer. You cannot stop us from meeting Sara."), instance_npcname("????-#saratalk"));
- next;
+ next();
mes("[?????]");
mes("You should go back to the time where you belong.");
npctalk(_("You should go back to the time where you belong."), instance_npcname("????-#saratalk"));
- next;
+ next();
mes("^FF0000As you fall to the ground two dark figures approach Sara.^000000");
dispbottom(_("As you fall to the ground two dark figures approach Sara."));
- next;
+ next();
mes("[?????]");
mes("A girl full of betrayal, despair, and hate. We will guide you to your ultimate fate.");
npctalk(_("A girl full of betrayal, despair, and hate. We will guide you to your ultimate fate."), instance_npcname("????-#saratalk"));
- next;
- cutin "sara_9sara2.bmp", 2;
+ next();
+ cutin("sara_9sara2.bmp", 2);
mes("[Sara Irene]");
mes("...");
npctalk("...");
- next;
- cutin "sara_beholder.bmp", 2;
+ next();
+ cutin("sara_beholder.bmp", 2);
mes("[?????]");
mes("Sara Irene, he will make your dreams come true.");
npctalk(_("Sara Irene, he will make your dreams come true."), instance_npcname("????-#saratalk"));
- next;
- cutin "sara_beholder.bmp", 255;
+ next();
+ cutin("sara_beholder.bmp", 255);
mes("^FF0000One of the cloaked strangers covers Sara with their cloak and all three figures disappear.^000000");
dispbottom(_("One of the cloaked strangers covers Sara with their cloak and all three figures disappear."));
- donpcevent instance_npcname("Sara Irene#sarains3")+"::OnDisable";
- next;
+ donpcevent(instance_npcname("Sara Irene#sarains3")+"::OnDisable");
+ next();
mes("^FF0000At the same time as Sara disappearing this place begin to become unstable, just like what Leon said before.^000000");
dispbottom(_("At the same time as Sara disappearing this place begin to become unstable, just like what Leon said before."));
- next;
+ next();
mes("^FF0000We need to get out from this place quickly to the left. And when we at the outside let's talk to him.^000000");
dispbottom(_("We need to get out from this place quickly to the left. And when we at the outside let's talk to him."));
- close2;
- donpcevent instance_npcname("????-#saratalk")+"::OnDisable";
- donpcevent instance_npcname("#sarawarp7")+"::OnEnable";
+ close2();
+ donpcevent(instance_npcname("????-#saratalk")+"::OnDisable");
+ donpcevent(instance_npcname("#sarawarp7")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains3")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains3")+"::OnDisable");
end;
OnEnable:
- hideoffnpc instance_npcname("Sara Irene#sarains3");
+ hideoffnpc(instance_npcname("Sara Irene#sarains3"));
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains3");
+ hideonnpc(instance_npcname("Sara Irene#sarains3"));
end;
}
1@sara,152,233,0 script ????-#saratalk FAKE_NPC,{
end;
OnInstanceInit:
- donpcevent instance_npcname("????-#saratalk")+"::OnDisable";
+ donpcevent(instance_npcname("????-#saratalk")+"::OnDisable");
end;
OnEnable:
- hideoffnpc instance_npcname("????-#saratalk");
+ hideoffnpc(instance_npcname("????-#saratalk"));
end;
OnDisable:
- hideonnpc instance_npcname("????-#saratalk");
+ hideonnpc(instance_npcname("????-#saratalk"));
end;
}
@@ -1306,23 +1303,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("Why daddy?"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains4")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains4")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains4")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains4")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains4")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains4")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains4");
- hideoffnpc instance_npcname("Sara Irene#sarains4");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains4"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains4"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains4");
- disablenpc instance_npcname("Sara Irene#sarains4");
+ hideonnpc(instance_npcname("Sara Irene#sarains4"));
+ disablenpc(instance_npcname("Sara Irene#sarains4"));
end;
}
@@ -1330,23 +1327,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("Not mommy!"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains5")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains5")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains5")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains5")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains5")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains5")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains5");
- hideoffnpc instance_npcname("Sara Irene#sarains5");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains5"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains5"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains5");
- disablenpc instance_npcname("Sara Irene#sarains5");
+ hideonnpc(instance_npcname("Sara Irene#sarains5"));
+ disablenpc(instance_npcname("Sara Irene#sarains5"));
end;
}
@@ -1354,23 +1351,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("Why did he do it?!"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains6")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains6")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains6")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains6")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains6")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains6")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains6");
- hideoffnpc instance_npcname("Sara Irene#sarains6");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains6"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains6"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains6");
- disablenpc instance_npcname("Sara Irene#sarains6");
+ hideonnpc(instance_npcname("Sara Irene#sarains6"));
+ disablenpc(instance_npcname("Sara Irene#sarains6"));
end;
}
@@ -1378,23 +1375,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("Why.. why?!"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains7")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains7")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains7")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains7")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains7")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains7")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains7");
- hideoffnpc instance_npcname("Sara Irene#sarains7");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains7"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains7"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains7");
- disablenpc instance_npcname("Sara Irene#sarains7");
+ hideonnpc(instance_npcname("Sara Irene#sarains7"));
+ disablenpc(instance_npcname("Sara Irene#sarains7"));
end;
}
@@ -1402,23 +1399,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("Noooo..."));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains8")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains8")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains8")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains8")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains8")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains8")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains8");
- hideoffnpc instance_npcname("Sara Irene#sarains8");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains8"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains8"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains8");
- disablenpc instance_npcname("Sara Irene#sarains8");
+ hideonnpc(instance_npcname("Sara Irene#sarains8"));
+ disablenpc(instance_npcname("Sara Irene#sarains8"));
end;
}
@@ -1426,23 +1423,23 @@ OnDisable:
end;
OnTouch:
npctalk("...");
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains9")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains9")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains9")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains9")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains9")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains9")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains9");
- hideoffnpc instance_npcname("Sara Irene#sarains9");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains9"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains9"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains9");
- disablenpc instance_npcname("Sara Irene#sarains9");
+ hideonnpc(instance_npcname("Sara Irene#sarains9"));
+ disablenpc(instance_npcname("Sara Irene#sarains9"));
end;
}
@@ -1450,23 +1447,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("Why does it hurt so much?"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains10")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains10")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains10")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains10")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains10")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains10")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains10");
- hideoffnpc instance_npcname("Sara Irene#sarains10");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains10"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains10"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains10");
- disablenpc instance_npcname("Sara Irene#sarains10");
+ hideonnpc(instance_npcname("Sara Irene#sarains10"));
+ disablenpc(instance_npcname("Sara Irene#sarains10"));
end;
}
@@ -1474,23 +1471,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("........"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains11")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains11")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains11")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains11")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains11")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains11")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains11");
- hideoffnpc instance_npcname("Sara Irene#sarains11");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains11"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains11"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains11");
- disablenpc instance_npcname("Sara Irene#sarains11");
+ hideonnpc(instance_npcname("Sara Irene#sarains11"));
+ disablenpc(instance_npcname("Sara Irene#sarains11"));
end;
}
@@ -1498,23 +1495,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("...Mommy"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains12")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains12")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains12")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains12")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains12")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains12")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains12");
- hideoffnpc instance_npcname("Sara Irene#sarains12");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains12"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains12"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains12");
- disablenpc instance_npcname("Sara Irene#sarains12");
+ hideonnpc(instance_npcname("Sara Irene#sarains12"));
+ disablenpc(instance_npcname("Sara Irene#sarains12"));
end;
}
@@ -1522,23 +1519,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("What happened to you daddy?"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains13")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains13")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains13")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains13")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains13")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains13")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains13");
- hideoffnpc instance_npcname("Sara Irene#sarains13");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains13"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains13"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains13");
- disablenpc instance_npcname("Sara Irene#sarains13");
+ hideonnpc(instance_npcname("Sara Irene#sarains13"));
+ disablenpc(instance_npcname("Sara Irene#sarains13"));
end;
}
@@ -1546,23 +1543,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("All that blood..."));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains14")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains14")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains14")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains14")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains14")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains14")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains14");
- hideoffnpc instance_npcname("Sara Irene#sarains14");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains14"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains14"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains14");
- disablenpc instance_npcname("Sara Irene#sarains14");
+ hideonnpc(instance_npcname("Sara Irene#sarains14"));
+ disablenpc(instance_npcname("Sara Irene#sarains14"));
end;
}
@@ -1570,23 +1567,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("Who are you?!"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains15")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains15")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains15")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains15")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains15")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains15")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains15");
- hideoffnpc instance_npcname("Sara Irene#sarains15");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains15"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains15"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains15");
- disablenpc instance_npcname("Sara Irene#sarains15");
+ hideonnpc(instance_npcname("Sara Irene#sarains15"));
+ disablenpc(instance_npcname("Sara Irene#sarains15"));
end;
}
@@ -1594,23 +1591,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("I want my mommy!"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains16")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains16")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains16")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains16")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains16")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains16")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains16");
- hideoffnpc instance_npcname("Sara Irene#sarains16");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains16"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains16"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains16");
- disablenpc instance_npcname("Sara Irene#sarains16");
+ hideonnpc(instance_npcname("Sara Irene#sarains16"));
+ disablenpc(instance_npcname("Sara Irene#sarains16"));
end;
}
@@ -1618,23 +1615,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("........"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains17")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains17")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains17")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains17")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains17")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains17")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains17");
- hideoffnpc instance_npcname("Sara Irene#sarains17");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains17"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains17"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains17");
- disablenpc instance_npcname("Sara Irene#sarains17");
+ hideonnpc(instance_npcname("Sara Irene#sarains17"));
+ disablenpc(instance_npcname("Sara Irene#sarains17"));
end;
}
@@ -1642,23 +1639,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("Nooooo..."));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains18")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains18")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains18")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains18")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains18")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains18")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains18");
- hideoffnpc instance_npcname("Sara Irene#sarains18");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains18"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains18"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains18");
- disablenpc instance_npcname("Sara Irene#sarains18");
+ hideonnpc(instance_npcname("Sara Irene#sarains18"));
+ disablenpc(instance_npcname("Sara Irene#sarains18"));
end;
}
@@ -1666,23 +1663,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("Mommy!"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains19")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains19")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains19")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains19")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains19")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains19")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains19");
- hideoffnpc instance_npcname("Sara Irene#sarains19");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains19"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains19"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains19");
- disablenpc instance_npcname("Sara Irene#sarains19");
+ hideonnpc(instance_npcname("Sara Irene#sarains19"));
+ disablenpc(instance_npcname("Sara Irene#sarains19"));
end;
}
@@ -1690,23 +1687,23 @@ OnDisable:
end;
OnTouch:
npctalk("........");
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains20")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains20")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains20")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains20")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains20")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains20")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains20");
- hideoffnpc instance_npcname("Sara Irene#sarains20");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains20"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains20"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains20");
- disablenpc instance_npcname("Sara Irene#sarains20");
+ hideonnpc(instance_npcname("Sara Irene#sarains20"));
+ disablenpc(instance_npcname("Sara Irene#sarains20"));
end;
}
@@ -1714,23 +1711,23 @@ OnDisable:
end;
OnTouch:
npctalk(_("Daddy!"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains21")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains21")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains21")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains21")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains21")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains21")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains21");
- hideoffnpc instance_npcname("Sara Irene#sarains21");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains21"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains21"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains21");
- disablenpc instance_npcname("Sara Irene#sarains21");
+ hideonnpc(instance_npcname("Sara Irene#sarains21"));
+ disablenpc(instance_npcname("Sara Irene#sarains21"));
end;
}
@@ -1738,23 +1735,23 @@ OnDisable:
end;
OnTouch:
npctalk("........");
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains22")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains22")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains22")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains22")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains22")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains22")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains22");
- hideoffnpc instance_npcname("Sara Irene#sarains22");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains22"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains22"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains22");
- disablenpc instance_npcname("Sara Irene#sarains22");
+ hideonnpc(instance_npcname("Sara Irene#sarains22"));
+ disablenpc(instance_npcname("Sara Irene#sarains22"));
end;
}
@@ -1762,22 +1759,22 @@ OnDisable:
end;
OnTouch:
npctalk(_("Why?"));
- initnpctimer;
- donpcevent instance_npcname("Sara Irene#sarains23")+"::OnDisable";
+ initnpctimer();
+ donpcevent(instance_npcname("Sara Irene#sarains23")+"::OnDisable");
end;
OnTimer60000:
- donpcevent instance_npcname("Sara Irene#sarains23")+"::OnEnable";
+ donpcevent(instance_npcname("Sara Irene#sarains23")+"::OnEnable");
end;
OnInstanceInit:
- donpcevent instance_npcname("Sara Irene#sarains23")+"::OnDisable";
+ donpcevent(instance_npcname("Sara Irene#sarains23")+"::OnDisable");
end;
OnEnable:
- enablenpc instance_npcname("Sara Irene#sarains23");
- hideoffnpc instance_npcname("Sara Irene#sarains23");
- stopnpctimer;
+ enablenpc(instance_npcname("Sara Irene#sarains23"));
+ hideoffnpc(instance_npcname("Sara Irene#sarains23"));
+ stopnpctimer();
end;
OnDisable:
- hideonnpc instance_npcname("Sara Irene#sarains23");
- disablenpc instance_npcname("Sara Irene#sarains23");
+ hideonnpc(instance_npcname("Sara Irene#sarains23"));
+ disablenpc(instance_npcname("Sara Irene#sarains23"));
end;
}
diff --git a/npc/re/jobs/2e/kagerou_oboro.txt b/npc/re/jobs/2e/kagerou_oboro.txt
index ae28e7b2d..5c54a0114 100644
--- a/npc/re/jobs/2e/kagerou_oboro.txt
+++ b/npc/re/jobs/2e/kagerou_oboro.txt
@@ -786,208 +786,204 @@ job_ko,81,124,4 script Cougar#ko 4_M_JOB_ASSASSIN,{
warp "amatsu",147,136;
end;
}
- if (job_kagero != 5) {
- goto L_Kick;
- }
- if (MaxWeight - Weight < 1000 || checkweight("Knife",1) == 0) {
- mes "[Cougar]";
- mes "This is a test of knowledge, so why did you bring so many things?";
- close;
- }
- set .@ko_test_01, questprogress(5136);
- set .@ko_test_01_1, questprogress(5139);
- if (.@ko_test_01 == 1 && .@ko_test_01_1 == 0) {
- mes "[Cougar]";
- mes "It's been a while.";
- next;
- select("Aren't you...");
- mes "[Cougar]";
- mes "I remember you from before looking for the way of the ninja.";
- next;
- mes "[Cougar]";
- mes "You've grown this strong already?";
- next;
- mes "[Cougar]";
- mes "Ha ha ha-";
- mes "A truly determined youth! I like that.";
- next;
- mes "[Cougar]";
- mes "Good! The test you are about to take is the ^339CCCTest of Knowledge^000000.";
- next;
- mes "[Cougar]";
- mes "I hope you haven't been lazy with your studies while focusing on getting stronger?";
- next;
- switch(select("Yes", "No")) {
- case 1:
- setquest 5139;
- mes "[Cougar]";
- mes "That's a relief. Let me know when you are ready to start the test.";
- close;
- case 2:
- setquest 5139;
+ if (job_kagero == 5) {
+ if (MaxWeight - Weight < 1000 || checkweight("Knife",1) == 0) {
mes "[Cougar]";
- mes "So you were all talk? Well, let me know when you are ready then.";
+ mes "This is a test of knowledge, so why did you bring so many things?";
close;
}
- } else if (.@ko_test_01 == 1 && .@ko_test_01_1 == 1) {
- mes "[Cougar]";
- mes "I'm ready at my end. Are you ready for the test?";
- next;
- if(select("Yes", "No") == 2) {
+ set .@ko_test_01, questprogress(5136);
+ set .@ko_test_01_1, questprogress(5139);
+ if (.@ko_test_01 == 1 && .@ko_test_01_1 == 0) {
mes "[Cougar]";
- mes "Well, what can I do but wait for you.";
- close;
- }
- mes "[Cougar]";
- mes "This isn't your first test, is it?";
- next;
- mes "[Cougar]";
- mes "You only need to choose the correct answer to my questions.";
- next;
- mes "[Cougar]";
- mes "Let's start.";
- next;
-
- set .@questions,10; // number of questions to ask
-
- // shuffle array an array of questions to be asked
- freeloop(1);
- setarray .@n[0],
- 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50;
- for (set .@i,getarraysize(.@n)-1; .@i>0; set .@i,.@i-1) {
- set .@rand, rand(.@i);
- set .@tmp, .@n[.@i];
- set .@n[.@i], .@n[.@rand];
- set .@n[.@rand], .@tmp;
- }
- deletearray .@n[10],getarraysize(.@n) - .@questions;
- freeloop(0);
-
- set @job_ko_cougar,0;
- for (set .@i,1; .@i<=.@questions; set .@i,.@i+1) {
+ mes "It's been a while.";
+ next;
+ select("Aren't you...");
mes "[Cougar]";
- mes (.@i < .@questions)?"Question number "+.@i+":":"Last question:";
- switch (.@n[.@i-1]) {
- case 1: callsub L_Question,"What is the DEX + LUK total for a Job Master?",2,"8:10:12:14"; break;
- case 2: callsub L_Question,"What is the highest job level for a ninja?",1,"70:50:99:100"; break;
- case 3: callsub L_Question,"How many skill points do you need to master the Throw Coins skill?",3,"25:30:35:37"; break;
- case 4: callsub L_Question,"Which of the following is the correct number of Evasion and effect duration for Mirror Image level 10?",4,"Up to 7 and 200 seconds:Up to 5 and 220 seconds:Up to 6 and 240 seconds:Up to 5 and 240 seconds"; break;
- case 5: callsub L_Question,"How many skill points do you need to master the Cicada Skin Shed?",1,"5:3:1:4"; break;
- case 6: callsub L_Question,"If Dagger Throwing Practice is at 7, how much ATK is added to Shuriken attacks?",2,"18:21:27:30"; break;
- case 7: callsub L_Question,"What is the basic attack range for Throw Shuriken?",3,"7 blocks:8 blocks:9 blocks:10 blocks"; break;
- case 8: callsub L_Question,"What is the maximum moving range of Shadow Leap?",4,"6 blocks:7 blocks:8 blocks:9 blocks"; break;
- case 9: callsub L_Question,"How much money is used for Throw Coins level 6?",4,"2000-8000:1000-6000:3000-8000:3000-6000"; break;
- case 10: callsub L_Question,"What is the most important aspect of increasing ATK for the Killing Strike skill?",2,"VIT:MAXHP:INT:MAXSP"; break;
- case 11: callsub L_Question,"What is not the effect you get after reaching the STR status?",3,"Close range attack increase:Weight limit increase:Magic attack increase:Weapon attack increase"; break;
- case 12: callsub L_Question,"What is not the effect you get after reaching the INT status?",4,"MAXSP increase:MATK increase:Magic damage increase:Staff attack increase"; break;
- case 13: callsub L_Question,"What is not the effect you get after reaching the DEX status?",2,"Casting time decrease:Evasion increase:Accuracy increase:Long range attack increase"; break;
- case 14: callsub L_Question,"What is not the effect you get after reaching the AGI status?",1,"Accuracy increase:Flee increase:Attack speed increase:Delay after attack decrease"; break;
- case 15: callsub L_Question,"What is not the effect you get after reaching the VIT status?",4,"Weapon defense increase:MAXHP increase:Magic defense increase:Attack increase"; break;
- case 16: callsub L_Question,"What is not the effect you get after reaching the LUK status?",3,"Accuracy increase:Complete evasion increase:Magic damage decrease:Critical rate increase"; break;
- case 17: callsub L_Question,"You need to equip a card to your shoes to enhance Killing Strike attack. Which of the following is the appropriate card to equip?",2,"Gold Acidus Card:Matyr Card:Odium of Thantos Card:Eddga Card"; break;
- case 18: callsub L_Question,"You need a catalyst to use ninja skills. Which of the following skills does not need a catalyst?",3,"Blaze Shield:Watery Evasion:Flaming Petals:Snow Flake Draft"; break;
- case 19: callsub L_Question,"How much does STR/INT go up when Ninja Aura level 5 is used?",2,"4:5:6:7"; break;
- case 20: callsub L_Question,"You are hunting the Orc Warrior. Which Kunai would you use? ",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break;
- case 21: callsub L_Question,"Which village is the Ninja Guild located in?",2,"Lutie:Amatsu:Dewata:Comodo"; break;
- case 22: callsub L_Question,"How do Ninjas get promoted?",3,"By Val Kiwi:By Randgris:None:By Valkyrie"; break;
- case 23: callsub L_Question,"What was next to me when you first met me?",4,"A cushion:A folding screen:A flowerpot:A brazier"; break;
- case 24: callsub L_Question,"What is the level of Dagger Throwing Practice you have to reach to learn the Killing Strike skill?",1,"7:5:6:8"; break;
- case 25: callsub L_Question,"How many hits does a Throw Kunai give to a monster?",2,"2:3:4:5"; break;
- case 26: callsub L_Question,"When your First Wind is at level 4, what will go with the MATK and range?",3,"MATK400, 8 blocks:MATK500, 7 blocks:MATK500, 8 blocks:MATK400, 7 blocks"; break;
- case 27: callsub L_Question,"Which of the following skills can't you learn at Dagger Throwing Practice level 7?",4,"Throw Kunai:Throw Huuma Shuriken:Killing Strike:Throw Coins"; break;
- case 28: callsub L_Question,"What level do you have to be in Dagger Throwing Practice in order to learn the Throw Coins skill?",4,"4:6:8:10"; break;
- case 29: callsub L_Question,"What is the attack range for the Exploding Dragon?",3,"3*3:4*4:5*5:6*6"; break;
- case 30: callsub L_Question,"How long is the effect time for the Watery Evasion level 7 skill?",2,"40 seconds:45 seconds:50 seconds:55 seconds"; break;
- case 31: callsub L_Question,"What is the attack effect for Haze Slasher level 4?",1,"140%:150%:160%:170%"; break;
- case 32: callsub L_Question,"How much power is in the Huuma Blaze Shuriken weapon?",1,"Fireball 5 , DEX-2:Fireball 5 , DEX-3:Fireball 4 , DEX-2:Fireball 4 , DEX-3"; break;
- case 33: callsub L_Question,"How much power is in the Murasame weapon?",2,"Human attack 10%:Human critical +10:Demon attack 10%:Demon critical +10"; break;
- case 34: callsub L_Question,"What is the maximum hit number for Blaze Shield level 10?",3,"7:8:9:10"; break;
- case 35: callsub L_Question,"What is the property of the Lightning Jolt?",4,"Fire:Water:Ground:Wind"; break;
- case 36: callsub L_Question,"You are creating a weapon for small monsters. What is the best card to use?",4,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
- case 37: callsub L_Question,"You are creating a weapon for mid-sized monsters. What is the best card to use?",3,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
- case 38: callsub L_Question,"You are creating a weapon for huge monsters. What is the best card to use?",2,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
- case 39: callsub L_Question,"Which NPC promotes you?",1,"Valkyrie:Val Kiwi:Balp Hiri:Elephant"; break;
- case 40: callsub L_Question,"Which catalyst do you need to use the Blaze Shield skill?",2,"Ice Stone:Flame Stone:Wind Stone:Earth Stone"; break;
- case 41: callsub L_Question,"Which of the following is not an effect of the Watery Evasion skill?",4,"Movement speed decrease:Waterball availability:Holy Water craftability:VIT decrease"; break;
- case 42: callsub L_Question,"Which of the following matches are incorrect for skill and property?",3,"Flaming Petals-Fire:Snow Flake Draft-Water:Freezing Spear-Ground:Lightning Jolt-Wind"; break;
- case 43: callsub L_Question,"Which of the following is the best skill to use when attacking a ground property enemy?",2,"First Wind:Exploding Dragon:Snow Flake Draft:Wind Blade"; break;
- case 44: callsub L_Question,"Which Ninja Mastery skill level do you need to learn the Exploding Dragon skill?",1,"10:9:8:1"; break;
- case 45: callsub L_Question,"What is the attack range when you master Flip Tatami?",3,"5:7:3:1"; break;
- case 46: callsub L_Question,"What weapon cannot be made by the blacksmith Khaibara?",4,"Khukri:Murasame:Hakujin:Humma Wing Shuriken"; break;
- case 47: callsub L_Question,"Which of the following correctly matches material needed to make a Icicle Kunai?",2,"4 Nimbus Shuriken, 2 Ice Stone:8 Nimbus Shuriken, 2 Ice Stone:2 Nimbus Shuriken, 1 Ice Stone:1 Nimbus Shuriken, 2 Ice Stone"; break;
- case 48: callsub L_Question,"Which of the following Kunai will give the most damage to the ground property monster, Porcellio?",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break;
- case 49: callsub L_Question,"Which of the following blacksmiths do not create ninja items?",2,"Khaibara:Aiku:Tetsu:Toshu"; break;
- case 50: callsub L_Question,"What is the name of the suspicious man you can meet during the Ninja job change quest?",3,"Red Leopard Jack:Black Leopard Jack:Red Leopard Joe:Black Leopard Joe"; break;
- default:
- mes "[Cougar]";
- mes "An unknown error has occurred.";
- mes "Please contact customer service.";
- close;
- }
- }
- mes "[Cougar]";
- mes "You're through all 10 questions. Wasn't so bad! The important part starts now.";
- next;
- mes "[Cougar]";
- mes "... ... ...";
- next;
- if (@job_ko_cougar < 90) {
+ mes "I remember you from before looking for the way of the ninja.";
+ next;
mes "[Cougar]";
- mes "You fool!!";
- mes "You couldn't even solve these?";
+ mes "You've grown this strong already?";
next;
mes "[Cougar]";
- mes "Can't believe someone who is taking a new path can be so pathetic.";
+ mes "Ha ha ha-";
+ mes "A truly determined youth! I like that.";
next;
mes "[Cougar]";
- mes "I'll give you another chance.";
- mes "You will take the test again with new questions. Better pass it this time.";
- } else {
+ mes "Good! The test you are about to take is the ^339CCCTest of Knowledge^000000.";
+ next;
mes "[Cougar]";
- mes "Hmm. " + (@job_ko_cougar) + "?";
+ mes "I hope you haven't been lazy with your studies while focusing on getting stronger?";
next;
+ switch(select("Yes", "No")) {
+ case 1:
+ setquest 5139;
+ mes "[Cougar]";
+ mes "That's a relief. Let me know when you are ready to start the test.";
+ close;
+ case 2:
+ setquest 5139;
+ mes "[Cougar]";
+ mes "So you were all talk? Well, let me know when you are ready then.";
+ close;
+ }
+ } else if (.@ko_test_01 == 1 && .@ko_test_01_1 == 1) {
mes "[Cougar]";
- mes "Well, looks like you weren't lazy with your studies.";
+ mes "I'm ready at my end. Are you ready for the test?";
next;
+ if(select("Yes", "No") == 2) {
+ mes "[Cougar]";
+ mes "Well, what can I do but wait for you.";
+ close;
+ }
mes "[Cougar]";
- mes "What? Proud of yourself for solving these questions?";
+ mes "This isn't your first test, is it?";
next;
mes "[Cougar]";
- mes "You still have a long way to go and this is only a small fraction of it.";
+ mes "You only need to choose the correct answer to my questions.";
next;
mes "[Cougar]";
- mes "Well... I'm curious how far your strong will can take you through other tests.";
+ mes "Let's start.";
next;
- completequest 5136;
- erasequest 5139;
+
+ set .@questions,10; // number of questions to ask
+
+ // shuffle array an array of questions to be asked
+ freeloop(1);
+ setarray .@n[0],
+ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50;
+ for (set .@i,getarraysize(.@n)-1; .@i>0; set .@i,.@i-1) {
+ set .@rand, rand(.@i);
+ set .@tmp, .@n[.@i];
+ set .@n[.@i], .@n[.@rand];
+ set .@n[.@rand], .@tmp;
+ }
+ deletearray .@n[10],getarraysize(.@n) - .@questions;
+ freeloop(0);
+
+ set @job_ko_cougar,0;
+ for (set .@i,1; .@i<=.@questions; set .@i,.@i+1) {
+ mes "[Cougar]";
+ mes (.@i < .@questions)?"Question number "+.@i+":":"Last question:";
+ switch (.@n[.@i-1]) {
+ case 1: callsub L_Question,"What is the DEX + LUK total for a Job Master?",2,"8:10:12:14"; break;
+ case 2: callsub L_Question,"What is the highest job level for a ninja?",1,"70:50:99:100"; break;
+ case 3: callsub L_Question,"How many skill points do you need to master the Throw Coins skill?",3,"25:30:35:37"; break;
+ case 4: callsub L_Question,"Which of the following is the correct number of Evasion and effect duration for Mirror Image level 10?",4,"Up to 7 and 200 seconds:Up to 5 and 220 seconds:Up to 6 and 240 seconds:Up to 5 and 240 seconds"; break;
+ case 5: callsub L_Question,"How many skill points do you need to master the Cicada Skin Shed?",1,"5:3:1:4"; break;
+ case 6: callsub L_Question,"If Dagger Throwing Practice is at 7, how much ATK is added to Shuriken attacks?",2,"18:21:27:30"; break;
+ case 7: callsub L_Question,"What is the basic attack range for Throw Shuriken?",3,"7 blocks:8 blocks:9 blocks:10 blocks"; break;
+ case 8: callsub L_Question,"What is the maximum moving range of Shadow Leap?",4,"6 blocks:7 blocks:8 blocks:9 blocks"; break;
+ case 9: callsub L_Question,"How much money is used for Throw Coins level 6?",4,"2000-8000:1000-6000:3000-8000:3000-6000"; break;
+ case 10: callsub L_Question,"What is the most important aspect of increasing ATK for the Killing Strike skill?",2,"VIT:MAXHP:INT:MAXSP"; break;
+ case 11: callsub L_Question,"What is not the effect you get after reaching the STR status?",3,"Close range attack increase:Weight limit increase:Magic attack increase:Weapon attack increase"; break;
+ case 12: callsub L_Question,"What is not the effect you get after reaching the INT status?",4,"MAXSP increase:MATK increase:Magic damage increase:Staff attack increase"; break;
+ case 13: callsub L_Question,"What is not the effect you get after reaching the DEX status?",2,"Casting time decrease:Evasion increase:Accuracy increase:Long range attack increase"; break;
+ case 14: callsub L_Question,"What is not the effect you get after reaching the AGI status?",1,"Accuracy increase:Flee increase:Attack speed increase:Delay after attack decrease"; break;
+ case 15: callsub L_Question,"What is not the effect you get after reaching the VIT status?",4,"Weapon defense increase:MAXHP increase:Magic defense increase:Attack increase"; break;
+ case 16: callsub L_Question,"What is not the effect you get after reaching the LUK status?",3,"Accuracy increase:Complete evasion increase:Magic damage decrease:Critical rate increase"; break;
+ case 17: callsub L_Question,"You need to equip a card to your shoes to enhance Killing Strike attack. Which of the following is the appropriate card to equip?",2,"Gold Acidus Card:Matyr Card:Odium of Thantos Card:Eddga Card"; break;
+ case 18: callsub L_Question,"You need a catalyst to use ninja skills. Which of the following skills does not need a catalyst?",3,"Blaze Shield:Watery Evasion:Flaming Petals:Snow Flake Draft"; break;
+ case 19: callsub L_Question,"How much does STR/INT go up when Ninja Aura level 5 is used?",2,"4:5:6:7"; break;
+ case 20: callsub L_Question,"You are hunting the Orc Warrior. Which Kunai would you use? ",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break;
+ case 21: callsub L_Question,"Which village is the Ninja Guild located in?",2,"Lutie:Amatsu:Dewata:Comodo"; break;
+ case 22: callsub L_Question,"How do Ninjas get promoted?",3,"By Val Kiwi:By Randgris:None:By Valkyrie"; break;
+ case 23: callsub L_Question,"What was next to me when you first met me?",4,"A cushion:A folding screen:A flowerpot:A brazier"; break;
+ case 24: callsub L_Question,"What is the level of Dagger Throwing Practice you have to reach to learn the Killing Strike skill?",1,"7:5:6:8"; break;
+ case 25: callsub L_Question,"How many hits does a Throw Kunai give to a monster?",2,"2:3:4:5"; break;
+ case 26: callsub L_Question,"When your First Wind is at level 4, what will go with the MATK and range?",3,"MATK400, 8 blocks:MATK500, 7 blocks:MATK500, 8 blocks:MATK400, 7 blocks"; break;
+ case 27: callsub L_Question,"Which of the following skills can't you learn at Dagger Throwing Practice level 7?",4,"Throw Kunai:Throw Huuma Shuriken:Killing Strike:Throw Coins"; break;
+ case 28: callsub L_Question,"What level do you have to be in Dagger Throwing Practice in order to learn the Throw Coins skill?",4,"4:6:8:10"; break;
+ case 29: callsub L_Question,"What is the attack range for the Exploding Dragon?",3,"3*3:4*4:5*5:6*6"; break;
+ case 30: callsub L_Question,"How long is the effect time for the Watery Evasion level 7 skill?",2,"40 seconds:45 seconds:50 seconds:55 seconds"; break;
+ case 31: callsub L_Question,"What is the attack effect for Haze Slasher level 4?",1,"140%:150%:160%:170%"; break;
+ case 32: callsub L_Question,"How much power is in the Huuma Blaze Shuriken weapon?",1,"Fireball 5 , DEX-2:Fireball 5 , DEX-3:Fireball 4 , DEX-2:Fireball 4 , DEX-3"; break;
+ case 33: callsub L_Question,"How much power is in the Murasame weapon?",2,"Human attack 10%:Human critical +10:Demon attack 10%:Demon critical +10"; break;
+ case 34: callsub L_Question,"What is the maximum hit number for Blaze Shield level 10?",3,"7:8:9:10"; break;
+ case 35: callsub L_Question,"What is the property of the Lightning Jolt?",4,"Fire:Water:Ground:Wind"; break;
+ case 36: callsub L_Question,"You are creating a weapon for small monsters. What is the best card to use?",4,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
+ case 37: callsub L_Question,"You are creating a weapon for mid-sized monsters. What is the best card to use?",3,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
+ case 38: callsub L_Question,"You are creating a weapon for huge monsters. What is the best card to use?",2,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break;
+ case 39: callsub L_Question,"Which NPC promotes you?",1,"Valkyrie:Val Kiwi:Balp Hiri:Elephant"; break;
+ case 40: callsub L_Question,"Which catalyst do you need to use the Blaze Shield skill?",2,"Ice Stone:Flame Stone:Wind Stone:Earth Stone"; break;
+ case 41: callsub L_Question,"Which of the following is not an effect of the Watery Evasion skill?",4,"Movement speed decrease:Waterball availability:Holy Water craftability:VIT decrease"; break;
+ case 42: callsub L_Question,"Which of the following matches are incorrect for skill and property?",3,"Flaming Petals-Fire:Snow Flake Draft-Water:Freezing Spear-Ground:Lightning Jolt-Wind"; break;
+ case 43: callsub L_Question,"Which of the following is the best skill to use when attacking a ground property enemy?",2,"First Wind:Exploding Dragon:Snow Flake Draft:Wind Blade"; break;
+ case 44: callsub L_Question,"Which Ninja Mastery skill level do you need to learn the Exploding Dragon skill?",1,"10:9:8:1"; break;
+ case 45: callsub L_Question,"What is the attack range when you master Flip Tatami?",3,"5:7:3:1"; break;
+ case 46: callsub L_Question,"What weapon cannot be made by the blacksmith Khaibara?",4,"Khukri:Murasame:Hakujin:Humma Wing Shuriken"; break;
+ case 47: callsub L_Question,"Which of the following correctly matches material needed to make a Icicle Kunai?",2,"4 Nimbus Shuriken, 2 Ice Stone:8 Nimbus Shuriken, 2 Ice Stone:2 Nimbus Shuriken, 1 Ice Stone:1 Nimbus Shuriken, 2 Ice Stone"; break;
+ case 48: callsub L_Question,"Which of the following Kunai will give the most damage to the ground property monster, Porcellio?",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break;
+ case 49: callsub L_Question,"Which of the following blacksmiths do not create ninja items?",2,"Khaibara:Aiku:Tetsu:Toshu"; break;
+ case 50: callsub L_Question,"What is the name of the suspicious man you can meet during the Ninja job change quest?",3,"Red Leopard Jack:Black Leopard Jack:Red Leopard Joe:Black Leopard Joe"; break;
+ default:
+ mes "[Cougar]";
+ mes "An unknown error has occurred.";
+ mes "Please contact customer service.";
+ close;
+ }
+ }
+ mes "[Cougar]";
+ mes "You're through all 10 questions. Wasn't so bad! The important part starts now.";
+ next;
+ mes "[Cougar]";
+ mes "... ... ...";
+ next;
+ if (@job_ko_cougar < 90) {
+ mes "[Cougar]";
+ mes "You fool!!";
+ mes "You couldn't even solve these?";
+ next;
+ mes "[Cougar]";
+ mes "Can't believe someone who is taking a new path can be so pathetic.";
+ next;
+ mes "[Cougar]";
+ mes "I'll give you another chance.";
+ mes "You will take the test again with new questions. Better pass it this time.";
+ } else {
+ mes "[Cougar]";
+ mes "Hmm. " + (@job_ko_cougar) + "?";
+ next;
+ mes "[Cougar]";
+ mes "Well, looks like you weren't lazy with your studies.";
+ next;
+ mes "[Cougar]";
+ mes "What? Proud of yourself for solving these questions?";
+ next;
+ mes "[Cougar]";
+ mes "You still have a long way to go and this is only a small fraction of it.";
+ next;
+ mes "[Cougar]";
+ mes "Well... I'm curious how far your strong will can take you through other tests.";
+ next;
+ completequest 5136;
+ erasequest 5139;
+ mes "[Cougar]";
+ mes "I'll let you go now so go report back to Guide Gion with your results.";
+ close2;
+ warp "job_ko",16,113;
+ end;
+ }
+ set @job_ko_cougar,0;
+ close;
+ } else if (.@ko_test_01 == 2 && .@ko_test_01_1 == 0) {
mes "[Cougar]";
mes "I'll let you go now so go report back to Guide Gion with your results.";
close2;
warp "job_ko",16,113;
end;
}
- set @job_ko_cougar,0;
- close;
- } else if (.@ko_test_01 == 2 && .@ko_test_01_1 == 0) {
- mes "[Cougar]";
- mes "I'll let you go now so go report back to Guide Gion with your results.";
- close2;
- warp "job_ko",16,113;
- end;
- } else {
- L_Kick:
- mes "[Cougar]";
- mes "How did you get here?";
- next;
- mes "[Cougar]";
- mes "It's my duty to get rid of you.";
- mes "^000099(He's a short, silent man.)^000000";
- mes "This will push you back!";
- close2;
- warp "amatsu",147,136;
- end;
}
+ mes "[Cougar]";
+ mes "How did you get here?";
+ next;
+ mes "[Cougar]";
+ mes "It's my duty to get rid of you.";
+ mes "^000099(He's a short, silent man.)^000000";
+ mes "This will push you back!";
+ close2;
+ warp "amatsu",147,136;
end;
//callsub L_Question,"<Question>",<correct answer choice>,"<Choice 1>:<Choice 2>:<Choice 3>:<Choice 4>";
@@ -1666,7 +1662,7 @@ OnTouch:
next;
switch(select("Try something.", "Do nothing.")) {
case 1:
- specialeffect2 EF_TALK_FROSTJOKE;
+ specialeffect(EF_TALK_FROSTJOKE, AREA, playerattached());
mes "Tried a recent Prontera joke to do something.";
next;
setquest 5141;
@@ -1994,15 +1990,15 @@ job_ko,127,125,4 script Red Leopard Joe#ko 4_M_JOB_ASSASSIN,{
mes "[Red Leopard Joe]";
mes "Let's now create a new prototype weapon.";
next;
- specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_01";
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_01"));
mes "[Red Leopard Joe]";
mes "Feel free to use tools from here, and...";
next;
- specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_02";
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_02"));
mes "[Red Leopard Joe]";
mes "...there...";
next;
- specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_03";
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_03"));
setquest 5142;
mes "[Red Leopard Joe]";
mes "...and everywhere else. Now let's begin!!";
@@ -2187,15 +2183,15 @@ L_Weapon:
next;
switch(select("Crafting tools?", "I don't have enough materials.", "How do you expect me to make a weapon?" + getarg(0))) {
case 1:
- specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_01";
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_01"));
mes "[Red Leopard Joe]";
mes "Feel free to use tools from here, and...";
next;
- specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_02";
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_02"));
mes "[Red Leopard Joe]";
mes "...there...";
next;
- specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_03";
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Crafting Tools#ko_03"));
mes "[Red Leopard Joe]";
mes "...and everywhere else.";
close;
@@ -2203,7 +2199,7 @@ L_Weapon:
mes "[Red Leopard Joe]";
mes "You haven't brought enough materials?";
next;
- specialeffect EF_GUIDEDATTACK,AREA,"Drawer#ko";
+ specialeffect(EF_GUIDEDATTACK, AREA, getnpcid("Drawer#ko"));
mes "[Red Leopard Joe]";
mes "Then we'll have to pay a visit to the village. Try the ^FF0000drawer^000000 over there. It'll take you to the village.";
close;
@@ -2351,7 +2347,7 @@ job_ko,131,124,0 script Crafting Tools#ko_01 CLEAR_NPC,{
if (.@success_pp != 44) set .@success,1;
}
if (.@success) {
- specialeffect2 EF_PERFECTION;
+ specialeffect(EF_PERFECTION, AREA, playerattached());
erasequest 5142;
if (.@weapon_who == 0) {
setquest 5143;
@@ -2365,7 +2361,7 @@ job_ko,131,124,0 script Crafting Tools#ko_01 CLEAR_NPC,{
mes "Let's take it to Red Leopard Joe.";
close;
} else {
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
mes "The weapon was destroyed while doing the finishing touches to it.";
next;
mes "There must have been something missed while creating the weapon. Very sad this happened but you'll have to start all over again.";
@@ -2384,11 +2380,11 @@ L_ForgeWeapon:
set .@i, select("Grind the weapon", "Temper the weapon" + getarg(0));
switch (.@i) {
case 1:
- specialeffect2 EF_DETOXICATION;
+ specialeffect(EF_DETOXICATION, AREA, playerattached());
mes "Ground the weapon.";
break;
case 2:
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
mes "Tempered the weapon.";
break;
case 3:
diff --git a/npc/re/jobs/3-1/archbishop.txt b/npc/re/jobs/3-1/archbishop.txt
index 1a03af44c..e59492ce5 100644
--- a/npc/re/jobs/3-1/archbishop.txt
+++ b/npc/re/jobs/3-1/archbishop.txt
@@ -469,7 +469,7 @@ OnTouch:
mes "- You close your eyes slowly and take a deep breath. -";
next;
mes "- * BLESSING! * -";
- specialeffect2 EF_BLESSING;
+ specialeffect(EF_BLESSING, AREA, playerattached());
next;
mes "Your mind is refreshed with the blessing effect.";
mes "You continue to meditate trying to rid your mind of any ill feelings.";
@@ -525,9 +525,9 @@ OnTouch:
mes "- You bow respectfully holding up a Holy Water and put the glass to your lips. -";
next;
mes "- * ASPERSIO ! * -";
- specialeffect2 EF_ASPERSIO;
+ specialeffect(EF_ASPERSIO, AREA, playerattached());
next;
- specialeffect2 EF_RECOVERY;
+ specialeffect(EF_RECOVERY, AREA, playerattached());
mes ".............................";
next;
mes ".............................";
@@ -546,7 +546,7 @@ OnTouch:
next;
mes "- You breath in deep and start to sing a Gloria.";
mes "A chord crashes out in the spring of Hvergelmir and a waterfall sound gives you a refreshing feeling. -";
- specialeffect2 EF_GLORIA;
+ specialeffect(EF_GLORIA, AREA, playerattached());
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "~Descendants of Heimdal gather under the Ash tree Yggdrasil.~";
@@ -554,7 +554,7 @@ OnTouch:
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "~The Curdan wolf protects me from all threats in the world.~";
- specialeffect2 EF_GLORIA;
+ specialeffect(EF_GLORIA, AREA, playerattached());
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "~The host of ballascalf, rise up from your seat. The whole world shouts for joy.~";
@@ -562,11 +562,11 @@ OnTouch:
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "~The host of a glittering glass, give me a holy prediction.~";
- specialeffect2 EF_GLORIA;
+ specialeffect(EF_GLORIA, AREA, playerattached());
next;
mes "- After you finish the song, you feel light and strong with abundant devotion. -";
- specialeffect2 EF_BLESSING;
- specialeffect2 EF_RESURRECTION;
+ specialeffect(EF_BLESSING, AREA, playerattached());
+ specialeffect(EF_RESURRECTION, AREA, playerattached());
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "That was refreshing.";
@@ -749,7 +749,7 @@ odin_tem02,281,275,3 script Valkyrie Illusion#arch 4_F_VALKYRIE2,{
case 1:
mes "You lose your consciousness while getting a closer view of Valkyrie's Illusion.";
close2;
- specialeffect2 EF_CLOAKING;
+ specialeffect(EF_CLOAKING, AREA, playerattached());
warp "job3_arch01",29,29;
hideonnpc "Valkyrie Illusion#arch";
end;
@@ -1262,7 +1262,7 @@ OnTouch:
mes "So bright and warm....";
next;
mes "- Shoooo -";
- specialeffect EF_CLOAKING,AREA,"Valkyrie Anguhilde#end";
+ specialeffect(EF_CLOAKING, AREA, getnpcid("Valkyrie Anguhilde#end"));
hideonnpc "Valkyrie Anguhilde#end";
emotion e_omg,1;
next;
diff --git a/npc/re/jobs/3-1/guillotine_cross.txt b/npc/re/jobs/3-1/guillotine_cross.txt
index d56aff87d..19f4ac7cf 100644
--- a/npc/re/jobs/3-1/guillotine_cross.txt
+++ b/npc/re/jobs/3-1/guillotine_cross.txt
@@ -35,103 +35,110 @@
//=========================================================================
que_job01,75,96,3 script Guild Member#3rdgc01 4_M_MOCASS1,{
- if (job_3rd_gc == 0) {
- if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) {
- if (BaseLevel >= 99) {
- L_Mission:
- mes "[Ahcart]";
- mes "Finally, it's time...";
- mes "Hey, what's your name?";
- next;
- switch(select(strcharinfo(PC_NAME),".....")) {
- case 1:
+ if (job_3rd_gc == 0 || job_3rd_gc == 1) {
+ if (job_3rd_gc == 0) {
+ if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) {
+ if (BaseLevel < 99) {
mes "[Ahcart]";
- mes strcharinfo(PC_NAME)+"?";
- mes "Got it. I'll remember your name.";
- mes "A master told me that you are a person with ability.";
- break;
- case 2:
- mes "[Ahcart]";
- mes "What? You are a distrustful person.";
- mes "Hmm, whatever.";
- mes "I heard that you are a person with ability.";
- break;
- }
- next;
- mes "[Ahcart]";
- mes "My duty is delivering a guild message to a capable assassin.";
- mes "I think that you are suitable to perform the guild's duty.";
- next;
- mes "[Ahcart]";
- mes "So, would you perform this duty for us?";
- mes "Of course, I'm going to offer a reward for completing your task.";
- next;
- select("What is the request?");
- mes "[Ahcart]";
- mes "It's unclear.";
- mes "I told you. It's a special task.";
- mes "The only thing I know is the condition to bring a person with the master's ability.";
- next;
- mes "[Ahcart]";
- mes "First, one who has patience.";
- mes "Second, one who is quiet.";
- mes "Third, one who is focused.";
- next;
- mes "[Ahcart]";
- mes "What do you think about what I told you?";
- mes "This task means that it needs a person who can perform a task irrespective of their own will.";
- next;
- mes "[Ahcart]";
- mes "It's necessary to keep this request secret.";
- mes "But it's also your duty not to tell anyone.";
- next;
- mes "[Ahcart]";
- mes "This is all your choice.";
- mes "Will you help us with this request?";
- next;
- switch(select("I'll do it.", "Give me time to think.")) {
- case 1:
- mes "[Ahcart]";
- mes "Ok, to Veins.";
- mes "I'll contact them.";
- mes "It's your first duty to go to Veins.";
+ mes "Hmm, you are my peer.";
+ mes "I'm Ahcart. I'm from Veins.";
+ mes "Hmm...";
next;
mes "[Ahcart]";
- mes "You should be able to find it easily.";
- mes "Go now.";
- job_3rd_gc = 3;
- setquest 7101;
- close;
- case 2:
- mes "[Ahcart]";
- mes "Got it.";
- mes "But don't think about it for too long.";
- job_3rd_gc = 2;
+ mes "Of course, a chapter of the assassin guild is not only in Morroc. If you have a chance to go there, visit there.";
+ mes "I think you might go there.";
+ job_3rd_gc = 1;
close;
}
+ } else {
+ mes "[A man of a sharp impression]";
+ mes "....";
+ mes "What the...?";
+ mes "You are not an assassin.";
+ close;
}
+ } else if (job_3rd_gc == 1) {
+ if (BaseLevel < 99) {
+ mes "[Ahcart]";
+ mes "If you become stronger and more skillful, then the assassin's guild will give you a special task.";
+ mes "Go for it.";
+ close;
+ }
+ }
+ mes "[Ahcart]";
+ mes "Finally, it's time...";
+ mes "Hey, what's your name?";
+ next;
+ switch(select(strcharinfo(PC_NAME),".....")) {
+ case 1:
mes "[Ahcart]";
- mes "Hmm, you are my peer.";
- mes "I'm Ahcart. I'm from Veins.";
- mes "Hmm...";
+ mes strcharinfo(PC_NAME)+"?";
+ mes "Got it. I'll remember your name.";
+ mes "A master told me that you are a person with ability.";
+ break;
+ case 2:
+ mes "[Ahcart]";
+ mes "What? You are a distrustful person.";
+ mes "Hmm, whatever.";
+ mes "I heard that you are a person with ability.";
+ break;
+ }
+ next;
+ mes "[Ahcart]";
+ mes "My duty is delivering a guild message to a capable assassin.";
+ mes "I think that you are suitable to perform the guild's duty.";
+ next;
+ mes "[Ahcart]";
+ mes "So, would you perform this duty for us?";
+ mes "Of course, I'm going to offer a reward for completing your task.";
+ next;
+ select("What is the request?");
+ mes "[Ahcart]";
+ mes "It's unclear.";
+ mes "I told you. It's a special task.";
+ mes "The only thing I know is the condition to bring a person with the master's ability.";
+ next;
+ mes "[Ahcart]";
+ mes "First, one who has patience.";
+ mes "Second, one who is quiet.";
+ mes "Third, one who is focused.";
+ next;
+ mes "[Ahcart]";
+ mes "What do you think about what I told you?";
+ mes "This task means that it needs a person who can perform a task irrespective of their own will.";
+ next;
+ mes "[Ahcart]";
+ mes "It's necessary to keep this request secret.";
+ mes "But it's also your duty not to tell anyone.";
+ next;
+ mes "[Ahcart]";
+ mes "This is all your choice.";
+ mes "Will you help us with this request?";
+ next;
+ switch(select("I'll do it.", "Give me time to think.")) {
+ case 1:
+ mes "[Ahcart]";
+ mes "Ok, to Veins.";
+ mes "I'll contact them.";
+ mes "It's your first duty to go to Veins.";
next;
mes "[Ahcart]";
- mes "Of course, a chapter of the assassin guild is not only in Morroc. If you have a chance to go there, visit there.";
- mes "I think you might go there.";
- job_3rd_gc = 1;
+ mes "You should be able to find it easily.";
+ mes "Go now.";
+ job_3rd_gc = 3;
+ setquest 7101;
+ close;
+ case 2:
+ mes "[Ahcart]";
+ mes "Got it.";
+ mes "But don't think about it for too long.";
+ job_3rd_gc = 2;
close;
}
- mes "[A man of a sharp impression]";
- mes "....";
- mes "What the...?";
- mes "You are not an assassin.";
- close;
- } else if (job_3rd_gc == 1) {
- if (BaseLevel >= 99) goto L_Mission;
- mes "[Ahcart]";
- mes "If you become stronger and more skillful, then the assassin's guild will give you a special task.";
- mes "Go for it.";
- close;
+
+
+
+
} else if (job_3rd_gc == 2) {
mes "[Ahcart]";
mes "Have you thought about it more?";
@@ -293,7 +300,7 @@ job3_guil01,82,95,3 script Daora#3rdgc02 4_F_DESERT,{
case 3:
mes "[Daora]";
mes "Don't show me your nervousness!";
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
percentheal -30,0;
close;
case 4:
@@ -348,7 +355,7 @@ job3_guil01,82,95,3 script Daora#3rdgc02 4_F_DESERT,{
mes "[Daora]";
mes "Don't talk to me like I'm one of your friends!";
mes "You have no right to be that way!";
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
percentheal -30,0;
close;
}
@@ -739,7 +746,7 @@ job3_guil01,82,95,3 script Daora#3rdgc02 4_F_DESERT,{
case 2:
mes "[Daora]";
mes "An impertinent fellow!";
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
percentheal -30,0;
close;
}
@@ -850,7 +857,7 @@ job3_guil01,82,95,3 script Daora#3rdgc02 4_F_DESERT,{
case 3:
mes "[Daora]";
mes "Don't show me your nervousness!";
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
percentheal -30,0;
close;
}
@@ -3649,85 +3656,87 @@ job3_guil01,148,53,3 script Bercasell#3rdgc16 4_M_GUILLOTINE,{
next;
switch(select("Yes, change my job.", "I need to think about it.")) {
case 1:
- L_JobChange:
- mes "[Bercasell]";
- mes "You don't regret it?";
- callsub L_Info;
- mes "[Bercasell]";
- mes "You can become a living offensive weapon.";
- mes "Do you really want to become a Guillotine Cross?";
- next;
- switch(select("Yes, change my job.", "I need to rethink it.")) {
- case 1:
- mes "[Bercasell]";
- if (hascashmount()) {
- mes "I cannot perform the job change.";
- mes "Please remove your mount and try again.";
- close;
- } else if (SkillPoint != 0) {
- mes "You still have unspent skill points.";
- mes "Please use all your skill points and try again.";
- close;
- }
- mes "Is your decision final?";
- mes "Good.";
- next;
- mes "[Bercasell]";
- mes "Now, you are an assassin, yet you are not an assassin anymore.";
- mes "You are in the shadows, but it's different from the other shadows.";
- next;
- mes "[Bercasell]";
- mes "Your enemy is everything you can see.";
- mes "Don't forget yourself.";
- mes "A weight of the blood on your weapons.";
- next;
- mes "[Bercasell]";
- mes "Ok, change your clothes to your new uniform.";
- mes "You are now a Guillotine Cross.";
- next;
- mes "[Bercasell]";
- mes "A sword of the shadow...";
- setlook 7,0;
- jobchange roclass(eaclass()|EAJL_THIRD);
- if (questprogress(7096) == 1) {
- job_3rd_gc = 25;
- erasequest 7096;
- } else if (questprogress(7097) == 1) {
- job_3rd_gc = 26;
- erasequest 7097;
- } else if (questprogress(7098) == 1) {
- job_3rd_gc = 27;
- erasequest 7098;
- } else if (questprogress(7099) == 1) {
- job_3rd_gc = 28;
- erasequest 7099;
- }
- getitem Green_Apple_Ring,1;
- getitem Silent_Executer,1;
- next;
- mes "[Bercasell]";
- mes "And... these are presents to celebrate your becoming a Guillotine Cross.";
- close;
- case 2:
- mes "[Bercasell]";
- mes "You are prudent. That's a good thing.";
- mes "I'll wait for the day that you decide to join us as a Guillotine Cross.";
- close;
- }
+ break;
case 2:
mes "[Bercasell]";
mes "You are prudent. That's a good thing.";
mes "I'll wait for the day that you decide to join us as a Guillotine Cross.";
close;
}
+ break;
}
+ break;
case 2:
- goto L_JobChange;
+ break;
case 3:
mes "[Bercasell]";
mes "Don't bother me.";
close;
}
+ mes "[Bercasell]";
+ mes "You don't regret it?";
+ callsub L_Info;
+ mes "[Bercasell]";
+ mes "You can become a living offensive weapon.";
+ mes "Do you really want to become a Guillotine Cross?";
+ next;
+ switch(select("Yes, change my job.", "I need to rethink it.")) {
+ case 1:
+ mes "[Bercasell]";
+ if (hascashmount()) {
+ mes "I cannot perform the job change.";
+ mes "Please remove your mount and try again.";
+ close;
+ } else if (SkillPoint != 0) {
+ mes "You still have unspent skill points.";
+ mes "Please use all your skill points and try again.";
+ close;
+ }
+ mes "Is your decision final?";
+ mes "Good.";
+ next;
+ mes "[Bercasell]";
+ mes "Now, you are an assassin, yet you are not an assassin anymore.";
+ mes "You are in the shadows, but it's different from the other shadows.";
+ next;
+ mes "[Bercasell]";
+ mes "Your enemy is everything you can see.";
+ mes "Don't forget yourself.";
+ mes "A weight of the blood on your weapons.";
+ next;
+ mes "[Bercasell]";
+ mes "Ok, change your clothes to your new uniform.";
+ mes "You are now a Guillotine Cross.";
+ next;
+ mes "[Bercasell]";
+ mes "A sword of the shadow...";
+ setlook 7,0;
+ jobchange roclass(eaclass()|EAJL_THIRD);
+ if (questprogress(7096) == 1) {
+ job_3rd_gc = 25;
+ erasequest 7096;
+ } else if (questprogress(7097) == 1) {
+ job_3rd_gc = 26;
+ erasequest 7097;
+ } else if (questprogress(7098) == 1) {
+ job_3rd_gc = 27;
+ erasequest 7098;
+ } else if (questprogress(7099) == 1) {
+ job_3rd_gc = 28;
+ erasequest 7099;
+ }
+ getitem Green_Apple_Ring,1;
+ getitem Silent_Executer,1;
+ next;
+ mes "[Bercasell]";
+ mes "And... these are presents to celebrate your becoming a Guillotine Cross.";
+ close;
+ case 2:
+ mes "[Bercasell]";
+ mes "You are prudent. That's a good thing.";
+ mes "I'll wait for the day that you decide to join us as a Guillotine Cross.";
+ close;
+ }
}
mes "......";
mes "What can I do for you?";
diff --git a/npc/re/jobs/3-1/ranger.txt b/npc/re/jobs/3-1/ranger.txt
index 78e200843..41e5b476f 100644
--- a/npc/re/jobs/3-1/ranger.txt
+++ b/npc/re/jobs/3-1/ranger.txt
@@ -979,7 +979,7 @@ OnReset:
killmonster "job3_rang02","CallCorrectAnswer#jr::OnMyMobDead";
end;
OnMyMobDead:
- specialeffect2 EF_POTION_CON;
+ specialeffect(EF_POTION_CON, AREA, playerattached());
++$@job_rang_point01;
mapannounce "job3_rang02","Test Supervisor, Notice : Correct Target! You have very good eyesight!",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0
end;
@@ -1069,7 +1069,7 @@ OnReset:
killmonster "job3_rang02","CallWrongAnswer#jr::OnMyMobDead";
end;
OnMyMobDead:
- specialeffect2 EF_DEVIL;
+ specialeffect(EF_DEVIL, AREA, playerattached());
--$@job_rang_point01;
mapannounce "job3_rang02","Test Supervisor, Notice : Wrong Target! Pull yourself together!",bc_map,"0xffb6c1"; //FW_NORMAL 12 0 0
end;
@@ -1186,7 +1186,7 @@ job3_rang02,111,56,3 script Staff Rust#jr_09 4_M_ORIENT02,{
if (job_ranger01 == 6) {
if (countitem(Bombring_Box) < 1) {
percentheal 100,0;
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
mes "[Staff Rust]";
mes "I'll give you the 'Bombring Capsules.";
mes "The 'Bombring Capsules' can be given again only for the one who used it all, so please keep that in mind.";
@@ -1269,7 +1269,7 @@ OnDisable:
end;
OnTouch:
percentheal 10,0;
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
mapannounce "job3_rang02","Test Supervisor, Caution : You are doing well! If you come closer a little more, you should be able to see me.",bc_map,"0x87ceeb"; //FW_NORMAL 12 0 0
end;
OnMyMobDead:
diff --git a/npc/re/jobs/3-1/rune_knight.txt b/npc/re/jobs/3-1/rune_knight.txt
index caa540585..ad8ab8f74 100644
--- a/npc/re/jobs/3-1/rune_knight.txt
+++ b/npc/re/jobs/3-1/rune_knight.txt
@@ -1837,7 +1837,7 @@ job3_rune02,34,46,5 script Captain Tigris#jrt1 4_M_KNIGHT_SILVER,2,2,{
break;
case 3:
mapannounce "job3_rune02","Captain Tigris : Evil demons! I will send you back to your graves!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
- specialeffect2 EF_METEORSTORM;
+ specialeffect(EF_METEORSTORM, AREA, playerattached());
donpcevent "job_rune_edq#1st_tcmc::OnReset";
break;
case 4:
@@ -1928,7 +1928,7 @@ job3_rune02,43,34,1 script Rune Knight Renoa#jrt1 4_M_KNIGHT_GOLD,2,2,{
break;
case 3:
mapannounce "job3_rune02","Rune Knight Renoa : I am faster than all of them! Different then the others!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
- specialeffect2 EF_PIERCESELF;
+ specialeffect(EF_PIERCESELF, AREA, playerattached());
donpcevent "job_rune_edq#1st_tcmc::OnReset";
break;
case 4:
diff --git a/npc/re/jobs/3-1/warlock.txt b/npc/re/jobs/3-1/warlock.txt
index 137eefd40..13f99013b 100644
--- a/npc/re/jobs/3-1/warlock.txt
+++ b/npc/re/jobs/3-1/warlock.txt
@@ -136,7 +136,7 @@ function script F_Warlock {
next;
mes " - The fairy with the green hair chants a spell. - ";
mes " - I feel like something special surrounds me. - ";
- specialeffect2 EF_DISPELL;
+ specialeffect(EF_DISPELL, AREA, playerattached());
next;
mes "[Master]";
mes "Oh, that's interesting.";
diff --git a/npc/re/jobs/3-2/genetic.txt b/npc/re/jobs/3-2/genetic.txt
index cc7874f38..d9fb1bce6 100644
--- a/npc/re/jobs/3-2/genetic.txt
+++ b/npc/re/jobs/3-2/genetic.txt
@@ -189,11 +189,11 @@ job3_gen01,25,58,3 script Devries#gen 4_LGTSCIENCE,{
mes "- Zooooooooooooooooing -";
specialeffect EF_ENDURE;
next;
- specialeffect EF_REPAIRWEAPON,AREA,"#from1to2gen";
+ specialeffect(EF_REPAIRWEAPON, AREA, getnpcid("#from1to2gen"));
mes "- (Screeching Sounds)!!! -";
mes "- (Screeching)!!! -";
next;
- specialeffect EF_CRASHEARTH,AREA,"#from1to2gen";
+ specialeffect(EF_CRASHEARTH, AREA, getnpcid("#from1to2gen"));
mes "- Bump! Bump! Bump! -";
next;
mes "[Devries]";
@@ -451,8 +451,8 @@ job3_gen01,25,58,3 script Devries#gen 4_LGTSCIENCE,{
mes "Damn!";
next;
if (job_gen == 60) {
- specialeffect EF_FLASHER,AREA,"Super Cultivator#gen";
- specialeffect EF_PHARMACY_OK,AREA,"Super Cultivator#gen";
+ specialeffect(EF_FLASHER, AREA, getnpcid("Super Cultivator#gen"));
+ specialeffect(EF_PHARMACY_OK, AREA, getnpcid("Super Cultivator#gen"));
mes "[Devries]";
mes "Popo, look at that!";
mes "That's really a mysterious plant!";
@@ -485,8 +485,8 @@ job3_gen01,25,58,3 script Devries#gen 4_LGTSCIENCE,{
job_gen = 62;
changequest 2215,2216;
} else {
- specialeffect EF_SPELLBREAKER,AREA,"Super Cultivator#gen";
- specialeffect EF_PHARMACY_FAIL,AREA,"Super Cultivator#gen";
+ specialeffect(EF_SPELLBREAKER, AREA, getnpcid("Super Cultivator#gen"));
+ specialeffect(EF_PHARMACY_FAIL, AREA, getnpcid("Super Cultivator#gen"));
mes "[Devries]";
mes "Uh oh! You failed, Popo.";
mes "It didn't grow at all, it's withered already.";
diff --git a/npc/re/jobs/3-2/royal_guard.txt b/npc/re/jobs/3-2/royal_guard.txt
index 7fe7a1d2a..87cf554ad 100644
--- a/npc/re/jobs/3-2/royal_guard.txt
+++ b/npc/re/jobs/3-2/royal_guard.txt
@@ -441,9 +441,9 @@ glast_01,240,366,5 script Memory of King Schmidtz CLEAR_NPC,{
mes "Congratulations! Young Royal Guard.";
mes "Be a symbol of honor and continue the great tradition of your new name.";
close2;
- specialeffect2 EF_MAPPILLAR;
+ specialeffect(EF_MAPPILLAR, AREA, playerattached());
progressbar "FFFF00",7;
- specialeffect2 EF_LORD;
+ specialeffect(EF_LORD, AREA, playerattached());
delitem King_Shield,1;
erasequest 12094;
jobchange roclass(eaclass()|EAJL_THIRD);
@@ -499,7 +499,7 @@ gl_church,158,100,0 script #Clue of traces HIDDEN_NPC,4,4,{
end;
OnTouch:
if (job_royal == 4 && countitem(Saint_Cloth_Piece) == 0) {
- specialeffect2 EF_FREEZE;
+ specialeffect(EF_FREEZE, AREA, playerattached());
mes "I can feel strong power around here. It would be better to explore around here.";
viewpoint 1,173,88 ,1, 0xFFFF00;
viewpoint 1,158,103,2, 0xFFFF00;
diff --git a/npc/re/jobs/3-2/sura.txt b/npc/re/jobs/3-2/sura.txt
index c8f5d1083..4e0108fd8 100644
--- a/npc/re/jobs/3-2/sura.txt
+++ b/npc/re/jobs/3-2/sura.txt
@@ -130,8 +130,8 @@ ve_in,237,125,0 script King Crab#job_shu 1_M_PAY_ELDER,{
next;
mes "[King Crab & Sludge Worm]";
mes "Aaaaaahhhhhhhhk!!!!!!!!";
- specialeffect EF_FIRESPLASHHIT,AREA,"King Crab#job_shu";
- specialeffect EF_FIRESPLASHHIT,AREA,"Sludge Worm#job_shu";
+ specialeffect(EF_FIRESPLASHHIT, AREA, getnpcid("King Crab#job_shu"));
+ specialeffect(EF_FIRESPLASHHIT, AREA, getnpcid("Sludge Worm#job_shu"));
next;
mes "- What is that amazing power? -";
mes "- I've never seen this -";
diff --git a/npc/re/jobs/novice/academy.txt b/npc/re/jobs/novice/academy.txt
index bee91f382..3b260d3db 100644
--- a/npc/re/jobs/novice/academy.txt
+++ b/npc/re/jobs/novice/academy.txt
@@ -44,7 +44,6 @@
iz_int,18,26,0 script startpoint HIDDEN_WARP_NPC,1,1,{
OnTouch:
if (!izintspawn) {
- specialeffect2(EF_ANGEL3); // On official it is some kind of Poring Angel, but I can't find it
navigateto("int_land", NAV_NONE, 1); // individual map name not required
izintspawn = 1;
}
@@ -98,7 +97,9 @@ iz_int,56,32,3 script Wounded Swordsman#izint 4_TOWER_01,8,8,{
end;
OnInit:
- questinfo(21001, QTYPE_QUEST, 1, Job_Novice);
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 21001, 1);
end;
OnTouch_:
@@ -135,11 +136,11 @@ int_land,58,69,5 script Sailor#int_land 4W_SAILOR,{
mes("[Sailor]");
mes("If you want to sail with us to Izlude, jump on board!");
getexp(600, 0);
- specialeffect2(EF_HEAL2);
+ specialeffect(EF_HEAL2, AREA, playerattached());
heal(9999, 0);
- specialeffect2(EF_INCAGILITY);
+ specialeffect(EF_INCAGILITY, AREA, playerattached());
sc_start(SC_INC_AGI, 240000, 10);
- specialeffect2(EF_BLESSING);
+ specialeffect(EF_BLESSING, AREA, playerattached());
sc_start(SC_BLESSING, 240000, 10);
next();
mes("[Sailor]");
@@ -166,7 +167,9 @@ int_land,58,69,5 script Sailor#int_land 4W_SAILOR,{
}
OnInit:
- questinfo(21002, QTYPE_QUEST, 1, Job_Novice);
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 21002, 1);
end;
}
@@ -212,11 +215,11 @@ int_land,78,103,5 script Captain Carocc#int_land 4_M_REINDEER,{
mes("It is hard, but you look tough enough for this task.");
if (questprogress(21001) == 1)
completequest(21001);
- specialeffect2(EF_HEAL2);
+ specialeffect(EF_HEAL2, AREA, playerattached());
heal(9999, 0);
- specialeffect2(EF_INCAGILITY);
+ specialeffect(EF_INCAGILITY, AREA, playerattached());
sc_start(SC_INC_AGI, 240000, 10);
- specialeffect2(EF_BLESSING);
+ specialeffect(EF_BLESSING, AREA, playerattached());
sc_start(SC_BLESSING, 240000, 10);
getexp(600, 0);
setquest(21002);
@@ -241,11 +244,11 @@ int_land,78,103,5 script Captain Carocc#int_land 4_M_REINDEER,{
close();
case 1:
mes("[Captain Carocc]");
- specialeffect2(EF_HEAL2);
+ specialeffect(EF_HEAL2, AREA, playerattached());
heal(9999, 0);
- specialeffect2(EF_INCAGILITY);
+ specialeffect(EF_INCAGILITY, AREA, playerattached());
sc_start(SC_INC_AGI, 240000, 10);
- specialeffect2(EF_BLESSING);
+ specialeffect(EF_BLESSING, AREA, playerattached());
sc_start(SC_BLESSING, 240000, 10);
mes("^4d4dffThe Ship^000000 anchored in the southwest. It will take you to Izlude.");
mes("Don't forget to ^4d4dffget some Lumber^000000 for the ship.");
@@ -264,7 +267,9 @@ int_land,78,103,5 script Captain Carocc#int_land 4_M_REINDEER,{
close();
OnInit:
- questinfo(21002, QTYPE_QUEST, 1, Job_Novice);
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 21002, 1);
end;
}
@@ -366,7 +371,9 @@ int_land,73,100,3 script Lumin#iz_int 4_M_NOV_RUMIN,{
end;
}
OnInit:
- questinfo(7471, QTYPE_QUEST, 1, Job_Novice);
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 7471, 1);
end;
}
@@ -782,7 +789,9 @@ izlude,198,213,3 script Captain Carocc#iz 4_M_REINDEER,5,5,{
end;
OnInit:
- questinfo(7472, QTYPE_QUEST, 1, Job_Novice);
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 7472, 1);
//setquestLevel 7472 1 14
//SetQuestQuest 7472 7473 0
end;
@@ -1103,7 +1112,9 @@ izlude,122,207,3 script Criatura Academy Staff#0 4_M_KHKYEL,3,3,{
}
OnInit:
- questinfo(7473, QTYPE_QUEST, 1, Job_Novice);
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 7473, 1);
//setquestLevel 7473 1 14
end;
@@ -2133,8 +2144,8 @@ iz_ac01,59,43,3 script Therapist#ac 4_M_6THPRIN1,{
mes("[Therapist]");
mes("Recovery ratio is very minimal...");
mes("It can help you avoid dying but won't give you much HP.");
- specialeffect2(EF_BEGINSPELL6);
- specialeffect2(EF_SPELLBREAKER);
+ specialeffect(EF_BEGINSPELL6, AREA, playerattached());
+ specialeffect(EF_SPELLBREAKER, AREA, playerattached());
next();
mes("[Therapist]");
mes("Press ^4d4dffALT + S^000000 to open your Skill window to see your skills.");
@@ -2317,7 +2328,7 @@ izlude,140,249,7 script Academy Student#0 4_M_NOV_RUMIN,{
close();
}
if (questprogress(7478) == 1 && !questprogress(7479)) {
- specialeffect(EF_STEAL, AREA, "Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN));
+ specialeffect(EF_STEAL, AREA, getnpcid("Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN)));
donpcevent("Cultivated Red Plant#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnDisable");
emotion(e_gasp, 1);
emotion(e_heh);
@@ -2581,7 +2592,9 @@ izlude,140,260,3 script Instructor Argos#iz 4_M_LIEMAN,{
}
OnInit:
- questinfo(15001, QTYPE_QUEST, 0, Job_Novice);
+ questinfo(QTYPE_QUEST);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 15001, 1);
end;
}
@@ -2792,7 +2805,9 @@ iz_ac01,100,39,5 script Academy Receptionist#1 4_F_01,{
}
OnInit:
- questinfo(4269, QTYPE_QUEST, 0, Job_Novice);
+ questinfo(QTYPE_QUEST);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 4269, 1);
end;
}
@@ -3318,7 +3333,7 @@ iz_ac01,36,52,3 script Odd Novice#ac 4_M_SIT_NOVICE,{
mes("[Odd Novice]");
mes("OK. Where should I start?");
mes("First, Bash!");
- specialeffect2(EF_BASH);
+ specialeffect(EF_BASH, AREA, playerattached());
next();
mes("[Odd Novice]");
mes("Hehehe.. Surprised?");
@@ -3327,13 +3342,13 @@ iz_ac01,36,52,3 script Odd Novice#ac 4_M_SIT_NOVICE,{
next();
mes("[Odd Novice]");
mes("Looks like you were surprised!");
- specialeffect2(EF_BLESSING);
+ specialeffect(EF_BLESSING, AREA, playerattached());
next();
mes("[Odd Novice]");
mes("Just keep calm");
mes("and have a potion");
mes("But that's not the last of it.");
- specialeffect2(EF_STEAL);
+ specialeffect(EF_STEAL, AREA, playerattached());
next();
mes("[Odd Novice]");
mes("I have stolen one thread of your hair.");
@@ -3669,7 +3684,8 @@ izlude,115,181,5 script Shop Helper#iz 4_F_KHELLISIA,{
}
OnInit:
- questinfo(1237, QTYPE_QUEST, 0);
+ questinfo(QTYPE_QUEST);
+ setquestinfo(QINFO_QUEST, 1237, 1);
end;
}
@@ -3854,7 +3870,8 @@ iz_ac01,53,74,3 script Attribute Expert#ac 1_M_WIZARD,{
}
OnInit:
- questinfo(2299, QTYPE_NONE, 0);
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_QUEST, 2299, 1);
end;
}
@@ -4406,10 +4423,21 @@ iz_ac01,147,50,3 script Dacquoise#ac 4_COOK,{
}
OnInit:
- questinfo(14154, QTYPE_QUEST, 1, Job_Novice);
- questinfo(14155, QTYPE_QUEST, 1, Job_Novice);
- questinfo(14156, QTYPE_QUEST, 1, Job_Novice);
- questinfo(14157, QTYPE_QUEST, 1, Job_Novice);
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 14154, 1);
+
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 14155, 1);
+
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 14156, 1);
+
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 14157, 1);
end;
}
@@ -4904,7 +4932,8 @@ iz_ac01,45,80,5 script Adept Adventurer#ac 4_M_JOB_BLACKSMITH,{
}
OnInit:
- questinfo(2298, QTYPE_QUEST, 0);
+ questinfo(QTYPE_QUEST);
+ setquestinfo(QINFO_QUEST, 2298, 1);
end;
}
@@ -5664,7 +5693,7 @@ izlude,95,146,5 script Mom#iz 4_F_CAVE1,{
mes("^0000cd[Come to me, honey~]^000000");
next();
enablenpc("Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN));
- specialeffect(EF_PORTAL, AREA, "Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN));
+ specialeffect(EF_PORTAL, AREA, getnpcid("Etinifni#"+strnpcinfo(NPC_NAME_HIDDEN)));
mes("[Etinifni]");
mes("What's up? Where am I?");
next();
@@ -5750,7 +5779,7 @@ izlude,99,138,3 script Romantic Male#iz 4_M_SITDOWN,{
mes("[Romantic Male]");
mes("Are you lifting up our good old memories renting my wedding dress and your tuxedo!! It will strenghthen our relationship, won't it?");
next();
- specialeffect(EF_HEARTCASTING, AREA, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
+ specialeffect(EF_HEARTCASTING, AREA, getnpcid("Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN)));
emotion(e_kis, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
mes("[Romantic Male]");
mes("Honey~~ I love you!! Sweetheart~");
@@ -5784,7 +5813,7 @@ izlude,97,138,5 script Romantic Female#iz 4_F_SITDOWN,{
mes("[Romantic Female]");
mes("You are tired of sitting, aren't you?");
next();
- specialeffect(EF_HEARTCASTING, AREA, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
+ specialeffect(EF_HEARTCASTING, AREA, getnpcid("Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN)));
emotion(e_kis, 0, "Romantic Female#"+strnpcinfo(NPC_NAME_HIDDEN));
mes("[Romantic Female]");
mes("My sweetheart!!! I love you!!!");
@@ -5792,7 +5821,7 @@ izlude,97,138,5 script Romantic Female#iz 4_F_SITDOWN,{
mes("[Romantic Male]");
mes("Yes, thank you for sharing your SP! You are also tired, aren't you?");
next();
- specialeffect(EF_HEARTCASTING, AREA, "Romantic Male#"+strnpcinfo(NPC_NAME_HIDDEN));
+ specialeffect(EF_HEARTCASTING, AREA, getnpcid("Romantic Male#"+strnpcinfo(NPC_NAME_HIDDEN)));
emotion(e_kis2, 0, "Romantic Male#"+strnpcinfo(NPC_NAME_HIDDEN));
mes("[Romantic Male]");
mes("My sweetheart!! I love you!!!");
@@ -8482,7 +8511,7 @@ iz_ac02,70,85,5 script Arang#ac 4_F_TAEKWON,{
cutin("arang03", 0);
next();
mes("Suddenly, you see Arang's foot flying towards you.");
- specialeffect2(EF_TRIPLEATTACK);
+ specialeffect(EF_TRIPLEATTACK, AREA, playerattached());
emotion(e_wah, 1);
next();
cutin("", 255);
@@ -11927,8 +11956,8 @@ iz_ac02,62,139,3 script Lumin#ac 4_M_NOV_RUMIN,{
next();
cutin("", 255);
mes("Lumin changing clothes piece by piece.");
- specialeffect2(EF_SPHERE);
- specialeffect2(EF_SPHERE);
+ specialeffect(EF_SPHERE, AREA, playerattached());
+ specialeffect(EF_SPHERE, AREA, playerattached());
classchange(4_M_THIEF_RUMIN, 0);
next();
cutin("thf_lumin01", 2);
@@ -11941,8 +11970,8 @@ iz_ac02,62,139,3 script Lumin#ac 4_M_NOV_RUMIN,{
mes("Forget what you saw today, as I have to introduce to the way of Thief Guild as many people as possible.");
cutin("thf_lumin05", 2);
close2();
- specialeffect2(EF_SPHERE);
- specialeffect2(EF_SPHERE);
+ specialeffect(EF_SPHERE, AREA, playerattached());
+ specialeffect(EF_SPHERE, AREA, playerattached());
classchange(4_M_NOV_RUMIN, 0);
cutin("", 255);
end;
@@ -13775,7 +13804,7 @@ izlude,96,125,7 script Enchanter Mounds#iz 4_CAT_SAILOR2,{
mes("[Mounds]");
mes("One! Two! Three!");
next();
- specialeffect2(EF_SANCTUARY);
+ specialeffect(EF_SANCTUARY, AREA, playerattached());
completequest(5158);
delitem(Cotton_Shirt, 1); // Cotton_Shirt
getitem(Cotton_Shirt_, 1); // Cotton_Shirt_
@@ -14036,7 +14065,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
mes("[Almond J]");
mes("Now!! Start the first hidden enchant!! Start!!!!!");
next();
- specialeffect2(EF_REPAIRWEAPON);
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
progressbar "ffff00", 2;
completequest(5159);
delequip .@part;
@@ -14169,7 +14198,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
mes("[Almond J]");
mes("It is a good weapon Then!! Let's start the hidden enchant!!");
next();
- specialeffect2(EF_REPAIRWEAPON);
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
progressbar "ffff00", 3;
delequip .@part;
getitem2(.@equip,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@enchant1,.@enchant2);
diff --git a/npc/re/jobs/novice/novice.txt b/npc/re/jobs/novice/novice.txt
index 6ac0d9935..18ba3fbe1 100644
--- a/npc/re/jobs/novice/novice.txt
+++ b/npc/re/jobs/novice/novice.txt
@@ -544,8 +544,8 @@ new_5-2,100,105,3 duplicate(NvBradeA) Brade#nv5a 4_M_JOB_KNIGHT1
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;
+ specialeffect(EF_BEGINSPELL6, AREA, playerattached());
+ specialeffect(EF_SPELLBREAKER, AREA, playerattached());
next;
mes "[Jinha]";
mes "You can open the Skill Window by pressing the ^4d4dffskill^000000 button in the Basic Window.";
diff --git a/npc/re/jobs/novice/supernovice_ex.txt b/npc/re/jobs/novice/supernovice_ex.txt
index 04c9395c1..74328278f 100644
--- a/npc/re/jobs/novice/supernovice_ex.txt
+++ b/npc/re/jobs/novice/supernovice_ex.txt
@@ -484,9 +484,9 @@ beach_dun2,119,92,4 script Fishing Novice#sp2 4_M_SIT_NOVICE,{
mes "I can't make you stronger until you use those points.";
close;
}
- specialeffect2 EF_LORD;
- specialeffect2 EF_SIGHTRASHER;
- specialeffect2 EF_STORMGUST;
+ specialeffect(EF_LORD, AREA, playerattached());
+ specialeffect(EF_SIGHTRASHER, AREA, playerattached());
+ specialeffect(EF_STORMGUST, AREA, playerattached());
erasequest 5100;
mes "[Nodor]";
mes "Haha ------------- !!";
@@ -586,7 +586,7 @@ beach_dun2,119,92,4 script Fishing Novice#sp2 4_M_SIT_NOVICE,{
mes "[Nodor]";
mes "Now I am going to say greetings again.";
next;
- specialeffect2 EF_RECOVERY;
+ specialeffect(EF_RECOVERY, AREA, playerattached());
mes "[Nodor]";
mes "Let Super Novice "+strcharinfo(PC_NAME)+" be blessed with the Super Novice Guardian!";
EXSUPNOV_Q = 6;
diff --git a/npc/re/jobs/repair.txt b/npc/re/jobs/repair.txt
index 2dae1bcaf..7acd3b606 100644
--- a/npc/re/jobs/repair.txt
+++ b/npc/re/jobs/repair.txt
@@ -86,7 +86,7 @@ prt_in,38,104,4 script Valerie 4_F_VALKYRIE,{
mes "I understand. I will see you next time";
close;
}
- specialeffect2 EF_INVENOM;
+ specialeffect(EF_INVENOM, AREA, playerattached());
progressbar "0xffff00",3;
// Warlock - quest items
diff --git a/npc/re/merchants/advanced_refiner.txt b/npc/re/merchants/advanced_refiner.txt
index 1484d069c..5b3f69593 100644
--- a/npc/re/merchants/advanced_refiner.txt
+++ b/npc/re/merchants/advanced_refiner.txt
@@ -140,7 +140,7 @@ malangdo,221,174,6 script Holink#mal_cash 4_CAT_ADV1,{
mes "You don't belive in refine master Holink, meow?~";
close;
}
- if (getequippercentrefinery(.@part) < 100) {
+ if (getequippercentrefinery(.@part, REFINE_CHANCE_TYPE_ENRICHED) < 100) {
mes "[Holink]";
mes "Meow!!";
if (.@type$ == "armor")
@@ -177,7 +177,7 @@ malangdo,221,174,6 script Holink#mal_cash 4_CAT_ADV1,{
}
delitem .@material,1;
Zeny -= .@price;
- if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {
+ if (getequippercentrefinery(.@part, REFINE_CHANCE_TYPE_ENRICHED) > rand(100)) {
successrefitem .@part;
mes "[Holink]";
mes "Me~ Me~ Meow! Fun fun refining~";
diff --git a/npc/re/merchants/blessed_refiner.txt b/npc/re/merchants/blessed_refiner.txt
index 369d476a5..6e548e25b 100644
--- a/npc/re/merchants/blessed_refiner.txt
+++ b/npc/re/merchants/blessed_refiner.txt
@@ -172,7 +172,7 @@
close;
}
specialeffect EF_CURSEATTACK;
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
next;
emotion (!rand(5))?e_ag:e_omg;
mes "[Blacksmith Dister]";
diff --git a/npc/re/merchants/card_separation.txt b/npc/re/merchants/card_separation.txt
index 0e5b31ea2..b1f6754a5 100644
--- a/npc/re/merchants/card_separation.txt
+++ b/npc/re/merchants/card_separation.txt
@@ -353,13 +353,13 @@
// Display corresponding effect.
if (!.@equip_safe && .@card_break)
- specialeffect2 EF_LORD;
+ specialeffect(EF_LORD, AREA, playerattached());
else if (.@equip_safe && .@card_break)
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
else if (!.@equip_safe && !.@card_break)
- specialeffect2 EF_FIREPILLAR;
+ specialeffect(EF_FIREPILLAR, AREA, playerattached());
else
- specialeffect2 EF_MAXPOWER;
+ specialeffect(EF_MAXPOWER, AREA, playerattached());
// Output results.
mes "-- Result of Card Separation --";
diff --git a/npc/re/merchants/coin_exchange.txt b/npc/re/merchants/coin_exchange.txt
index be9f1dbee..f35c722f7 100644
--- a/npc/re/merchants/coin_exchange.txt
+++ b/npc/re/merchants/coin_exchange.txt
@@ -569,7 +569,7 @@ function script F_mal_coin {
mes "I'm sorry, you need more "+.@str$+".";
close;
}
- if (MaxWeight - Weight < getiteminfo(getarg(3),6)) {
+ if (MaxWeight - Weight < getiteminfo(getarg(3), ITEMINFO_WEIGHT)) {
mes getarg(1);
mes "Sorry, you've purchased too many.";
mes "You need to make more space in your inventory. Please come back later.";
diff --git a/npc/re/merchants/enchan_mal.txt b/npc/re/merchants/enchan_mal.txt
index 864505b85..e921a7336 100644
--- a/npc/re/merchants/enchan_mal.txt
+++ b/npc/re/merchants/enchan_mal.txt
@@ -84,11 +84,11 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
close;
}
@mal_equip_id = getequipid(EQI_HAND_R);
- .@equip_type = getiteminfo(@mal_equip_id,11);
+ .@equip_type = getiteminfo(@mal_equip_id, ITEMINFO_SUBTYPE);
//callsub L_Socket,<cost multiplier>,<4-x enchants possible>;
switch(.@equip_type) { // Check weapon type first to speed up the checks.
- case 1: // Daggers
+ case W_DAGGER: // Daggers
switch(@mal_equip_id) {
case 1224: callsub L_Socket,1,2; //Sword_Breaker
case 1225: callsub L_Socket,1,2; //Mail_Breaker
@@ -114,7 +114,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 13062: callsub L_Socket,4,2; //Ancient_Dagger
}
break;
- case 16: // Katars
+ case W_KATAR: // Katars
switch(@mal_equip_id) {
case 1271: callsub L_Socket,1,2; //Blood_Tears
case 1263: callsub L_Socket,1,2; //Unholy_Touch
@@ -128,13 +128,13 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1266: callsub L_Socket,4,2; //Infiltrator_
}
break;
- case 6: // 1-H Axes
+ case W_1HAXE: // 1-H Axes
switch(@mal_equip_id) {
case 1305: callsub L_Socket,1,2; //Cleaver
case 1311: callsub L_Socket,1,2; //Vecer_Axe
}
break;
- case 7: // 2-H Axes
+ case W_2HAXE: // 2-H Axes
switch(@mal_equip_id) {
case 1364: callsub L_Socket,1,2; //Great_Axe
case 1365: callsub L_Socket,1,2; //Sabbath
@@ -151,7 +151,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1371: callsub L_Socket,4,2; //Doom_Slayer_
}
break;
- case 2: // 1-H Swords
+ case W_1HSWORD: // 1-H Swords
switch(@mal_equip_id) {
case 1131: callsub L_Socket,1,2; //Ice_Falchon
case 1133: callsub L_Socket,1,2; //Fire_Brand
@@ -170,7 +170,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1132: callsub L_Socket,4,2; //Edge
}
break;
- case 3: // 2-H Swords
+ case W_2HSWORD: // 2-H Swords
switch(@mal_equip_id) {
case 1164: callsub L_Socket,1,2; //Muramasa
case 1166: callsub L_Socket,1,2; //Dragon_Slayer
@@ -194,7 +194,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1186: callsub L_Socket,4,2; //Death_Guidance
}
break;
- case 4: // 1-H Spears
+ case W_1HSPEAR: // 1-H Spears
switch(@mal_equip_id) {
case 1420: callsub L_Socket,1,2; //Long_Horn
case 1413: callsub L_Socket,1,2; //Gungnir
@@ -207,7 +207,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1422: callsub L_Socket,4,2; //Hunting_Spear
}
break;
- case 5: // 2-H Spears
+ case W_2HSPEAR: // 2-H Spears
switch(@mal_equip_id) {
case 1466: callsub L_Socket,1,2; //Crescent_Scythe
case 1467: callsub L_Socket,1,2; //Bill_Guisarme
@@ -224,7 +224,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1484: callsub L_Socket,2,2; //Cardo
}
break;
- case 10: // Staves
+ case W_STAFF: // Staves
switch(@mal_equip_id) {
case 1616: callsub L_Socket,1,2; //Staff_Of_Wing
case 1629: callsub L_Socket,1,2; //Walking_Stick
@@ -236,7 +236,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1473: callsub L_Socket,1,2; //Wizardy_Staff
}
break;
- case 23: // New 2-H Staves
+ case W_2HSTAFF: // New 2-H Staves
switch(@mal_equip_id) {
case 2004: callsub L_Socket,1,2; //Kronos
case 2005: callsub L_Socket,1,2; //Dea_Staff
@@ -244,7 +244,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 2000: callsub L_Socket,4,2; //Destruction_Rod
}
break;
- case 8: // Maces
+ case W_MACE: // Maces
switch(@mal_equip_id) {
case 1524: callsub L_Socket,1,2; //Golden_Mace
case 1525: callsub L_Socket,1,2; //Long_Mace
@@ -261,7 +261,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1540: callsub L_Socket,4,2; //Grand_Cross_
}
break;
- case 15: // Books
+ case W_BOOK: // Books
switch(@mal_equip_id) {
case 1557: callsub L_Socket,1,2; //Book_Of_The_Apocalypse
case 1558: callsub L_Socket,1,2; //Girls_Diary
@@ -271,7 +271,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1565: callsub L_Socket,4,2; //Death_Note
}
break;
- case 12: // Knuckles
+ case W_KNUCKLE: // Knuckles
switch(@mal_equip_id) {
case 1813: callsub L_Socket,1,2; //Kaiser_Knuckle
case 1814: callsub L_Socket,1,2; //Berserk
@@ -280,7 +280,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1830: callsub L_Socket,2,2; //Sura_Rampage
}
break;
- case 11: // Bows
+ case W_BOW: // Bows
switch(@mal_equip_id) {
case 1719: callsub L_Socket,1,2; //Bow_Of_Roguemaster
case 1722: callsub L_Socket,1,2; //Balistar
@@ -295,7 +295,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1720: callsub L_Socket,2,2; //Bow_Of_Rudra
}
break;
- case 13: // Musical Instruments
+ case W_MUSICAL: // Musical Instruments
switch(@mal_equip_id) {
case 1913: callsub L_Socket,1,2; //Electronic_Guitar
case 1918: callsub L_Socket,1,2; //Oriental_Lute
@@ -305,7 +305,7 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1930: callsub L_Socket,2,2; //Green_Whistle
}
break;
- case 14: // Whips
+ case W_WHIP: // Whips
switch(@mal_equip_id) {
case 1962: callsub L_Socket,1,2; //Lariat
case 1963: callsub L_Socket,1,2; //Rapture_Rose
@@ -321,6 +321,14 @@ malangdo,213,167,4 script Mayomayo#mal 4_CAT_3COLOR,{
case 1985: callsub L_Socket,4,2; //Rosebine
}
break;
+ case W_2HMACE:
+ case W_REVOLVER:
+ case W_RIFLE:
+ case W_GATLING:
+ case W_SHOTGUN:
+ case W_GRENADE:
+ case W_HUUMA:
+ break;
}
mes "[Mayomayo]";
if (@mal_enchant_select == 1)
@@ -600,7 +608,7 @@ L_Socket:
close;
}
if (.@enchant == 9) { // Should never happen.
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
mes "[Mayomayo]";
mes "Oh my god!";
mes "This equipment is destroyed because it could not endure powerful ability. I'm so sorry.";
@@ -608,7 +616,7 @@ L_Socket:
delequip EQI_HAND_R;
close;
}
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
mes "[Mayomayo]";
mes "I have enchanted ^990000slot "+.@socket+"^000000 of this equipment.";
delitem .@coin[.@coin_select],.@total[.@coin_select];
@@ -642,7 +650,7 @@ L_Socket:
mes "This equipment has nothing to initialize. Please check again.";
close;
}
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
mes "[Mayomayo]";
mes "Initialize the enchant effect from the equipment.";
delitem Silvervine,1;
diff --git a/npc/re/merchants/enchan_mora.txt b/npc/re/merchants/enchan_mora.txt
index fe2b21754..46979c82b 100644
--- a/npc/re/merchants/enchan_mora.txt
+++ b/npc/re/merchants/enchan_mora.txt
@@ -230,7 +230,7 @@ mora,96,74,5 script Master of Relics#pa0829 4_M_MERCAT1,{
mes "For 2 Mora Coins I can strengthen the relic you have in many ways!";
close;
}
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
delitem Mora_Coin,2;
delitem .@item,1;
switch(.@enchant_type) {
@@ -478,7 +478,7 @@ mora,99,93,5 script Artifact Crafter#pa0829 4_M_MERCAT1,{
mes "You have to have 2 Mora Coins and an item to be reinforced before I can do my work.";
close;
}
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
delitem Mora_Coin,2;
delitem .@item,1;
switch(.@enchant_type) {
@@ -1119,18 +1119,18 @@ L_Socket:
Zeny -= 100000;
delequip .@part;
if (.@enchant == 9) {
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
mes "[Artifact Researcher]";
mes "This!";
mes "I... I'm sorry but the equipment has been destroyed.";
close;
}
if (.@enchant == 0) {
- specialeffect2 EF_SHIELDCHARGE;
+ specialeffect(EF_SHIELDCHARGE, AREA, playerattached());
mes "[Artifact Researcher]";
mes "Since the balance of power does not match, the given existing ability has been destroyed. It is unfortunate but please try again next time.";
} else {
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
mes "[Artifact Researcher]";
// Replacing original dialogue since it doesn't make sense.
//mes "The artifact ^990000"+.@slot+" will have the first enhancement retained.";
@@ -1147,7 +1147,7 @@ L_Socket:
mes "You've got to pay if you want the services.";
close;
}
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
mes "[Artifact Researcher]";
mes "The ability to enhance remains.";
delitem Mora_Coin,1;
@@ -1487,7 +1487,7 @@ L_ShowInfo:
//== Other Enchants :: sangjo ==============================
function script F_Mora_Enchant {
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
progressbar "ffff00",3;
delitem Mora_Coin,5;
delitem getarg(0),1;
diff --git a/npc/re/merchants/shadow_refiner.txt b/npc/re/merchants/shadow_refiner.txt
index 2f8984498..f03d348b2 100644
--- a/npc/re/merchants/shadow_refiner.txt
+++ b/npc/re/merchants/shadow_refiner.txt
@@ -9,8 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) Dastgir
+//= Copyright (C) 2017 Hercules Dev Team
+//= Copyright (C) Dastgir
+//= Copyright (C) Smokexyz (v2.0)
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -29,148 +30,158 @@
//================= Description ===========================================
//= Shadow item refiner
//================= Current Version =======================================
-//= 1.0
+//= 2.0
//=========================================================================
itemmall,31,76,3 script Shadow Blacksmith#nomal 4_F_JOB_BLACKSMITH,{
+
+ // Configuration
+ .@npc_name$ = "[Shadow Blacksmith]";
+ .@zeny_cost = 20000; // Amount of zeny to be charged for refining.
+
disable_items;
- mes "[Shadow Blacksmith]";
- mes "Do you want to refine a Shadow item?.";
- mes "Please choose the part you want to refine.";
+ mesf("%s", .@npc_name$);
+ mes("Do you want to refine a Shadow item?");
+ mes("Please choose the part you want to refine.");
next;
- setarray .@position$[0],"Armor","Weapon","Shield","Shoes","Earring","Pendant";
- for (.@i=EQI_SHADOW_ARMOR; .@i<=EQI_SHADOW_ACC_L; .@i++){
- .@menu$ = .@menu$+((getequipisequiped(.@i))?getequipname(.@i):"^8C8C8C"+.@position$[.@i-EQI_SHADOW_ARMOR]+" [Not Equipped]^000000")+":";
+ setarray(.@position$[0],"Armor","Weapon","Shield","Shoes","Earring","Pendant");
+ for (.@i=EQI_SHADOW_ARMOR; .@i <= EQI_SHADOW_ACC_L; .@i++){
+ .@menu$ = .@menu$ + (getequipisequiped(.@i) ? getequipname(.@i) : ("^8C8C8C" + .@position$[.@i-EQI_SHADOW_ARMOR] + " [Not Equipped]^000000" + ":"));
}
- .@menu$ = .@menu$+"Refine Info";
- .@SelectedPart = select(.@menu$)+EQI_SHADOW_ARMOR-1;
- if (.@SelectedPart == EQI_SHADOW_ACC_L+1){ // Refine Info
- mes "[Shadow Blacksmith]";
- mes "Shadow item will gain extra bonus effect by the refine level, same as normal weapon/armour items.";
+ .@menu$ = .@menu$ + "Refine Info";
+ .@SelectedPart = select(.@menu$) + EQI_SHADOW_ARMOR - 1;
+ if (.@SelectedPart == EQI_SHADOW_ACC_L + 1){ // Refine Info
+ mesf("%s", .@npc_name$);
+ mes("Shadow items gain extra bonus effects depending on their refine level, similar to normal weapon and armor items.");
next;
- mes "[Shadow Blacksmith]";
- mes "Following are refining effect for each Shadow item parts.";
- mes "Weapon: ATK, MATK + 1 increase for each +1 refine success.";
- mes "Etc: HP + 10 increase for each +1 refine success.";
+ mesf("%s", .@npc_name$);
+ mes("Refining effects for each Shadow item parts are -");
+ mes("Weapon: ATK, MATK + 1 increase for each +1 refine success.");
+ mes("Etc: HP + 10 increase for each +1 refine success.");
next;
- mes "[Shadow Blacksmith]";
- mes "You need Oridecon and Elunium for Shadow item refine ingredient, along with refine fee 20000 zeny.";
+ mesf("%s", .@npc_name$);
+ mesf("You need %s and %s as the ingredient, along with a refine fee %d Zeny.", getitemname(Oridecon), getitemname(Elunium), .@zeny_cost);
next;
- mes "[Shadow Blacksmith]";
- mes "When +5 or higher refining Shadow item can be destroyed, please use Enriched or HD ingredient for the refinement.";
+ mesf("%s", .@npc_name$);
+ mes("When refining to +5 or higher, you risk breaking your Shadow item.");
+ mes("You may also use Enriched or HD ingredients for the refinement.");
close;
}
- while(1){
- mes "[Shadow Blacksmith]";
- mes "20000 zeny will be spent as a refine fee.";
- mes "Choose the ingredient and start refining.";
+ while(true) {
+ mesf("%s", .@npc_name$);
+ mesf("%d Zeny will be spent as a refine fee.", .@zeny_cost);
+ mes("Choose the ingredient and start refining.");
next;
.@index = 0;
if (.@SelectedPart != EQI_SHADOW_WEAPON)
.@index = 1;
- setarray .@s_weapon1[0],Oridecon,Elunium;
- setarray .@s_weapon2[0],Enriched_Oridecon,Enriched_Elunium;
- setarray .@s_weapon3[0],HD_Oridecon,HD_Elunium;
- if (countitem(.@s_weapon1[.@index]))
- .@mate$[0] = getitemname(.@s_weapon1[.@index]);
+ setarray .@s_material1[0], Oridecon, Elunium;
+ setarray .@s_material2[0], Enriched_Oridecon, Enriched_Elunium;
+ setarray .@s_material3[0], HD_Oridecon, HD_Elunium;
+ .@refine_type = REFINE_CHANCE_TYPE_NORMAL;
+ if (countitem(.@s_material1[.@index]))
+ .@mate$[0] = getitemname(.@s_material1[.@index]);
else{
- .@mate$[0] = "^8C8C8C"+ getitemname(.@s_weapon1[.@index]) +"^000000";
+ .@mate$[0] = "^8C8C8C"+ getitemname(.@s_material1[.@index]) +"^000000";
.@miss[0] = 1;
}
- if (countitem(.@s_weapon2[.@index]))
- .@mate$[1] = getitemname(.@s_weapon2[.@index]);
+ if (countitem(.@s_material2[.@index]))
+ .@mate$[1] = getitemname(.@s_material2[.@index]);
else{
- .@mate$[1] = "^8C8C8C"+ getitemname(.@s_weapon2[.@index]) +"^000000";
+ .@mate$[1] = "^8C8C8C"+ getitemname(.@s_material2[.@index]) +"^000000";
.@miss[1] = 1;
}
- if (getequiprefinerycnt(.@SelectedPart) > 6 && countitem(.@s_weapon3[.@index]))
- .@mate$[2] = getitemname(.@s_weapon3[.@index]);
+ if (getequiprefinerycnt(.@SelectedPart) > 6 && countitem(.@s_material3[.@index]))
+ .@mate$[2] = getitemname(.@s_material3[.@index]);
else {
- .@mate$[2] = "^8C8C8C"+ getitemname(.@s_weapon3[.@index]) +"^000000";
+ .@mate$[2] = "^8C8C8C"+ getitemname(.@s_material3[.@index]) +"^000000";
.@miss[2] = 1;
}
//-----------------------------------------------------------------------------
- .@option = select("Cancel",.@mate$[0],.@mate$[1],.@mate$[2]);
+ .@option = select("Cancel", .@mate$[0], .@mate$[1], .@mate$[2]);
if (.@option == 1){
- mes "[Shadow Blacksmith]";
- mes "You've cancelled refining.";
+ mesf("%s", .@npc_name$);
+ mes("You've cancelled refining.");
close;
}
.@option -= 2;
- if (.@option==2){ //HD
+ .@hoihoi = false;
+ if (.@option == 2){ //HD
if (getequiprefinerycnt(.@SelectedPart) < 7){
- mes "[Shadow Blacksmith]";
- mes "HD ingredient is only possible to use for +7 or higher refine level items.";
+ mesf("%s", .@npc_name$);
+ mes("HD ingredients are only possible to be used when refining an item of quality +7 or higher.");
close;
}
- .@hoihoi = 1;
+ .@hoihoi = true;
+ } else if (.@option == 1) {
+ .@refine_type = REFINE_CHANCE_TYPE_ENRICHED;
}
if (.@miss[.@option]){
- mes "[Shadow Blacksmith]";
- mes "You do not have proper ingredient for this refining.";
+ mesf("%s", .@npc_name$);
+ mes("You do not have the proper ingredient to proceed with refining.");
close;
}
.@choose = getd(".@s_weapon"+(.@option+1)+"["+ .@index +"]");
if (Zeny < 20000) {
- mes "[Shadow Blacksmith]";
- mes "You do not have enough refine fee.";
+ mesf("%s", .@npc_name$);
+ mes("You do not have enough Zeny to pay the refine fee.");
close;
}
if (getequiprefinerycnt(.@SelectedPart) > 9) {
- mes "[Shadow Blacksmith]";
- mes "Shadow item refining is only possible until +10 level.";
+ mesf("%s", .@npc_name$);
+ mes("Shadow item refining is only possible up to +10 level.");
close;
}
if (!getequipisenableref(.@SelectedPart)) {
- mes "[Shadow Blacksmith]";
- mes "This item cannot be refined.";
+ mesf("%s", .@npc_name$);
+ mes("This item cannot be refined.");
close;
}
- if (getequippercentrefinery(.@SelectedPart) < 100) {
- mes "[Shadow Blacksmith]";
- mes "Safety guaranteed refine limit for shadow item is until +4.";
- if (!.@hoihoi) {
- mes "If you try more refining, item might get broken when failed. Still want to refine?";
+ if (getequippercentrefinery(.@SelectedPart, .@refine_type) < 100) {
+ mesf("%s", .@npc_name$);
+ mes("Safety guaranteed refine limit for shadow item is until +4.");
+ if (.@hoihoi == false) {
+ mes("If you try more refining, the item might break upon failing. Do you still want to refine?");
}
else {
- mes "If you try more refining, item refine level might go down when failed. Still want to refine?";
+ mes("If you try more refining, the item refine level might go down when failed. Do you still want to refine?");
}
next;
if (select("Proceed","Cancel") == 2) {
- mes "[Shadow Blacksmith]";
- mes "You've cancelled refining.";
+ mesf("%s", .@npc_name$);
+ mes("You've cancelled refining.");
close;
}
}
//-----------------------------------------------------------------------------
- mes "[Shadow Blacksmith]";
- mes "Here we go--!!!";
+ mesf("%s", .@npc_name$);
+ mes("Here we go--!!!");
next;
if (Zeny < 20000) {
- mes "[Shadow Blacksmith]";
- mes "You do not have enough refine fee.";
+ mesf("%s", .@npc_name$);
+ mes("You do not have enough Zeny to pay the refine fee.");
close;
}
- if (!countitem(.@choose)) {
- mes "[Shadow Blacksmith]";
- mes "You do not have enough "+ getitemname(.@choose) +".";
+ if (countitem(.@choose) == 0) {
+ mesf("%s", .@npc_name$);
+ mes("You do not have enough "+ getitemname(.@choose) +".");
close;
}
- delitem .@choose,1;
+ delitem(.@choose, 1);
Zeny -= 20000;
- if (getequippercentrefinery(.@SelectedPart) > rand(100) || ( .@option == 1 && getequippercentrefinery(.@SelectedPart) > rand(100))) {
- successrefitem .@SelectedPart;
- mes "[Shadow Blacksmith]";
- mes "Refine was successful.";
+ if (getequippercentrefinery(.@SelectedPart, .@refine_type) > rand(100)) {
+ successrefitem(.@SelectedPart);
+ mesf("%s", .@npc_name$);
+ mes("Refine was successful.");
next;
}
else {
- if (.@hoihoi)
- downrefitem .@SelectedPart;
+ if (.@hoihoi == true)
+ downrefitem(.@SelectedPart);
else
- failedrefitem .@SelectedPart;
- mes "[Shadow Blacksmith]";
- mes "Oh no.. Refine was failed.";
+ failedrefitem(.@SelectedPart);
+ mesf("%s", .@npc_name$);
+ mes("Oh no.. Refine has failed.");
close;
}
}
diff --git a/npc/re/other/clans.txt b/npc/re/other/clans.txt
new file mode 100644
index 000000000..f411b149d
--- /dev/null
+++ b/npc/re/other/clans.txt
@@ -0,0 +1,581 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2017 Hercules Dev Team
+//= Copyright (C) Ridley
+//=
+//= Hercules is free software: you can redistribute it and/or modify
+//= it under the terms of the GNU General Public License as published by
+//= the Free Software Foundation, either version 3 of the License, or
+//= (at your option) any later version.
+//=
+//= This program is distributed in the hope that it will be useful,
+//= but WITHOUT ANY WARRANTY; without even the implied warranty of
+//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//= GNU General Public License for more details.
+//=
+//= You should have received a copy of the GNU General Public License
+//= along with this program. If not, see <http://www.gnu.org/licenses/>.
+//=========================================================================
+//= Clan System
+//================= Description ===========================================
+//= Join a Clan instead of a guild
+//= Reference: http://ragnarok.wikia.com/wiki/Clans
+//= Todo: Clan Quests
+//= Note: Official npcs can have also a way to stop players joining clans
+//= that already reached their maximum amount of members. Maybe it
+//= can be added here after a confirmation.
+//================= Current Version =======================================
+//= 1.0
+//=========================================================================
+
+prontera,138,183,7 script Clan Helper#clan 4_F_KID2,{
+ mes("[Clan Helper]");
+ mes("Do you want to build connections without being in a guild?");
+ next();
+ mes("[Clan Helper]");
+ mes("Can't find the perfect guild for yourself?");
+ next();
+ mes("[Clan Helper]");
+ mes("You can join or leave clan freely! Just join!");
+ next();
+ mes("[Clan Helper]");
+ mes("Now, come on in and meet the masters of the Kingdom's best Clans!");
+ close();
+}
+
+//= Clan Leaders
+//================= Crossbow Clan =========================================
+prt_in,39,114,4 script Sham Rumi#clan 4_F_SHAM,{
+ mes("[Sham Rumi]");
+ mes("Hi, there! I'm Sham, master of ^3131FF[Crossbow Clan]^000000");
+ mes("What can I do for you?");
+ next();
+ switch (select("Introducing Clan", "Join.", "Leave.")) {
+ case 1:
+ switch (select("Clans are", "About the Crossbow Clan", "Cancel.")) {
+ case 1:
+ mes("[Sham Rumi]");
+ mes("The Clan established by the Rune-Midgarts Kingdom to...");
+ mes("Laperm, why are our ^3131FFclans^000000 made?");
+ next();
+ mes("[Laperm Oranpere]");
+ mes("Did you sleep in class? Gosh.");
+ mes("The Clans help lone adventurers connect with each other and share information.");
+ next();
+ mes("[Sham Rumi]");
+ mes("A-ha, got it! Thank you, Captain!");
+ mes("You heard that too, right?");
+ next();
+ mes("[Sham Rumi]");
+ mes("Run by the Kingdom itself, the Clans are not allowed to participate in the Siege, but the good news is that the members are given some ^3131FFstat bonuses^000000.");
+ next();
+ mes("[Sham Rumi]");
+ mes("In case you wonder if the ^3131FFCrossbow Clan^000000 only recruits Archers, no, it doesn't.");
+ mes("All the Clans accept all classes. You can choose the one that suits your needs best.");
+ next();
+ mes("[Sham Rumi]");
+ mes("That should cover everything there is to know.");
+ mes("Berman, let's go hang out in Glast Heim.");
+ next();
+ mes("[Debon Aire]");
+ mes("You...");
+ next();
+ mes("[Sham Rumi]");
+ mes("Ooh, scary! You're so protective of your brother.");
+ close();
+ case 2:
+ mes("[Sham Rumi]");
+ mes("The ^3131FFCrossbow Clan^000000 is ideal for Ranged classes.");
+ next();
+ mes("[Sham Rumi]");
+ mes("Eh, let me check the Clan manual. Ah, and we offer stat bonuses to new members: ^FF0000<DEX+1, AGI+1, MHP+30, MSP+10>^000000.");
+ next();
+ mes("[Sham Rumi]");
+ mes("The Clans are not allowed to participate in the Siege; you should join a private guild instead for Siege.");
+ mes("The Clans are for adventurers that hate being tied down.");
+ next();
+ mes("[Sham Rumi]");
+ mes("Do you have a question?");
+ close();
+ case 3:
+ close();
+ }
+ case 2:
+ mes("[Sham Rumi]");
+ mes("Oh, yeah? Good choice!");
+ mes("Let's check the Clan policy then take admission procedures.");
+ next();
+ mes("[Sham Rumi]");
+ mes("^3131FFClansmen^000000 cannot participate in the Siege.");
+ mes("As our new member, you'll receive the following stat bonuses: ^FF0000<DEX+1, AGI+1, MHP+30, MSP+10>^000000.");
+ mes("Do you agree?");
+ next();
+ if (select("Yes.", "No.") == 2)
+ callsub(L_Nope);
+ mes("[Sham Rumi]");
+ mes("Join and leave the clans anytime, but if you don't show up at clan for ^FF0000more than 2 weeks^000000, you'll be ^FF0000expelled^000000.");
+ mes("Do you promise you'll maintain good standing?");
+ next();
+ if (select("Yes.", "No.") == 2)
+ callsub(L_Nope);
+ mes("[Sham Rumi]");
+ mes("Good, write your name here.");
+ next();
+ input(.@name$);
+ mes("[Sham Rumi]");
+ mesf("^3131FF%s^000000..!", strcharinfo(PC_NAME));
+ mes("Ugh, your penmanship needs work. Let me process your application.");
+ next();
+ mes("[Sham Rumi]");
+ if (strcharinfo(PC_GUILD) != "") {
+ mes("Did you finish things up with your old guild?");
+ close();
+ }
+ if (getcharid(CHAR_ID_CLAN)) {
+ mes("Eh, you're already in a clan. Hey, this isn't funny.");
+ close();
+ }
+ clan_join(CROSSBOWCLAN);
+ mes("Welcome to the ^3131FFCrossbow Clan^000000!");
+ next();
+ mes("[Sham Rumi]");
+ mes("You can review Clan info with ^3131FFCtrl+G^000000.");
+ next();
+ mes("[Sham Rumi]");
+ mes("Don't pick fights with other clansmen. Be social.");
+ mes("If you need help, you can always whisper me, okay? See you around!");
+ close();
+ case 3:
+ mes("[Sham Rumi]");
+ mes("Why, did you find a better clan?");
+ mes("I'm disappointed, but it's your call. Let me process your withdrawal.");
+ next();
+ if (select("Continue.", "Cancel.") == 2)
+ close();
+ mes("[Sham Rumi]");
+ if (!getcharid(CHAR_ID_CLAN)) {
+ mes("I can't let you leave--you're not even in my clan!");
+ close();
+ } else if (getcharid(CHAR_ID_CLAN) != CROSSBOWCLAN) {
+ mes("Sorry, but I don't meddle with other clans' business.");
+ close();
+ }
+ clan_leave();
+ mes("It's done.");
+ mes("If you ever miss us, don't hesitate to come back, all right?");
+ close();
+ }
+
+L_Nope:
+ mes("[Sham Rumi]");
+ mes("Ah, do you need time to think about this? No problem.");
+ close();
+
+OnInit:
+ clan_master(CROSSBOWCLAN);
+ end;
+}
+
+//================= Goldenmace Clan =======================================
+prt_in,37,114,4 script Berman Aire 4_M_BIRMAN,{
+ mes("[Berman Aire]");
+ mes("Nice to meet you. I'm Berman Aire, master of ^3131FF[Goldenmace Clan]^000000.");
+ mes("I'm also the older brother of Debon Aire here. Debon looks tough, but he's a sweetheart.");
+ next();
+ switch (select("Introducing Clan", "Join.", "Leave.")) {
+ case 1:
+ switch (select("Clans are", "About the Golden Mace Clan", "Cancel.")) {
+ case 1:
+ mes("[Berman Aire]");
+ mes("The ^3131FFClans^000000 are established by the Kingdom to help adventurers connect and share information.");
+ next();
+ mes("[Berman Aire]");
+ mes("Because the Kingdom runs the clan, no Sieges, but at least the members are given ^3131FFstat bonuses^000000.");
+ mes("The stat bonuses are small, but can be very useful for beginning adventurers.");
+ next();
+ mes("[Berman Aire]");
+ mes("We're named the ^3131FFGolden Mace Clan^000000, but we don't discriminate against applicants based on their classes.");
+ mes("The name is just to help you easily choose your clan.");
+ next();
+ mes("[Sham Rumi]");
+ mes("Berman, enough with the explanation. Let's go hang out in Glast Heim.");
+ next();
+ mes("[Debon Aire]");
+ mes("... Hey.");
+ next();
+ mes("[Sham Rumi]");
+ mes("Ooh, you're scaring me.");
+ mes("Berman, call me when you can!~");
+ next();
+ mes("[Berman Aire]");
+ mes("Hah hah, I apologize for their bickering.");
+ next();
+ mes("[Berman Aire]");
+ mes("Do you have a question?");
+ mes("If you're tired of traveling alone, join us! You can join and leave the Clans anytime you want.");
+ close();
+ case 2:
+ mes("[Berman Aire]");
+ mes("The ^3131FFGolden Mace Clan^000000 mainly supports supportive classes.");
+ mes("We offer ^FF0000<INT+1, LUK+1, MHP+30, MSP+10>^000000 to new members.");
+ next();
+ mes("[Berman Aire]");
+ mes("As I told you earlier, Clans cannot join the Siege because they already belong to the Kingdom.");
+ mes("If you want to be in the Siege, then I recommend you join a regular guild.");
+ next();
+ mes("[Berman Aire]");
+ mes("Do you understand about the Clans now?");
+ close();
+ case 3:
+ close();
+ }
+ case 2:
+ mes("[Berman Aire]");
+ mes("Great!");
+ mes("Let's check the Clan policy then take admission procedures.");
+ next();
+ mes("[Berman Aire]");
+ mes("^3131FFClansmen^000000 cannot participate in the Siege.");
+ mes("As our new member, you'll receive the following stat bonuses: ^FF0000<INT+1, LUK+1, MHP+30, MSP+10>^000000.");
+ mes("Do you agree?");
+ next();
+ if (select("Yes.", "No.") == 2)
+ callsub(L_Nope);
+ mes("[Berman Aire]");
+ mes("Join and leave the clans anytime, but if you don't show up at clan for ^FF0000more than 2 weeks^000000, you'll be ^FF0000expelled^000000.");
+ mes("Do you agree to maintain good standing in Clan?");
+ next();
+ if (select("Yes.", "No.") == 2)
+ callsub(L_Nope);
+ mes("[Berman Aire]");
+ mes("Now, please write your name here.");
+ next();
+ input(.@name$);
+ mes("[Berman Aire]");
+ mesf("^3131FF%s^000000! What a good name!", strcharinfo(PC_NAME));
+ mes("Okay, then...");
+ next();
+ mes("[Berman Aire]");
+ if (strcharinfo(PC_GUILD) != "") {
+ mes("Oh, no.");
+ mes("In order to join, you first have to leave the current guild.");
+ close();
+ }
+ if (getcharid(CHAR_ID_CLAN)) {
+ mes("You're already in a clan.");
+ mes("You're just confused, right?");
+ close();
+ }
+ clan_join(GOLDENMACECLAN);
+ mes("Welcome to the ^3131FFGolden Mace Clan^000000!");
+ next();
+ mes("[Berman Aire]");
+ mes("You can review Clan info with ^3131FFCtrl+G^000000.");
+ next();
+ mes("[Berman Aire]");
+ mes("Please remember the few precautions I gave you, and enjoy your Clan activities!");
+ close();
+ case 3:
+ mes("[Berman Aire]");
+ mes("With meeting, there is parting.");
+ mes("I hope you enjoyed your time in ^3131FFGolden Mace Clan^000000.");
+ mes("Now, should I process your withdrawal?");
+ next();
+ if (select("Continue.", "Cancel.") == 2)
+ close();
+ mes("[Berman Aire]");
+ if (!getcharid(CHAR_ID_CLAN)) {
+ mes("You can't leave the clan without joining it first.");
+ close();
+ } else if (getcharid(CHAR_ID_CLAN) != GOLDENMACECLAN) {
+ mes("I'm sorry, but I can't remove you from another clan..");
+ close();
+ }
+ clan_leave();
+ mes("It's processed.");
+ mes("Come back anytime to ^3131FFGolden Mace Clan^000000. I'll be here.");
+ close();
+ }
+
+L_Nope:
+ mes("[Berman Aire]");
+ mes("I suggest you to think it over.");
+ close();
+
+OnInit:
+ clan_master(GOLDENMACECLAN);
+ end;
+}
+
+//================= Arc Wand Clan =========================================
+prt_in,35,114,4 script Debon Aire 4_M_DEBON,{
+ mes("[Debon Aire]");
+ mes("I'm Debon, master of ^3131FF[Arc Wand Clan]^000000.");
+ next();
+ switch (select("Introducing Clan", "Join.", "Leave.")) {
+ case 1:
+ switch (select("Clans are", "About the Arc Wand Clan", "Cancel.")) {
+ case 1:
+ mes("[Debon Aire]");
+ mes("The ^3131FFClans^000000 are ran by the Kingdom, not privately like others.");
+ mes("And I manage one of them.");
+ next();
+ mes("[Debon Aire]");
+ mes("...");
+ mes("What's with that look? You got a problem?");
+ next();
+ mes("[Berman Aire]");
+ mes("Brother, you're scaring the potential member, be gentle.");
+ next();
+ mes("[Debon Aire]");
+ mes("...");
+ next();
+ mes("[Debon Aire]");
+ mes("Join if seeking a place to fit in. We give ^3131FFfree bonus stat^000000. But no Siege.");
+ next();
+ mes("[Debon Aire]");
+ mes("Most members are offensive mage classes as the name ^3131FFArc Wand Clan^000000 suggests, but that's no requirement.");
+ next();
+ mes("[Debon Aire]");
+ mes("...Hey, Sham Rumi.");
+ mes("Stop hitting on my brother, and go work.");
+ next();
+ mes("[Sham Rumi]");
+ mes("Whatever!");
+ next();
+ mes("[Debon Aire]");
+ mes("...Hmpf!");
+ mes("Listen, Crossbow Clan's master is an evil.");
+ next();
+ mes("[Sham Rumi]");
+ mes("Get over me, Decon! Don't spread rumors!");
+ next();
+ mes("[Berman Aire]");
+ mes("Haha. stop it. You two are making a scene.");
+ mes("Come on, back to work, guys.");
+ close();
+ case 2:
+ mes("[Debon Aire]");
+ mes("The ^3131FFArc Wand Clan^000000 mainly supports offensive mage classes.");
+ mes("We offer ^FF0000<INT+1, DEX+1, MHP+30, MSP+10>^000000 to new members. Don't ask for more; it's the Kingdom's rule.");
+ next();
+ mes("[Debon Aire]");
+ mes("^3131FFClansmen^000000 can't participate in the Siege.");
+ mes("If you like the Siege, then go join a regular guild.");
+ next();
+ mes("[Debon Aire]");
+ mes("That is all. No questions.");
+ close();
+ case 3:
+ close();
+ }
+ case 2:
+ mes("[Debon Aire]");
+ mes("...");
+ mes("Let's check the Clan policy then take admission procedures.");
+ next();
+ mes("[Debon Aire]");
+ mes("^3131FFClansmen^000000 cannot participate in the Siege.");
+ mes("New members are given these stat bonuses: ^FF0000<INT+1, DEX+1, MHP+30, MSP+10>^000000.");
+ mes("You with me so far?");
+ next();
+ if (select("Yes.", "No.") == 2)
+ callsub(L_Nope);
+ mes("[Debon Aire]");
+ mes("Join and leave the clans anytime, but if you don't show up at clan for ^FF0000more than 2 weeks^000000, you'll be ^FF0000expelled^000000.");
+ mes("Do you agree?");
+ next();
+ if (select("Yes.", "No.") == 2)
+ callsub(L_Nope);
+ mes("[Debon Aire]");
+ mes("Sign your name here.");
+ next();
+ input(.@name$);
+ mes("[Debon Aire]");
+ mesf("^3131FF%s^000000.....", strcharinfo(PC_NAME));
+ mes("Good, let me invite you in.");
+ next();
+ mes("[Debon Aire]");
+ if (strcharinfo(PC_GUILD) != "") {
+ mes("Leave your guild first to join mine, duh.");
+ close();
+ }
+ if (getcharid(CHAR_ID_CLAN)) {
+ mes("You're already in a clan. You joking?!");
+ mes("Oh, I can be funny, too--FIRE PILLAR!");
+ close();
+ }
+ clan_join(ARCWANDCLAN);
+ mes("You have joined the ^3131FFArc Wand Clan^000000.");
+ next();
+ mes("[Debon Aire]");
+ mes("You can review Clan info with ^3131FFCtrl+G^000000.");
+ mes("So don't bother me later.");
+ next();
+ mes("[Debon Aire]");
+ mes("That's all. Visit often or be expelled. Dismissed.");
+ close();
+ case 3:
+ mes("[Debon Aire]");
+ mes("Want to leave, huh?");
+ mes("I understand it it's about Siege. If not, why are..Never mind..");
+ mes("I'll process your withdrawal.");
+ next();
+ if (select("Continue.","Cancel.") == 2)
+ close();
+ mes("[Debon Aire]");
+ if (!getcharid(CHAR_ID_CLAN)) {
+ mes("Naughty children deserve a good Jupitel Thunder.");
+ close();
+ } else if (getcharid(CHAR_ID_CLAN) != ARCWANDCLAN) {
+ mes("You're barking up the wrong tree. Go to your clan master.");
+ close();
+ }
+ clan_leave();
+ mes("You are withdrawn from the clan.");
+ mes("Now leave. I don't feel like talking anymore.");
+ close();
+ }
+
+L_Nope:
+ mes("[Debon Aire]");
+ mes("Gosh, listen to the policy again.");
+ close();
+
+OnInit:
+ clan_master(ARCWANDCLAN);
+ end;
+}
+
+//================= Sword Clan ============================================
+prt_in,33,114,4 script Laperm Oranpere 4_F_LAPERM,{
+ mes("[Laperm Oranpere]");
+ mes("Hi! I'm Laperm, master of ^3131FF[Sword Clan]^000000, one the Rune-Midgarts Kingdom.");
+ next();
+ switch (select("Introducing Clan", "Join.", "Leave.")) {
+ case 1:
+ switch (select("Clans are", "About the Sword Clan", "Cancel.")) {
+ case 1:
+ mes("[Laperm Oranpere]");
+ mes("The ^3131FFClans^000000 are a type of guild ran by the Kingdom.");
+ mes("They don't participate in the Siege, so members are free to join/leave anytime.");
+ next();
+ mes("[Laperm Oranpere]");
+ mes("I wish we could join the Siege. I'd love flying over on my dragon and burning everyone in my way!");
+ mes("Oops, too thrilled!");
+ next();
+ mes("[Laperm Oranpere]");
+ mes("Join us, if no clan suits your taste.");
+ mes("New members are given ^3131FFfree stat bonus^000000.");
+ next();
+ mes("[Laperm Oranpere]");
+ mes("Melee stats are offered as the name ^3131FFSword Clan^000000 suggests, but not all members are Melee classes.");
+ mes("Don't feel pressured, just count on me!");
+ next();
+ mes("[Laperm Oranpere]");
+ mes("Difference in variety creates the fun");
+ mes("These odd bunches never bore me in the party.");
+ next();
+ mes("[Laperm Oranpere]");
+ mes("And who knows you'll meet your soul mate in the clan? Hahah!");
+ close();
+ case 2:
+ mes("[Laperm Oranpere]");
+ mes("The ^3131FFSword Clan^000000 mainly supports Melee adventurers.");
+ mes("Join for free ^FF0000<STR+1, VIT+1, MHP+30, MSP+10>^000000!");
+ next();
+ mes("[Laperm Oranpere]");
+ mes("Remember, no Siege participation.");
+ mes("You should contact other guilds for Siege.");
+ next();
+ mes("[Laperm Oranpere]");
+ mes("A question?");
+ mes("Excited to join me? Hahah!");
+ close();
+ case 3:
+ close();
+ }
+ case 2:
+ mes("[Laperm Oranpere]");
+ mes("Oh, you'll join? Good choice!");
+ mes("Let's check the Clan policy then take admission procedures.");
+ next();
+ mes("[Laperm Oranpere]");
+ mes("^3131FFClansmen^000000 cannot participate in the Siege.");
+ mes("New members are given these stat bonuses: ^FF0000<STR+1, VIT+1, MHP+30, MSP+10>^000000.");
+ mes("You with me so far?");
+ next();
+ if (select("Yes.", "No.") == 2)
+ callsub(L_Nope);
+ mes("[Laperm Oranpere]");
+ mes("Join and leave the clans anytime, but if you don't show up at clan for ^FF0000longer than 2 weeks^000000, you'll be ^FF0000expelled^000000.");
+ mes("Clan masters exsit for reason, like I.");
+ mes("Understood?");
+ next();
+ if (select("Yes.", "No.") == 2)
+ callsub(L_Nope);
+ mes("[Laperm Oranpere]");
+ mes("Great, sign name here on the register.");
+ next();
+ input(.@name$);
+ mes("[Laperm Oranpere]");
+ mesf("So, you're ^3131FF%s^000000! Nice name!", strcharinfo(PC_NAME));
+ mes("Let me register you.");
+ next();
+ mes("[Laperm Oranpere]");
+ if (strcharinfo(PC_GUILD) != "") {
+ mes("Come back to join after you leave the current guild.");
+ close();
+ }
+ if (getcharid(CHAR_ID_CLAN)) {
+ mes("[Laperm Oranpere]");
+ mes("Eh?");
+ mes("Oh, you're in Clan.");
+ mes("Don't mess with me, it's not cool!");
+ close();
+ }
+ clan_join(SWORDCLAN);
+ mes("Welcome to ^3131FFSword Clan^000000!");
+ mes("You can review Clan info with ^3131FFCtrl+G^000000.");
+ mes("At your service!");
+ close();
+ case 3:
+ mes("[Laperm Oranpere]");
+ mes("You want to leave?");
+ mes("No problem. I hope you'll find more suitable clan.");
+ mes("Ready for withdrawal?");
+ next();
+ if (select("Continue.", "Cancel.") == 2)
+ close();
+ mes("[Laperm Oranpere]");
+ if (!getcharid(CHAR_ID_CLAN)) {
+ mes("Wait, you're not with us! Grr, don't make me breathe fire at you!");
+ close();
+ } else if (getcharid(CHAR_ID_CLAN) != SWORDCLAN) {
+ mes("Hey, talk to your guild master if you want to leave.");
+ close();
+ }
+ clan_leave();
+ mes("Okay, it's done. But let's not be strangers, okay?");
+ mes("It was nice having you!");
+ close();
+ }
+
+L_Nope:
+ mes("[Laperm Oranpere]");
+ mes("Uh, oh. Let's go back to beginning.");
+ close();
+
+OnInit:
+ clan_master(SWORDCLAN);
+ end;
+}
diff --git a/npc/re/quests/eden/26-40.txt b/npc/re/quests/eden/26-40.txt
index 1c680d7ed..029881068 100644
--- a/npc/re/quests/eden/26-40.txt
+++ b/npc/re/quests/eden/26-40.txt
@@ -148,9 +148,9 @@ geffen,103,42,5 script Sponiac 4W_M_03,{
next;
switch(select("Hunting Poison Spore", "Hunting Smokie", "Hunting Elder Willow", "Hunting Coco", "Hunting Thara Frog")) {
case 1: callsub L_Quest,8266,"Hunting Poison Spore",1000,0,100,"You can find Poison Spores on the Geffen Dungeon 1F or northeast of Prontera. There are other spots but I'll leave it up to you to find out.";
- case 2: callsub L_Quest,8267,"Hunting Smokie",1000,0,100,"You can find Smokies northeast and northwest of Geffen. Oh, also the field east of Ayotaya is good spot to find them.";
+ case 2: callsub L_Quest,8267,"Hunting Smokie",1000,0,100,"You can find Smokies northeast and northwest of Geffen. Oh, also the field east of Ayothaya is good spot to find them.";
case 3: callsub L_Quest,8268,"Hunting Elder Willow",1000,100,110,"You can find Elder Willows northeast of Geffen, east of payon and southwest of Prontera.";
- case 4: callsub L_Quest,8269,"Hunting Coco",1000,200,150,"You can find Cocos around the east of Payon, southwest of Prontera and the field east of Ayotaya.";
+ case 4: callsub L_Quest,8269,"Hunting Coco",1000,200,150,"You can find Cocos around the east of Payon, southwest of Prontera and the field east of Ayothaya.";
case 5: callsub L_Quest,8270,"Hunting Thara Frog",1500,300,200,"You can find Thara Frogs in the Cave east of Comodo or on Turtle Island.";
}
end;
@@ -607,7 +607,7 @@ payon,179,66,3 script Dashia 4_M_RACHMAN1,{
mes "You can find them easily around fields, but the field east of Ayothya is the best spot for hunting all 3 monsters.";
next;
mes "[Dashia]";
- mes "To get to Ayotaya, you better go to 'Aibakthing' in Alberta and pay his fare.";
+ mes "To get to Ayothaya, you better go to 'Aibakthing' in Alberta and pay his fare.";
break;
case 5:
callsub L_Quest,8278;
diff --git a/npc/re/quests/eden/41-55.txt b/npc/re/quests/eden/41-55.txt
index b7d95aa71..ee32d4306 100644
--- a/npc/re/quests/eden/41-55.txt
+++ b/npc/re/quests/eden/41-55.txt
@@ -84,7 +84,7 @@ moc_para01,40,38,3 script Mission [41 - 55] 4_BOARD3,{
mes "Here is your reward.";
erasequest 12088;
erasequest 12072+.@i;
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
getexp .@exp[.@i],0;
close;
}
diff --git a/npc/re/quests/eden/71-85.txt b/npc/re/quests/eden/71-85.txt
index 31f51871d..cbb6c3e0c 100644
--- a/npc/re/quests/eden/71-85.txt
+++ b/npc/re/quests/eden/71-85.txt
@@ -159,7 +159,7 @@ moc_para01,44,38,3 script Mission [71 - 85] 4_BOARD3,{
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 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 Ayothaya -";
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 -";
}
}
diff --git a/npc/re/quests/eden/eden_iro.txt b/npc/re/quests/eden/eden_iro.txt
index 2d72b3541..aae9a5566 100644
--- a/npc/re/quests/eden/eden_iro.txt
+++ b/npc/re/quests/eden/eden_iro.txt
@@ -81,9 +81,9 @@ moc_para01,14,32,5 script Aperture#acolytewarp 4_F_01,{
mes "to "+.@towns$[.@i]+" is "+.@cost[.@i]+" zeny.";
close;
}
- specialeffect2 EF_READYPORTAL;
- specialeffect2 EF_TELEPORTATION;
- specialeffect2 EF_PORTAL;
+ specialeffect(EF_READYPORTAL, AREA, playerattached());
+ specialeffect(EF_TELEPORTATION, AREA, playerattached());
+ specialeffect(EF_PORTAL, AREA, playerattached());
next;
Zeny -= .@cost[.@i];
switch(.@i) {
@@ -835,8 +835,8 @@ OnInit:
initnpctimer;
end;
OnTimer5000:
- specialeffect EF_REFINEOK,AREA,"Suhnmi#eden";
- specialeffect EF_REFINEOK,AREA,"Mighty Hammer#ed";
+ specialeffect(EF_REFINEOK, AREA, getnpcid("Suhnmi#eden"));
+ specialeffect(EF_REFINEOK, AREA, getnpcid("Mighty Hammer#ed"));
initnpctimer;
end;
}
diff --git a/npc/re/quests/eden/eden_quests.txt b/npc/re/quests/eden/eden_quests.txt
index 9e49a415b..a0f4fa922 100644
--- a/npc/re/quests/eden/eden_quests.txt
+++ b/npc/re/quests/eden/eden_quests.txt
@@ -116,7 +116,7 @@ moc_para01,25,35,4 script Instructor Boya#para01 4_M_KNIGHT_GOLD,{
callsub S_Quest3;
case 2:
mes "You are so rude!";
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
percentheal -50, 0;
next;
mes "-Beats quickly and this shining Rune Knight turns invisible.";
diff --git a/npc/re/quests/eden/eden_tutorial.txt b/npc/re/quests/eden/eden_tutorial.txt
index e9fac253b..902db7945 100644
--- a/npc/re/quests/eden/eden_tutorial.txt
+++ b/npc/re/quests/eden/eden_tutorial.txt
@@ -35,8 +35,129 @@
moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{
if (Class == Job_Novice) {
// Fall through
- } else if (!questprogress(9167)) {
- OnStartQuest:
+ } else if (!questprogress(9167) || questprogress(9173) == 1) {
+ if (questprogress(9173) == 1) {
+ mes "[Tutorial Instructor]";
+ mes "Do you have any questions?";
+ next;
+ switch(select("Can I do the same quest again?", "About the Quest Window...", "About ENCHANT...", "About Searching Vends...", "About Mercenary and Pets...", "End Conversation.")) {
+ case 1:
+ if (questprogress(9173,PLAYTIME) == 1) {
+ mes "[Tutorial Instructor]";
+ mes "The one method to do the same quests repeatdedly is to do the ^006400Daily Quests^000000.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Once you complete a ^006400Daily Quest^000000 and turn it in, wait about a day then come back to get the request and do it all over again!";
+ mes "[Tutorial Instructor]";
+ mes "If you received a daily quest, look at bottom right of the ^006400Quest Window^000000. There is a section that is called ^006400LIMITED^000000. In that section, it'll tell you how much time needs to pass before you can pick up another daily quest.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "It seems you still have some time left to wait out after finishing my quest. Wait it out a bit more, then come find me and you can get the same quest again.";
+ close;
+ }
+ mes "[Tutorial Instructor]";
+ mes "It seems that about a day has passed since you've finished my quest. Alright, so like the ^006400Daily Quests^000000, you can get a quest from me. Did you want to proceed?";
+ next;
+ switch(select("Yes", "No")) {
+ case 1:
+ @tutorial_restart = 1;
+ break;
+ case 2:
+ mes "[Tutorial Instructor]";
+ mes "Okay. But if you change your mind and want to receive a quest, come find me.";
+ close;
+ }
+ break;
+ case 2:
+ mes "[Tutorial Instructor]";
+ mes "They say that the ^006400Quest Window^000000 details out everything you need to know about your quests.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "If you look at the top left";
+ mes "in the area with the information,";
+ mes "it says ^006400QUEST^000000";
+ mes "and if you click that";
+ mes "it'll show all information";
+ mes "that pertains to the request.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Using the ^006400Quest Window^000000 will make your life easier. It'll tell you where to go, what items to get or who to find and etc.";
+ close;
+ case 3:
+ mes "[Tutorial Instructor]";
+ mes "006400ENCHANT^000000, in general, is divided into two parts: ^006400SOCKET ENCHANT^000000 and ^006400HIDDEN SOCKET ENCHANT^000000.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "^006400SOCKET ENCHANT^000000 is used to add a SOCKET into equipments and ^006400HIDDEN SOCKET ENCHANT^000000 is used to put in stats into a socket of an armor.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Of course, in order to do this we are in need of some materials and there is a chance that it may fail, but that's the risk you're taking.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "The people who do the ^006400SOCKET ENCHANT^000000 can be found in ^8B4513Prontera, Morroc, Payon,^000000. ^8B4513Rhitalzen^000000 is in the Refinery and ^0000FFSeiyablem^000000 and ^0000FFReiablem^000000 can be found near the entrance.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "The one who does ^006400HIDDEN SOCKET ENCHANT^000000 is found at the 6 o'clock location of ^8B4513Prontera^000000. Look for the ^0000FFCraftman Apprentice^000000.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Do you think you understand a little bit more about ^006400ENCHANT^000000?";
+ close;
+ case 4:
+ mes "[Tutorial Instructor]";
+ mes "^006400Vend Search^000000 can be utilized by the ^006400Universal Silver Catalog^000000 item. Since you search through as vends on that map, it'll make it easier for you to find the item that you're looking for.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "The ^006400Universal Silver Catalog^000000";
+ mes "can be obtained from ";
+ mes "the ^0000FFCatalogue Wizard^000000";
+ mes "that is located in South Prontera;";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "It only costs 200 zeny for one";
+ mes "of these and with it you can";
+ mes "search up to 10 times.";
+ mes "You can say that it's a necessity.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "So, are you getting familiar with ^006400Vend Search^000000? Don't just stand there and listen to me. Go ahead and try it for yourself!";
+ close;
+ case 5:
+ mes "[Tutorial Instructor]";
+ mes "Depending on what you need, ^006400Mercenary^000000 and ^006400Pet^000000 can be used in various ways.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "If a 006400Mercenary^000000 gives you direct effect";
+ mes "by fighting for you";
+ mes "then a ^006400Pet^000000 helps you indirectly with their";
+ mes "abilities and varied appearances,";
+ mes "and it captures your heart.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "In order to employ a Mercenary";
+ mes "Go find the ^006400Mercenary Guild^000000";
+ mes "which is by the front door of ^8B4513Prontera^000000.";
+ mes "Go to the ^006400Information Agent^000000";
+ mes "and ask them where the ^006400Mercenary Guild Official^000000";
+ mes "is located and they will let you know.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "In order to get a ^006400Pet^000000, while hunting you will obtain taming items. Use the tame on the monster it's for and you can get a pet.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Because there is a chance for failure, please use the taming item with great care.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "That aside... you can get a ^006400Mercenary^000000 from the Mercenary Guild and you can get a ^006400Pet^000000 by trading or buying it from another player.";
+ next;
+ mes "[Tutorial Instructor]";
+ mes "Now, do you understand a bit more about using a ^006400Mercenary^000000 and a ^006400Pet^000000? I hope you get a chance to use them in the future.";
+ close;
+ case 6:
+ mes "[Tutorial Instructor]";
+ mes "If you have any questions, come find me again.";
+ close;
+ }
+ }
if (@tutorial_restart) {
.@tutorial_restart = 1;
@tutorial_restart = 0;
@@ -169,7 +290,7 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{
close;
} else if (questprogress(9168) == 1) {
if (checkweight(Yggdrasilberry,1) == 0) {
- if (MaxWeight - Weight < getiteminfo(607,6)) {
+ if (MaxWeight - Weight < getiteminfo(Yggdrasilberry, ITEMINFO_WEIGHT)) {
mes "[Tutorial Instructor]";
mes "You seemed to be sluggish with a lot of items";
mes "in your inventory making you heavy...";
@@ -371,7 +492,7 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{
}
}
if (checkweight(Yggdrasilberry,6) == 0) {
- if (MaxWeight - Weight < getiteminfo(607,6)) {
+ if (MaxWeight - Weight < getiteminfo(Yggdrasilberry, ITEMINFO_WEIGHT)) {
mes "[Tutorial Instructor]";
mes "Your inventory seems to be really full";
mes "with various stuff... Do you think";
@@ -459,126 +580,6 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{
mes "then bring them back to me.";
close;
}
- } else if (questprogress(9173) == 1) {
- mes "[Tutorial Instructor]";
- mes "Do you have any questions?";
- next;
- switch(select("Can I do the same quest again?", "About the Quest Window...", "About ENCHANT...", "About Searching Vends...", "About Mercenary and Pets...", "End Conversation.")) {
- case 1:
- if (questprogress(9173,PLAYTIME) == 1) {
- mes "[Tutorial Instructor]";
- mes "The one method to do the same quests repeatdedly is to do the ^006400Daily Quests^000000.";
- next;
- mes "[Tutorial Instructor]";
- mes "Once you complete a ^006400Daily Quest^000000 and turn it in, wait about a day then come back to get the request and do it all over again!";
- mes "[Tutorial Instructor]";
- mes "If you received a daily quest, look at bottom right of the ^006400Quest Window^000000. There is a section that is called ^006400LIMITED^000000. In that section, it'll tell you how much time needs to pass before you can pick up another daily quest.";
- next;
- mes "[Tutorial Instructor]";
- mes "It seems you still have some time left to wait out after finishing my quest. Wait it out a bit more, then come find me and you can get the same quest again.";
- close;
- }
- mes "[Tutorial Instructor]";
- mes "It seems that about a day has passed since you've finished my quest. Alright, so like the ^006400Daily Quests^000000, you can get a quest from me. Did you want to proceed?";
- next;
- switch(select("Yes", "No")) {
- case 1:
- @tutorial_restart = 1;
- goto OnStartQuest;
- case 2:
- mes "[Tutorial Instructor]";
- mes "Okay. But if you change your mind and want to receive a quest, come find me.";
- close;
- }
- case 2:
- mes "[Tutorial Instructor]";
- mes "They say that the ^006400Quest Window^000000 details out everything you need to know about your quests.";
- next;
- mes "[Tutorial Instructor]";
- mes "If you look at the top left";
- mes "in the area with the information,";
- mes "it says ^006400QUEST^000000";
- mes "and if you click that";
- mes "it'll show all information";
- mes "that pertains to the request.";
- next;
- mes "[Tutorial Instructor]";
- mes "Using the ^006400Quest Window^000000 will make your life easier. It'll tell you where to go, what items to get or who to find and etc.";
- close;
- case 3:
- mes "[Tutorial Instructor]";
- mes "006400ENCHANT^000000, in general, is divided into two parts: ^006400SOCKET ENCHANT^000000 and ^006400HIDDEN SOCKET ENCHANT^000000.";
- next;
- mes "[Tutorial Instructor]";
- mes "^006400SOCKET ENCHANT^000000 is used to add a SOCKET into equipments and ^006400HIDDEN SOCKET ENCHANT^000000 is used to put in stats into a socket of an armor.";
- next;
- mes "[Tutorial Instructor]";
- mes "Of course, in order to do this we are in need of some materials and there is a chance that it may fail, but that's the risk you're taking.";
- next;
- mes "[Tutorial Instructor]";
- mes "The people who do the ^006400SOCKET ENCHANT^000000 can be found in ^8B4513Prontera, Morroc, Payon,^000000. ^8B4513Rhitalzen^000000 is in the Refinery and ^0000FFSeiyablem^000000 and ^0000FFReiablem^000000 can be found near the entrance.";
- next;
- mes "[Tutorial Instructor]";
- mes "The one who does ^006400HIDDEN SOCKET ENCHANT^000000 is found at the 6 o'clock location of ^8B4513Prontera^000000. Look for the ^0000FFCraftman Apprentice^000000.";
- next;
- mes "[Tutorial Instructor]";
- mes "Do you think you understand a little bit more about ^006400ENCHANT^000000?";
- close;
- case 4:
- mes "[Tutorial Instructor]";
- mes "^006400Vend Search^000000 can be utilized by the ^006400Universal Silver Catalog^000000 item. Since you search through as vends on that map, it'll make it easier for you to find the item that you're looking for.";
- next;
- mes "[Tutorial Instructor]";
- mes "The ^006400Universal Silver Catalog^000000";
- mes "can be obtained from ";
- mes "the ^0000FFCatalogue Wizard^000000";
- mes "that is located in South Prontera;";
- next;
- mes "[Tutorial Instructor]";
- mes "It only costs 200 zeny for one";
- mes "of these and with it you can";
- mes "search up to 10 times.";
- mes "You can say that it's a necessity.";
- next;
- mes "[Tutorial Instructor]";
- mes "So, are you getting familiar with ^006400Vend Search^000000? Don't just stand there and listen to me. Go ahead and try it for yourself!";
- close;
- case 5:
- mes "[Tutorial Instructor]";
- mes "Depending on what you need, ^006400Mercenary^000000 and ^006400Pet^000000 can be used in various ways.";
- next;
- mes "[Tutorial Instructor]";
- mes "If a 006400Mercenary^000000 gives you direct effect";
- mes "by fighting for you";
- mes "then a ^006400Pet^000000 helps you indirectly with their";
- mes "abilities and varied appearances,";
- mes "and it captures your heart.";
- next;
- mes "[Tutorial Instructor]";
- mes "In order to employ a Mercenary";
- mes "Go find the ^006400Mercenary Guild^000000";
- mes "which is by the front door of ^8B4513Prontera^000000.";
- mes "Go to the ^006400Information Agent^000000";
- mes "and ask them where the ^006400Mercenary Guild Official^000000";
- mes "is located and they will let you know.";
- next;
- mes "[Tutorial Instructor]";
- mes "In order to get a ^006400Pet^000000, while hunting you will obtain taming items. Use the tame on the monster it's for and you can get a pet.";
- next;
- mes "[Tutorial Instructor]";
- mes "Because there is a chance for failure, please use the taming item with great care.";
- next;
- mes "[Tutorial Instructor]";
- mes "That aside... you can get a ^006400Mercenary^000000 from the Mercenary Guild and you can get a ^006400Pet^000000 by trading or buying it from another player.";
- next;
- mes "[Tutorial Instructor]";
- mes "Now, do you understand a bit more about using a ^006400Mercenary^000000 and a ^006400Pet^000000? I hope you get a chance to use them in the future.";
- close;
- case 6:
- mes "[Tutorial Instructor]";
- mes "If you have any questions, come find me again.";
- close;
- }
}
mes "[Tutorial Instructor]";
mes "Lately, it has been said that";
@@ -590,7 +591,7 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{
moc_para01,32,179,4 script Tutorial Goal 4_F_KHELLY,{
if (checkweight(Seed_Of_Yggdrasil,7) == 0) {
- if (MaxWeight - Weight < getiteminfo(608,7)) {
+ if (MaxWeight - Weight < getiteminfo(Seed_Of_Yggdrasil, ITEMINFO_WEIGHT)) {
mes "[Tutorial Goal]";
mes "You seem to be overweight with items. Go put some stuff away then come back.";
close;
diff --git a/npc/re/quests/homun_s.txt b/npc/re/quests/homun_s.txt
index 92849c7a5..c1ee52d52 100644
--- a/npc/re/quests/homun_s.txt
+++ b/npc/re/quests/homun_s.txt
@@ -518,17 +518,17 @@ que_house_s,24,47,3 script Viorel#homun_s 4_M_ALCHE_E,{
mes "Excellent!";
mes "Let's get on with it.";
next;
- specialeffect2 EF_BASH;
+ specialeffect(EF_BASH, AREA, playerattached());
mes "[Viorel]";
mes "Now focus~!";
mes "You... need...";
mes "... concentration.";
next;
- specialeffect2 EF_PROVIDENCE;
+ specialeffect(EF_PROVIDENCE, AREA, playerattached());
mes "[Viorel]";
mes "Good. Almost done!";
next;
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
Zeny -= 50000;
hommutate .@Homunculus;
break;
@@ -561,21 +561,21 @@ que_house_s,24,47,3 script Viorel#homun_s 4_M_ALCHE_E,{
mes "Hey, I feel like a Blacksmith!";
mes "Now let's get on with it.";
next;
- specialeffect2 EF_BASH;
+ specialeffect(EF_BASH, AREA, playerattached());
mes "[Viorel]";
mes "Now focus~!";
mes "You... need...";
mes "... concentration.";
next;
- specialeffect2 EF_PRESSURE;
+ specialeffect(EF_PRESSURE, AREA, playerattached());
mes "[Viorel]";
mes "Concentrate a little more!";
next;
- specialeffect2 EF_PROVIDENCE;
+ specialeffect(EF_PROVIDENCE, AREA, playerattached());
mes "[Viorel]";
mes "Good. Almost done!";
next;
- specialeffect2 EF_SUI_EXPLOSION;
+ specialeffect(EF_SUI_EXPLOSION, AREA, playerattached());
hommutate;
break;
}
@@ -746,22 +746,22 @@ que_house_s,80,42,3 script Jeyna#homun_s 4_F_ALCHE_A,{
mes "[Jeyna]";
mes "Now I need you to focus.";
next;
- specialeffect2 EF_ABSORBSPIRITS;
+ specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
mes "[Jeyna]";
mes "We need to...";
mes "Stabilize a little more.";
mes ".......";
next;
- specialeffect2 EF_CURE;
+ specialeffect(EF_CURE, AREA, playerattached());
mes "[Jeyna]";
mes "In a few moments, the ^FF4800Homunculus^000000 will return to its embryo state.";
next;
- specialeffect2 EF_HOLYHIT;
+ specialeffect(EF_HOLYHIT, AREA, playerattached());
mes "[Jeyna]";
mes "Into a special embryo...";
next;
callsub L_CheckHomunculus;
- specialeffect2 EF_BLESSING;
+ specialeffect(EF_BLESSING, AREA, playerattached());
morphembryo;
setquest 4159;
erasequest 4158;
diff --git a/npc/re/quests/magic_books.txt b/npc/re/quests/magic_books.txt
index 3ffac3243..bcf94c4a0 100644
--- a/npc/re/quests/magic_books.txt
+++ b/npc/re/quests/magic_books.txt
@@ -664,9 +664,9 @@ mid_camp,255,244,4 script Galfos 4_M_JOB_WIZARD,{
if (Zeny >= 1000000) {
mes "Alright then, let's get started!";
next;
- specialeffect2 EF_DISPELL;
+ specialeffect(EF_DISPELL, AREA, playerattached());
progressbar "ffff00",4;
- specialeffect2 EF_LORD;
+ specialeffect(EF_LORD, AREA, playerattached());
Zeny -= 1000000;
getitem 6194+.@i,1; //Magic_Book_CM, Magic_Book_TV
mes "[Galfos]";
@@ -709,7 +709,7 @@ dic_in01,25,190,0 script Mysterious Documents CLEAR_NPC,{
mes "The documents in this container aren't legible. It's no use trying to read them.";
close;
}
- specialeffect2 EF_DISPELL;
+ specialeffect(EF_DISPELL, AREA, playerattached());
progressbar "ffff00",4;
if (mac_book < 3) {
mes "You have discovered records about magic, acceleration, and particle waves.";
@@ -731,7 +731,7 @@ dic_in01,25,190,0 script Mysterious Documents CLEAR_NPC,{
mes "^660066You must do this by using the greatest power in that place. The Humans have used this method to study the acceleration of magic particles since ancient times.^000000";
next;
mes "You have discovered the ^990099Lava Essence Creation Method^000000. Please check your Quest window for more details.";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
close2;
setquest 12218;
end;
@@ -749,7 +749,7 @@ dic_in01,25,190,0 script Mysterious Documents CLEAR_NPC,{
mes "^660066According to Humans' information, this essence constitutes one of the four natural elements.^000000";
next;
mes "You have discovered the ^990099Flame Essence Creation Method^000000. Please check your Quest window for more details.";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
close2;
setquest 12219;
end;
@@ -766,7 +766,7 @@ dic_in01,25,190,0 script Mysterious Documents CLEAR_NPC,{
mes "^660066I succeeded in refining the essence of glacier deep inside the 3rd floor of the Ice Cave. If you'd like to try, prepare 10 Ice Hearts and go to the following location.^000000";
next;
mes "You have discovered the ^990099Glacier Essence Creation Method^000000. Please check your Quest window for more details.";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
close2;
setquest 12220;
end;
@@ -784,7 +784,7 @@ dic_in01,25,190,0 script Mysterious Documents CLEAR_NPC,{
mes "If you'd like to try, prepare 10 Jubilees and go to the dungeon. Good luck.^000000";
next;
mes "You have discovered the ^990099Fossil Essence Creation Method^000000. Please check your Quest window for more details.";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
close2;
setquest 12221;
end;
@@ -802,7 +802,7 @@ dic_in01,25,190,0 script Mysterious Documents CLEAR_NPC,{
mes "The refining process was easy, but I had a hard time finding the catalyst, Dragon Teeth.^000000";
next;
mes "You have discovered the ^990099Storm Essence Creation Method^000000. Please check your Quest window for more details.";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
close2;
setquest 12222;
end;
@@ -828,8 +828,8 @@ function script Magic_Book_Essence {
close;
}
if (questprogress(getarg(0)) == 1 && countitem(getarg(1)) >= getarg(2)) {
- specialeffect2 EF_BLIND;
- specialeffect2 EF_BEGINSPELL;
+ specialeffect(EF_BLIND, AREA, playerattached());
+ specialeffect(EF_BEGINSPELL, AREA, playerattached());
progressbar "ffff00",4;
delitem getarg(1),getarg(2);
if (rand(2)) {
@@ -837,7 +837,7 @@ function script Magic_Book_Essence {
next;
mes "^008800The "+getarg(3)+" Essence will last permanently, unless there's a problem.^000000";
completequest getarg(0);
- specialeffect2 EF_LORD;
+ specialeffect(EF_LORD, AREA, playerattached());
close;
}
mes "^008888You have failed to refine the essence using "+getarg(2)+" "+getitemname(getarg(1))+"s.^000000";
diff --git a/npc/re/quests/newgears/2012_headgears.txt b/npc/re/quests/newgears/2012_headgears.txt
index e243300d5..80df8d650 100644
--- a/npc/re/quests/newgears/2012_headgears.txt
+++ b/npc/re/quests/newgears/2012_headgears.txt
@@ -339,7 +339,7 @@ moc_para01,41,169,3 script Reno#2012hat 1_M_WIZARD,{
mes "[Reno]";
mes "You might feel a slight tingle.";
next;
- specialeffect2 EF_BASH3D;
+ specialeffect(EF_BASH3D, AREA, playerattached());
percentheal .@rate * -5,0;
//consumeitem ??; //Keep_Connection_[.@rate]
sc_start .@buffs[.@choice], 10800000, .@rate; // Atk/Matk + 5*rate (+5, +10, +15)
@@ -573,7 +573,7 @@ moc_para01,41,169,3 script Reno#2012hat 1_M_WIZARD,{
close;
}
}
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
progressbar "ffff00",2;
delitem .@material,1;
if (.@material == Safety_Ring) {
diff --git a/npc/re/quests/quests_brasilis.txt b/npc/re/quests/quests_brasilis.txt
index ff8038166..4a60fd2bb 100644
--- a/npc/re/quests/quests_brasilis.txt
+++ b/npc/re/quests/quests_brasilis.txt
@@ -72,7 +72,7 @@ brasilis,297,307,5 script Angelo#br 1_M_04,{
getexp .@randexp,0;
erasequest 9031;
setquest 9032;
- specialeffect2 EF_ASSUMPTIO;
+ specialeffect(EF_ASSUMPTIO, AREA, playerattached());
consumeitem 607; //Yggdrasilberry
.@rand = rand(1,10);
if (.@rand > 4 && .@rand < 9) getitem White_Potion,2;
@@ -828,7 +828,7 @@ brasilis,203,64,3 script Strange Kid#bra 4_M_KID1,{
brasilis,56,224,7 script Mage Paje#bra 4_M_BIBI,{
mes "[Mage Paje]";
mes "Abracadabra~";
- specialeffect EF_POISONHIT,AREA,"Poring#bra";
+ specialeffect(EF_POISONHIT, AREA, getnpcid("Poring#bra"));
setarray .@display[0], 4_NFCOCK, 4_CAT, 4_PORING;
setnpcdisplay "Poring#bra",.@display[rand(3)];
if (brazil_gua != 5) close;
@@ -868,7 +868,7 @@ brasilis,56,224,7 script Mage Paje#bra 4_M_BIBI,{
mes "Good luck~!";
brazil_gua = 6;
changequest 2195,2196;
- specialeffect2 EF_ASSUMPTIO;
+ specialeffect(EF_ASSUMPTIO, AREA, playerattached());
close;
}
@@ -925,7 +925,7 @@ OnTouch:
mes "Fly fly far away. bbaaaeeeccckkk--!";
brazil_gua = 7;
changequest 2196,2197;
- specialeffect2 EF_SEISMICWEAPON;
+ specialeffect(EF_SEISMICWEAPON, AREA, playerattached());
close2;
warp "bra_fild01",68,146;
end;
@@ -950,7 +950,7 @@ OnTouch_:
mes "Smelling! This smell is from a human!";
mes "Somewhere, a human!";
mes "I got it. You are!!!";
- specialeffect EF_HIT1,AREA,"Jaguar#bra";
+ specialeffect(EF_HIT1, AREA, getnpcid("Jaguar#bra"));
emotion e_omg,1;
next;
mes "[Jaguar]";
@@ -1875,7 +1875,7 @@ bra_dun02,71,200,3 script Water lily#bra HIDDEN_NPC,{
next;
mes "- munch -";
mes "- mumble mumble mumble -";
- specialeffect EF_POTION7,AREA,"Recluse#bra";
+ specialeffect(EF_POTION7, AREA, getnpcid("Recluse#bra"));
next;
mes "[Jasi]";
mes "Uh, this taste... is!";
@@ -2281,7 +2281,7 @@ bra_in01,149,184,3 script Door#bra CLEAR_NPC,{
mes "^FF0000kkkkhee- hihihihi!!!^000000";
mes "You hear water flushing.";
next;
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
mes "Faint laughing can be heard off in the direction of the toilet.";
brazil_ghost = 3;
changequest 2208,60351;
@@ -2327,7 +2327,7 @@ bra_in01,144,187,3 script Toilet#bra CLEAR_NPC,{
switch(select("Flush the toilet.", "Doing nothing.")) {
case 1:
mes "After flushing the toilet, you suddenly feel dizzy and are suddenly swept away somewhere.";
- specialeffect2 EF_WATERFALL_SMALL_T2_90;
+ specialeffect(EF_WATERFALL_SMALL_T2_90, AREA, playerattached());
close2;
warp "bra_in01",206,102;
end;
@@ -2371,7 +2371,7 @@ bra_in01,144,187,3 script Toilet#bra CLEAR_NPC,{
mes "^FF0000kkkkhee- hihihihi!!!^000000";
mes "Suddenly the sink sounds like water is flowing freely from it.";
next;
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
mes "Faint laughing can be heard off in the direction of the faucet.";
brazil_ghost = 4;
changequest 60351,60352;
@@ -2450,7 +2450,7 @@ bra_in01,134,189,3 script Faucet#bra CLEAR_NPC,{
mes "^FF0000kkkkhee- hihihihi!!!^000000";
mes "You see the carpet move.";
next;
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
mes "Faint laughing can be heard off in the direction of the carpet.";
brazil_ghost = 5;
changequest 60352,60353;
@@ -2532,7 +2532,7 @@ bra_in01,138,184,3 script Carpet#bra CLEAR_NPC,{
mes "[Distant Sound]";
mes "^FF0000kkkkhee- hihihihi!!!^000000";
next;
- specialeffect2 EF_VENOMDUST;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
mes "Faint laughing can be heard off in the direction of the mirror.";
brazil_ghost = 6;
changequest 60353,60354;
@@ -2628,7 +2628,7 @@ bra_in01,151,180,3 script Mirror#bra CLEAR_NPC,{
}
}
if (.@cpudice > .@pcdice) {
- specialeffect2 EF_DEVIL;
+ specialeffect(EF_DEVIL, AREA, playerattached());
mes "[Ghost]";
mes "^FF0000Go away!^000000";
brazil_ghost = 1;
diff --git a/npc/re/quests/quests_dewata.txt b/npc/re/quests/quests_dewata.txt
index 52a604278..1b57e4397 100644
--- a/npc/re/quests/quests_dewata.txt
+++ b/npc/re/quests/quests_dewata.txt
@@ -135,7 +135,7 @@ dew_in01,22,48,3 script Sage Kasyapa#dew 4_M_DEWZATIMAN,{
mes "that you are a trustworthy sort... but...";
next;
mes "There is a brief twinkling of light ^0000FFKasyapa^000000 all of sudden seems to be taken aback.";
- specialeffect2 EF_PNEUMA;
+ specialeffect(EF_PNEUMA, AREA, playerattached());
next;
mes "[Sage Kasyapa]";
mes "Ah, the feather......!";
@@ -191,7 +191,7 @@ dew_in01,22,48,3 script Sage Kasyapa#dew 4_M_DEWZATIMAN,{
mes "Please, it would honor us if you would take it.";
next;
if (checkweight(Cendrawasih_SF,1) == 0) {
- if (Weight + getiteminfo(6406,6) > MaxWeight) {
+ if (Weight + getiteminfo(Cendrawasih_SF, ITEMINFO_WEIGHT) > MaxWeight) {
mes "[Sage Kasyapa]";
mes "You are carrying too much weight over the limit.";
mes "I cannot get you your reward unless you reduce the amount of weighty items you are carrying.";
@@ -210,7 +210,7 @@ dew_in01,22,48,3 script Sage Kasyapa#dew 4_M_DEWZATIMAN,{
mes "[Sage Kasyapa]";
mes "The reason I asked you to embark on this important mission is because of this feather.";
mes "Handed down from generation to generation the legendary origin of the crown is this feather...";
- specialeffect2 EF_PNEUMA;
+ specialeffect(EF_PNEUMA, AREA, playerattached());
next;
mes "[Sage Kasyapa]";
mes "I saw this feather begin to shine when you came here.";
@@ -338,7 +338,7 @@ dew_in01,15,49,4 script Tribal Chief Paiko#dew 4_M_DEWZATICHIEF,{
mes "Alright, let me begin crafting the ^006400Jaty Crown^000000 I feel that I am ready.";
next;
mes "Suddenly, a large noise begins to boom as you and ^0000FFPaiko^000000 are surrounded by warm and bright sparkling energy like a thousand tinkling fireflies.";
- specialeffect2 EF_BASH3D2;
+ specialeffect(EF_BASH3D2, AREA, playerattached());
close;
} else if (dew_legend == 6) {
mes "[Tribal Chief Paiko]";
@@ -1587,7 +1587,7 @@ dew_fild01,259,48,4 script Poby#dew_drink 4_M_DEWBOY,{
case 14:
case 16:
case 20:
- specialeffect2 EF_BASH;
+ specialeffect(EF_BASH, AREA, playerattached());
if (isequipped(5009)) { //Safety_Helmet
mes "something falls on your head, but since you're wearing a Safety Helmet you're safe and sound.";
emotion e_no1,1;
@@ -2002,7 +2002,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
mes "[Gatti]";
mes "Great! We have enough. Wait a little.";
next;
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
next;
emotion e_swt2;
next;
@@ -2046,7 +2046,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
mes "[Gatti]";
mes "You have all the materials. Wait just a little.";
next;
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
next;
emotion e_swt2;
next;
@@ -2113,7 +2113,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
mes "You don't have all the materials. It's impossible to reinforce if you don't have them all. If you want to reinforce, bring 100,000 zeny and 1 Caress.";
close;
}
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
progressbar "0xFFFF00",3;
Zeny -= 100000;
diff --git a/npc/re/quests/quests_dicastes.txt b/npc/re/quests/quests_dicastes.txt
index 0aa4ffa1a..817b4780d 100644
--- a/npc/re/quests/quests_dicastes.txt
+++ b/npc/re/quests/quests_dicastes.txt
@@ -487,7 +487,7 @@ function script que_dic {
}
getexp getarg(2),0;
erasequest getarg(1);
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
getitem 6304,1;
close;
}
@@ -1043,7 +1043,7 @@ dic_in01,40,193,1 script Papyrus#0001 4_MAN_NITT,{
mes "Ugh... feel dizzy from simply staring at the document. Will come back after cooling down";
close;
}
- specialeffect2 EF_DISPELL;
+ specialeffect(EF_DISPELL, AREA, playerattached());
progressbar "ffff00",4;
.@doc = rand(1,70);
if (.@doc > 50 && .@doc <= 60) {
@@ -1115,7 +1115,7 @@ dic_in01,40,193,1 script Papyrus#0001 4_MAN_NITT,{
mes "^660066"+getarg(3)+"^000000";
next;
mes "You've found a document about ^990099"+getarg(1)+"^000000. Check for details in the ^800080Quest Window^000000.";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
setquest getarg(0);
close;
}
@@ -1131,17 +1131,17 @@ function script unknown_d {
mes "You see some traces of digging.";
close;
}
- specialeffect2 EF_SPRINKLESAND;
- specialeffect2 EF_BEGINSPELL_N1;
+ specialeffect(EF_SPRINKLESAND, AREA, playerattached());
+ specialeffect(EF_BEGINSPELL_N1, AREA, playerattached());
progressbar "ffff00",4;
erasequest getarg(0);
mes "You were able to find information on the "+getitemname(getarg(1))+".";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
getitem getarg(1),rand(1,4);
if (!rand(2)) {
next;
mes "In addition, you've obtained an unknown relic to report back to the Saphas.";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
getitem Unidentified_Relic,1;
}
close;
@@ -3901,8 +3901,8 @@ dic_in01,245,119,4 script Shay#ep133_13 4_M_ACROSS,{
next;
mes "[Shay]";
mes "Stop!!!!!!!!!!!!!";
- specialeffect2 EF_HIT1;
- specialeffect2 EF_HIT2;
+ specialeffect(EF_HIT1, AREA, playerattached());
+ specialeffect(EF_HIT2, AREA, playerattached());
percentheal -30,0;
next;
mes "-Shay got all upset and threw something sticky and smelly.";
@@ -6990,7 +6990,7 @@ dic_in01,42,264,3 script Adventurer Clerk#ep133 4_MAN_NITT,{
mes "Ok, let's get this started.";
mes "I'm going to remove all enchantments from your Light of El Dicastes.";
mes "Haaap--!";
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
progressbar "ffff00",3;
delitem Sapa_Feat_Cert,6;
delitem El_Dicastes_Light,1;
@@ -7169,7 +7169,7 @@ dic_in01,42,264,3 script Adventurer Clerk#ep133 4_MAN_NITT,{
mes "Then, take the equipment off first.";
close;
}
- specialeffect2 EF_OVERTHRUST;
+ specialeffect(EF_OVERTHRUST, AREA, playerattached());
mes .@n$;
if (.@re$ == "Brare") mes "I've collected all equipment and erased all records as you requested. Now all your equipment and records are clean.";
else mes "I only do what I'm asked to do. I've retrieved all equipment and cancelled all records.";
@@ -7248,7 +7248,7 @@ dic_in01,42,264,3 script Adventurer Clerk#ep133 4_MAN_NITT,{
mes "Please come back again";
close;
}
- specialeffect2 EF_OVERTHRUST;
+ specialeffect(EF_OVERTHRUST, AREA, playerattached());
mes .@n$;
mes "I have erased all previous records";
mes "of upgrades to start all over with";
@@ -7280,7 +7280,7 @@ dic_in01,42,264,3 script Adventurer Clerk#ep133 4_MAN_NITT,{
mes .@n$;
mes "Then let's start.";
next;
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
progressbar "ffff00",3;
delitem 6304,.@req;
if (getd("ep13_3_"+.@v$) == 0) {
diff --git a/npc/re/quests/quests_eclage.txt b/npc/re/quests/quests_eclage.txt
index d669d0d46..ac6717529 100644
--- a/npc/re/quests/quests_eclage.txt
+++ b/npc/re/quests/quests_eclage.txt
@@ -5029,7 +5029,7 @@ OnTouch:
mes "- Something hits you";
mes "over the head really hard.";
mes "Your body loses its strength and your vision goes blurry -";
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
sc_start SC_BLIND,30000,0;
next;
mes "- Oh, I can't lose my consciousness like this -";
@@ -6496,7 +6496,7 @@ eclage,222,131,3 script Wandering Merchant#ecl 1_M_SIGNMCNT,{
}
progressbar "0xFFFF00",3;
.@nRand = rand(1,10);
- specialeffect2 EF_ENHANCE;
+ specialeffect(EF_ENHANCE, AREA, playerattached());
Zeny -= 10000;
if ((.@nRand > 0) && (.@nRand < 5)) {
getitem Center_Potion,1; //Center_Potion
@@ -17001,7 +17001,7 @@ ecl_in03,41,90,3 script Mayor Jun Kardui#tl01 4_M_FARIYKING,{
mes strcharinfo(PC_NAME) + ".";
mes "This is a present for you.";
mes "I hope my magical powers help you improve.";
- specialeffect2 EF_FORESTLIGHT4;
+ specialeffect(EF_FORESTLIGHT4, AREA, playerattached());
delitem Avant_Research_Data,1; //Avant_Research_Data
if (ep14_2_mylord == 23) {
getexp 400000,300000;
@@ -17444,7 +17444,7 @@ ecl_in03,41,90,3 script Mayor Jun Kardui#tl01 4_M_FARIYKING,{
mes "You've been a great help all this time.";
mes "Will you stay as my friend now and forever?";
mes "May the blessing of Yggdrasil be upon you...";
- specialeffect2 EF_FORESTLIGHT4;
+ specialeffect(EF_FORESTLIGHT4, AREA, playerattached());
npcskill AL_BLESSING,1,0,0;
ep14_2_mylord = 33;
completequest 7453;
diff --git a/npc/re/quests/quests_malangdo.txt b/npc/re/quests/quests_malangdo.txt
index 1351ab80a..786aeccb1 100644
--- a/npc/re/quests/quests_malangdo.txt
+++ b/npc/re/quests/quests_malangdo.txt
@@ -1174,10 +1174,49 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{
} else if (ma_tomas == 14) {
// Dialogue in repeatable quest is identical.
// Uses a variable to determine the quest mode.
- @mal_bob_q = 1;
- L_Quest1:
- .@i = @mal_bob_q;
- @mal_bob_q = 0;
+ .@i = 1;
+ } else if (ma_tomas == 15) {
+ .@i = 3;
+ } else if (ma_tomas == 16) {
+ mes "[Bob]";
+ mes "Khhh~~~~~~~~~~~~~~~~~~~~~~";
+ mes "That was perfect!";
+ emotion e_no1;
+ next;
+ mes "[Bob]";
+ mes "The adhesive filled in just right!!";
+ mes "The perfect stapler job!!";
+ mes "The speechless and marvelous finishing skill!!";
+ next;
+ mes "[Bob]";
+ mes "Impressed!";
+ mes "Mysterious!";
+ mes "Shocked!";
+ emotion e_omg;
+ next;
+ mes "[Bob]";
+ mes "You did a great job indeed!!!";
+ mes "I will tell Dr. Mali!";
+ if (countitem(Fix_Kit) > 0)
+ delitem Fix_Kit,1;
+ ma_tomas = 17;
+ changequest 11223,11224;
+ close;
+ } else if (ma_tomas > 99) {
+ if (questprogress(11240))
+ .@i = 2;
+ else if (questprogress(11241))
+ .@i = 3;
+ } else {
+ mes "[Bob]";
+ mes "You bow-wow! bow! wow! I mew! mew! mew!";
+ mes "I'm into juice from delicious fish, mew~";
+ emotion e_ho;
+ close;
+ }
+ switch (.@i) {
+ case 1:
+ case 2:
mes "[Bob]";
mes "You bow-wow! bow! wow! I mew! mew! mew!";
mes "I'm into juice from delicious fish, mew~";
@@ -1251,8 +1290,7 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{
emotion e_otl;
close;
}
- } else if (ma_tomas == 15) {
- L_Quest2:
+ case 3:
if (checkweight(Knife,1) == 0) {
mes " - Notice !! -";
mes " - Since you have too many items - ";
@@ -1283,43 +1321,7 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{
mes "Ah, right...";
mes "^0000ffYou may fall into the gap of the crack, unfortunately, so please watch out.^000000";
close;
- } else if (ma_tomas == 16) {
- mes "[Bob]";
- mes "Khhh~~~~~~~~~~~~~~~~~~~~~~";
- mes "That was perfect!";
- emotion e_no1;
- next;
- mes "[Bob]";
- mes "The adhesive filled in just right!!";
- mes "The perfect stapler job!!";
- mes "The speechless and marvelous finishing skill!!";
- next;
- mes "[Bob]";
- mes "Impressed!";
- mes "Mysterious!";
- mes "Shocked!";
- emotion e_omg;
- next;
- mes "[Bob]";
- mes "You did a great job indeed!!!";
- mes "I will tell Dr. Mali!";
- if (countitem(Fix_Kit) > 0)
- delitem Fix_Kit,1;
- ma_tomas = 17;
- changequest 11223,11224;
- close;
- } else if (ma_tomas > 99) {
- if (questprogress(11240)) {
- @mal_bob_q = 2;
- goto L_Quest1;
- } else if (questprogress(11241))
- goto L_Quest2;
- }
- mes "[Bob]";
- mes "You bow-wow! bow! wow! I mew! mew! mew!";
- mes "I'm into juice from delicious fish, mew~";
- emotion e_ho;
- close;
+ }
}
- script Crack#mal0 FAKE_NPC,{
@@ -2221,38 +2223,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{
} else if (ma_tomas == 26) {
// Dialogue in repeatable quest is identical.
// Uses a variable to determine the quest mode.
- @mal_bob_q = 1;
- L_Quest:
- .@i = @mal_bob_q;
- @mal_bob_q = 0;
- if (countitem(Delicious_Jelly) < 30) {
- mes "[Biscuit]";
- mes "It's not enough at all~";
- mes "I need at least 30 Delicious Jelly.";
- close;
- }
- mes "[Biscuit]";
- mes "You got them well.";
- mes "There won't be any problem to prepare her meal.";
- delitem Delicious_Jelly,30;
- if (.@i == 1) {
- ma_tomas = 27;
- changequest 11231,11232;
- } else {
- erasequest 11244;
- setquest 11245;
- getitem Egrade_Coin,5;
- }
- next;
- mes "[Biscuit]";
- mes "Though the jelly looks strange, it tastes good...";
- mes "Star Candy seems to like it a lot as well.";
- next;
- mes "[Biscuit]";
- mes "Have your meal, Star Candy~";
- mes "Uhhh, why don't you eat it?";
- mes "You have no appetite?";
- close;
+ .@i = 1;
} else if (ma_tomas == 27) {
mes "[Biscuit]";
mes "Hooo.. it's natural that you have no appetite...";
@@ -2403,8 +2374,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{
close;
} else if (ma_tomas > 99) {
if (questprogress(11244)) {
- @mal_bob_q = 2;
- goto L_Quest;
+ .@i = 2;
} else if (questprogress(11245,PLAYTIME) == 1) {
mes "[Biscuit]";
mes "I'll call you when I need you, so don't worry!";
@@ -2430,10 +2400,39 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{
close;
}
}
+ } else {
+ mes "[Biscuit]";
+ mes "Star Candy is really good.";
+ mes "She never loses her smile, even though it's so hard to stand...";
+ close;
+ }
+ if (countitem(Delicious_Jelly) < 30) {
+ mes "[Biscuit]";
+ mes "It's not enough at all~";
+ mes "I need at least 30 Delicious Jelly.";
+ close;
}
mes "[Biscuit]";
- mes "Star Candy is really good.";
- mes "She never loses her smile, even though it's so hard to stand...";
+ mes "You got them well.";
+ mes "There won't be any problem to prepare her meal.";
+ delitem Delicious_Jelly,30;
+ if (.@i == 1) {
+ ma_tomas = 27;
+ changequest 11231,11232;
+ } else {
+ erasequest 11244;
+ setquest 11245;
+ getitem Egrade_Coin,5;
+ }
+ next;
+ mes "[Biscuit]";
+ mes "Though the jelly looks strange, it tastes good...";
+ mes "Star Candy seems to like it a lot as well.";
+ next;
+ mes "[Biscuit]";
+ mes "Have your meal, Star Candy~";
+ mes "Uhhh, why don't you eat it?";
+ mes "You have no appetite?";
close;
}
@@ -9705,7 +9704,7 @@ mal_in01,134,221,4 script KungKung#gamer 4_M_BABYCAT,{
if (.@cat_hand <= 5) {
--.@pc_hp0;
cutin "cat_g_05",4;
- specialeffect2 EF_BASH;
+ specialeffect(EF_BASH, AREA, playerattached());
mes "Defending has failed.";
mes "KungKung attacks the back of your hand with its sharp claw.";
next;
@@ -9730,7 +9729,7 @@ mal_in01,134,221,4 script KungKung#gamer 4_M_BABYCAT,{
} else {
.@pc_hp -= 10;
cutin "cat_g_08",4;
- specialeffect2 EF_BASH;
+ specialeffect(EF_BASH, AREA, playerattached());
mes "Defending has failed.";
mes "KungKung attacks the back of your hand with its sharp claw.";
next;
@@ -10580,7 +10579,7 @@ mal_in01,15,16,3 script Fallen Angel#mal 4_F_VALKYRIE2,{
mes "Ok! Take your time to consider!";
close;
}
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
progressbar "ffff00",2;
if (getequipisequiped(EQI_GARMENT) == 0) {
mes "[Fallen Angel]";
@@ -10667,7 +10666,7 @@ mal_in01,15,16,3 script Fallen Angel#mal 4_F_VALKYRIE2,{
mes "Ok! Take your time to consider!";
close;
}
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
progressbar "ffff00",2;
if (getequipisequiped(EQI_GARMENT) == 0) {
mes "[Fallen Angel]";
diff --git a/npc/re/quests/quests_malaya.txt b/npc/re/quests/quests_malaya.txt
index 410ee71a7..091d8527a 100644
--- a/npc/re/quests/quests_malaya.txt
+++ b/npc/re/quests/quests_malaya.txt
@@ -2426,67 +2426,64 @@ malaya,326,68,2 script Pedro the Sailor 4W_SAILOR,{
end;
} else if (.@playtime == 2) {
erasequest 7401;
- goto L_SetQuest;
} else {
if (!questprogress(7403)) {
- if (!questprogress(7402)) {
- goto L_SetQuest;
+ if (questprogress(7402)) {
+ 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;
}
+ } else {
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.";
+ 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 "Give the Bouquet to Miss Diwata to cheer her up.";
- mes "....Thank you.";
+ 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 Lesser_Agimat, 2; // Lesser_Agimat
+// else
+// getitem Lesser_Agimat, 1; // Lesser_Agimat
+ getexp 200000,200000;
+ if (!rand(3))
+ $malayaNames$[0] = strcharinfo(PC_NAME);
close;
}
+ }
+ 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 "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 Lesser_Agimat, 2; // Lesser_Agimat
-// else
-// getitem Lesser_Agimat, 1; // Lesser_Agimat
- getexp 200000,200000;
- if (!rand(3))
- $malayaNames$[0] = strcharinfo(PC_NAME);
+ 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;
}
}
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 G_SKOGUL,4,4,{
@@ -3373,7 +3370,7 @@ ma_fild01,166,214,6 script Old Man in Dilemma#GA 4_F_BARYO_OLD,{
next;
if(select("Create.", "No, thank you.") == 1) {
if (countitem(Lesser_Agimat) >= 3 && Zeny >= 1000) {
- specialeffect2 EF_CONE;
+ specialeffect(EF_CONE, AREA, playerattached());
specialeffect EF_FORESTLIGHT2;
Zeny -= 1000;
getitem Ancient_Spirit_Agimat,1;
@@ -3827,7 +3824,7 @@ ma_fild01,158,243,6 script Tribe Blacksmith#malaya 4_M_MALAYA,{
mes "[Bayani]";
mes "Pow!! Wow!! Flip... flop!";
next;
- specialeffect2 EF_TRIPLEATTACK;
+ specialeffect(EF_TRIPLEATTACK, AREA, playerattached());
mes "[Bayani]";
mes "BAM!!";
next;
@@ -4789,7 +4786,7 @@ ma_fild02,312,259,3 script Dog#buwaya 4_DOG01,{
next;
mes "^FF0000- Shoook-^000000";
enablenpc "Guard#buwayacave";
- specialeffect2 EF_MVP;
+ specialeffect(EF_MVP, AREA, playerattached());
next;
mes "[Guard]";
mes "Job well done!";
@@ -7333,14 +7330,14 @@ malaya,55,72,4 script Nurse#ma_n1 4_F_NURSE,{
close;
}
mes "The voice seems to be coming from the bushes near the entrance of the hospital.";
- specialeffect EF_STEAL,AREA,"Bushes#ma";
+ specialeffect(EF_STEAL, AREA, getnpcid("Bushes#ma"));
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";
+ specialeffect(EF_STEAL, AREA, getnpcid("Bushes#ma"));
close;
} else if (malaya_bang == 14) {
mes "[Nurse Las]";
@@ -8792,11 +8789,11 @@ ma_fild01,172,223,6 script Tattooist#pin 4_M_BARYO_OLD,{
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";
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#01"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#02"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#03"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#04"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("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.";
@@ -8906,11 +8903,11 @@ ma_fild01,172,223,6 script Tattooist#pin 4_M_BARYO_OLD,{
}
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";
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#01"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#02"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#03"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("Ancient Grudge#04"));
+ specialeffect(EF_FLAMELAUNCHER, AREA, getnpcid("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;
diff --git a/npc/re/quests/quests_mora.txt b/npc/re/quests/quests_mora.txt
index 39ca8649c..34293d200 100644
--- a/npc/re/quests/quests_mora.txt
+++ b/npc/re/quests/quests_mora.txt
@@ -3719,7 +3719,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
} else {
mes "When you attempt to run away, the unidentified creature sees you and attacks. You fail to escape.";
next;
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
mes "The creature slams you with its tail. It's so painful that a tear rolls out of your eyes. ^FF000010^000000 damaged received.";
.@pc_hp -= 10;
next;
@@ -3839,15 +3839,15 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
case 1:
switch(.@npc_attack) {
case 1:
- specialeffect2 EF_ICEARROW;
+ specialeffect(EF_ICEARROW, AREA, playerattached());
mes "You stand still. The stream of water hits your face squarely. Your mind is clear in an instant. ^FF0000["+.@n_damage+"]^000000 damage received.";
break;
case 2:
- specialeffect2 EF_BASH;
+ specialeffect(EF_BASH, AREA, playerattached());
mes "You stand still. The creature headbutts you squarely. Your mind is clear in an instant. ^FF0000["+.@n_damage+"]^000000 damage received.";
break;
case 3:
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
mes "You stand still. While you were standing stupidly, the creature comes near and bites you mercilessly. Your mind is clear in an instant. ^FF0000["+.@n_damage+"]^000000 damage received.";
break;
}
@@ -3869,7 +3869,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
break;
// Hit.
default:
- specialeffect2 EF_ICEARROW;
+ specialeffect(EF_ICEARROW, AREA, playerattached());
.@pc_hp -= .@n_damage;
switch(.@miss) {
case 2: .@str$ = "face"; break;
@@ -3900,7 +3900,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
break;
// Hit.
default:
- specialeffect2 EF_BASH;
+ specialeffect(EF_BASH, AREA, playerattached());
.@pc_hp -= .@n_damage;
switch(.@miss) {
case 2: .@str$ = "With a thud, you can feel intense pain."; break;
@@ -3940,7 +3940,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
break;
// Hit.
default:
- specialeffect2 EF_HIT1;
+ specialeffect(EF_HIT1, AREA, playerattached());
.@pc_hp -= .@n_damage;
switch(.@miss) {
case 2: .@str$ = "leg. Its sharp teeth penetrate your legs."; break;
@@ -3961,9 +3961,9 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
case 1:
if (.@defend == 3 || .@defend == 6) {
.@n_damage /= 2;
- specialeffect2 EF_GUARD;
+ specialeffect(EF_GUARD, AREA, playerattached());
} else
- specialeffect2 EF_ICEARROW;
+ specialeffect(EF_ICEARROW, AREA, playerattached());
.@pc_hp -= .@n_damage;
mes "[Defense of "+strcharinfo(PC_NAME)+"]";
switch(.@defend) {
@@ -3986,9 +3986,9 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
case 2:
if (.@defend == 1 || .@defend == 3 || .@defend == 5 || .@defend == 7) {
.@n_damage /= 2;
- specialeffect2 EF_GUARD;
+ specialeffect(EF_GUARD, AREA, playerattached());
} else
- specialeffect2 EF_BASH;
+ specialeffect(EF_BASH, AREA, playerattached());
.@pc_hp -= .@n_damage;
mes "[Defense of "+strcharinfo(PC_NAME)+"]";
switch(.@defend) {
@@ -4011,7 +4011,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
case 3:
if (.@defend == 2 || .@defend == 4 || .@defend == 6 || .@defend == 8) {
.@n_damage /= 2;
- specialeffect2 EF_GUARD;
+ specialeffect(EF_GUARD, AREA, playerattached());
}
.@pc_hp -= .@n_damage;
mes "[Defense of "+strcharinfo(PC_NAME)+"]";
@@ -4544,7 +4544,7 @@ mora,115,98,0 script Hotcha#pa0829 4_ELEPHANT,{
mes "[Hotcha]";
mes "Yes, I see you've completed the task. It has been confirmed as completed.";
erasequest .@i;
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
if (BaseLevel > 99)
getexp 0, ((JobLevel < 50)?JobLevel * JobLevel * (110/100) * 50:0);
else
@@ -4745,7 +4745,7 @@ L_CheckQuest:
mes "I've received the items all right. It will be some time before I have another task for you, so why don't you visit the hot spring and relax?";
delitem getarg(1),getarg(2);
erasequest getarg(0);
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
if (BaseLevel > 99)
getexp 0, ((JobLevel < 50)?JobLevel * JobLevel * (110/100) * 50:0);
else
@@ -4941,7 +4941,7 @@ L_CheckQuest:
mes "I've received the items all right. I look forward to working with you again.";
delitem getarg(1),getarg(2);
erasequest getarg(0);
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
if (BaseLevel > 99)
getexp 0, ((JobLevel < 50)?JobLevel * JobLevel * (110/100) * 50:0);
else
@@ -5073,7 +5073,7 @@ mora,170,101,4 script Soul Guide#pa0829 4_F_DOGTRAVELER,{
}
next;
mes "^990099Information on missing person "+.@n$+"^000000 has been found. Check your Quest Window for further information.";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
close;
}
@@ -5125,17 +5125,17 @@ function script mora_remains {
close;
}
if (questprogress(getarg(0))) {
- specialeffect2 EF_BLIND;
- specialeffect2 EF_BEGINSPELL;
+ specialeffect(EF_BLIND, AREA, playerattached());
+ specialeffect(EF_BEGINSPELL, AREA, playerattached());
progressbar "ffff00",4;
erasequest getarg(0);
mes "These must be ["+getarg(1)+"]'s Remains. So carefully gather his remains.";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
getitem getarg(3), rand(1,getarg(4));
if (rand(10)) {
next;
mes "You picked up "+getarg(2)+" Mora Coins next to the remains.";
- specialeffect2 EF_STEAL;
+ specialeffect(EF_STEAL, AREA, playerattached());
getitem Mora_Coin,getarg(2);
}
close;
diff --git a/npc/re/scripts.conf b/npc/re/scripts.conf
index e64052f33..c26e907ad 100644
--- a/npc/re/scripts.conf
+++ b/npc/re/scripts.conf
@@ -134,6 +134,8 @@
"npc/re/other/resetskill.txt",
"npc/re/other/stone_change.txt",
"npc/re/other/turbo_track.txt",
+// - Clan System
+"npc/re/other/clans.txt",
//================= Quests ================================================
// - Eden Group -------------------------------------------------
diff --git a/npc/re/warps/cities/izlude.txt b/npc/re/warps/cities/izlude.txt
index 124e3ed1f..1e691e33b 100644
--- a/npc/re/warps/cities/izlude.txt
+++ b/npc/re/warps/cities/izlude.txt
@@ -82,7 +82,9 @@ OnTouch:
end;
OnInit:
- questinfo(21001, QTYPE_QUEST, 1, Job_Novice);
+ questinfo(QTYPE_QUEST, 1);
+ setquestinfo(QINFO_JOB, Job_Novice);
+ setquestinfo(QINFO_QUEST, 21001, 1);
end;
}
diff --git a/npc/re/woe-fe/invest_main.txt b/npc/re/woe-fe/invest_main.txt
index d743225df..6a65a9c78 100644
--- a/npc/re/woe-fe/invest_main.txt
+++ b/npc/re/woe-fe/invest_main.txt
@@ -741,7 +741,7 @@ OnAgitInvest:
mes "It is only called the Abyss Gate for convenience but it's simply a ^4d4dffgap to another dimension^000000.";
next;
mes .@n$;
- mes "More of these gaps are found here and there after Morocc created the Crack of Dimension.";
+ mes "More of these gaps are found here and there after Morroc created the Crack of Dimension.";
mes "I personally think that the Abyss Gate found recently is part of the past or even from the future.";
next;
mes .@n$;
diff --git a/npc/scripts.conf b/npc/scripts.conf
index d56d7cb73..aa3cb23e8 100644
--- a/npc/scripts.conf
+++ b/npc/scripts.conf
@@ -225,6 +225,8 @@
// - Turbo Track Arena
"npc/other/turbo_track.txt",
"npc/other/item_merge.txt",
+"npc/other/private_airship.txt",
+"npc/other/inventory_expansion.txt",
//================= Quests ================================================
// - Quests-Tutorials for basic classes (1st class quests) ------
diff --git a/npc/scripts_custom.conf b/npc/scripts_custom.conf
index 14384fd17..a5aad9767 100644
--- a/npc/scripts_custom.conf
+++ b/npc/scripts_custom.conf
@@ -50,6 +50,7 @@
//"npc/custom/card_remover.txt",
//"npc/custom/item_signer.txt",
//"npc/custom/woe_controller.txt",
+//"npc/custom/bartershop.txt",
//================= Other Scripts =========================================
// -- MVP Arena
diff --git a/npc/scripts_dev.conf b/npc/scripts_dev.conf
index ff4ef4c4f..9916dcad9 100644
--- a/npc/scripts_dev.conf
+++ b/npc/scripts_dev.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2016 Hercules Dev Team
+//= Copyright (C) 2014-2018 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/npc/scripts_mapflags.conf b/npc/scripts_mapflags.conf
index c662f7562..eed3c3d3d 100644
--- a/npc/scripts_mapflags.conf
+++ b/npc/scripts_mapflags.conf
@@ -57,3 +57,4 @@
"npc/mapflag/skillmodifier.txt",
"npc/mapflag/skillduration.txt",
"npc/mapflag/notomb.txt",
+"npc/mapflag/private_airship.txt",
diff --git a/npc/scripts_removed.conf b/npc/scripts_removed.conf
index c1089466c..a4e0b5956 100644
--- a/npc/scripts_removed.conf
+++ b/npc/scripts_removed.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2016 Hercules Dev Team
+//= Copyright (C) 2014-2018 Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
diff --git a/npc/warps/fields/abyss_warper.txt b/npc/warps/fields/abyss_warper.txt
index 204c55842..fd8854234 100644
--- a/npc/warps/fields/abyss_warper.txt
+++ b/npc/warps/fields/abyss_warper.txt
@@ -78,7 +78,7 @@ hu_fild05,168,304,0 script Column#abyss1 HIDDEN_NPC,{
mes "violently shake.^000000";
specialeffect EF_BOWLINGBASH;
donpcevent "AbyssWarp::OnWarp";
- specialeffect2 EF_PORTAL;
+ specialeffect(EF_PORTAL, AREA, playerattached());
delitem 1035,1;
delitem 1036,1;
delitem 1037,1;
@@ -137,7 +137,7 @@ hu_fild05,171,211,0 script Column#abyss2 HIDDEN_NPC,1,1,{
mes "begin to slowly sink away...^000000";
next;
specialeffect EF_BOWLINGBASH;
- specialeffect2 EF_PORTAL;
+ specialeffect(EF_PORTAL, AREA, playerattached());
close2;
warp "hu_fild05",169,305;
end;
@@ -159,7 +159,7 @@ hu_fild05,171,211,0 script Column#abyss2 HIDDEN_NPC,1,1,{
mes "are warped somewhere else...^000000";
next;
specialeffect EF_BOWLINGBASH;
- specialeffect2 EF_PORTAL;
+ specialeffect(EF_PORTAL, AREA, playerattached());
close2;
warp "hu_fild05",157,284;
end;
diff --git a/npc/woe-se/agit_main_se.txt b/npc/woe-se/agit_main_se.txt
index 5f291e658..41430f6a1 100644
--- a/npc/woe-se/agit_main_se.txt
+++ b/npc/woe-se/agit_main_se.txt
@@ -222,50 +222,50 @@ OnTreasureDied:
- script Steward#template FAKE_NPC,{
.@GID = getcastledata(strnpcinfo(NPC_MAP),1);
if (!.@GID) {
- mes "[ Steward ]";
- mes "I await for the master";
- mes "whom destiny will choose";
- mes "for me. Do you think you";
- mes "have to courage and strength";
- mes "to conquer this stronghold?";
+ mes("[ Steward ]");
+ mes("I await for the master");
+ mes("whom destiny will choose");
+ mes("for me. Do you think you");
+ mes("have to courage and strength");
+ mes("to conquer this stronghold?");
close;
}
if (getcharid(CHAR_ID_GUILD) != .@GID || strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
- mes "[ Steward ]";
- mes "Hmpf. Your threats don't";
- mes "scare me! Guardians, drive";
- mes "this infidel away from here!";
- mes "I will always be loyal to the";
- mes "master of this stronghold,";
- mes "the one and only ^FF0000"+getguildmaster(.@GID)+"^000000.";
+ mes("[ Steward ]");
+ mes("Hmpf. Your threats don't");
+ mes("scare me! Guardians, drive");
+ mes("this infidel away from here!");
+ mes("I will always be loyal to the");
+ mes("master of this stronghold,");
+ mesf("the one and only ^FF0000%s^000000.", getguildmaster(.@GID));
close;
}
- mes "[ Steward ]";
- mes "Ah, Master ^FF0000"+getguildmaster(.@GID)+"^000000...";
- mes "How shall I serve you today?";
- mes "Was there an aspect of this";
- mes "stronghold's maintenance";
- mes "you wanted to discuss?";
+ mes("[ Steward ]");
+ mesf("Ah, Master ^FF0000%s^000000...", getguildmaster(.@GID));
+ mes("How shall I serve you today?");
+ mes("Was there an aspect of this");
+ mes("stronghold's maintenance");
+ mes("you wanted to discuss?");
next;
switch(select("Stronghold Briefing", "Invest in Commercial Growth", "Invest in Defense growth", "Hire/Fire Storage Staff", "Go to Master's room")) {
case 1:
- mes "[ Steward ]";
- mes "The Commercial Growth";
- mes "Level of the stronghold is ^0000ff"+getcastledata(strnpcinfo(NPC_MAP),2)+".";
+ mes("[ Steward ]");
+ mes("The Commercial Growth");
+ mesf("Level of the stronghold is ^0000ff%d^000000.", getcastledata(strnpcinfo(NPC_MAP),2));
if (getcastledata(strnpcinfo(NPC_MAP),4) > 0) {
- mes "Last time, you invested in";
- mes "Commercial Growth "+getcastledata(strnpcinfo(NPC_MAP),4)+".";
+ mes("Last time, you invested in");
+ mesf("Commercial Growth ^0000ff%d^000000.", getcastledata(strnpcinfo(NPC_MAP),4));
}
next;
- mes "[ Steward ]";
- mes "Our stronghold's";
- mes "safeguard level is "+getcastledata(strnpcinfo(NPC_MAP),3)+".";
+ mes("[ Steward ]");
+ mes("Our stronghold's");
+ mesf("safeguard level is %d.", getcastledata(strnpcinfo(NPC_MAP),3));
if (getcastledata(strnpcinfo(NPC_MAP),5) > 0) {
- mes "Last time, you invested";
- mes "in defense "+getcastledata(strnpcinfo(NPC_MAP),5)+" times.";
+ mes("Last time, you invested");
+ mesf("in defense %d times.", getcastledata(strnpcinfo(NPC_MAP),5));
}
- mes " ";
- mes "That is all, master.";
+ mes(" ");
+ mes("That is all, master.");
close;
case 2:
.@Economy = getcastledata(strnpcinfo(NPC_MAP),2);
@@ -281,84 +281,84 @@ OnTreasureDied:
// Quadruple the cost of investing if you've already invested once.
if (getcastledata(strnpcinfo(NPC_MAP),4))
.@eco_invest *= 4;
- mes "[ Steward ]";
- mes "Raising the stronghold's";
- mes "commercial growth will";
- mes "increase the quantity of";
- mes "goods produced for the guild.";
- mes "Investing in commercial growth";
- mes "will help the guild's future.";
+ mes("[ Steward ]");
+ mes("Raising the stronghold's");
+ mes("commercial growth will");
+ mes("increase the quantity of");
+ mes("goods produced for the guild.");
+ mes("Investing in commercial growth");
+ mes("will help the guild's future.");
next;
- mes "[ Steward ]";
- mes "You can make one investment";
- mes "each day, but if you can make";
- mes "two investments if you pay";
- mes "more Zeny: this will speed";
- mes "up commercial development,";
- mes "but can be quite expensive.";
+ mes("[ Steward ]");
+ mes("You can make one investment");
+ mes("each day, but if you can make");
+ mes("two investments if you pay");
+ mes("more Zeny: this will speed");
+ mes("up commercial development,");
+ mes("but can be quite expensive.");
next;
if (.@Economy == 100) {
- mes "[ Steward ]";
- mes "However, our stronghold's";
- mes "commerical growth level is";
- mes "at 100%. It's not possible to";
- mes "develop commercial growth";
- mes "any further than that.";
+ mes("[ Steward ]");
+ mes("However, our stronghold's");
+ mes("commerical growth level is");
+ mes("at 100%. It's not possible to");
+ mes("develop commercial growth");
+ mes("any further than that.");
close;
}
if (getcastledata(strnpcinfo(NPC_MAP),4) >= 2) {
- mes "[ Steward ]";
- mes "You've already made two";
- mes "investments today, so you'll";
- mes "have to wait until tomorrow";
- mes "to make another investment.";
+ mes("[ Steward ]");
+ mes("You've already made two");
+ mes("investments today, so you'll");
+ mes("have to wait until tomorrow");
+ mes("to make another investment.");
close;
}
if (getcastledata(strnpcinfo(NPC_MAP),4) == 0) {
- mes "[ Steward ]";
- mes "You must pay ^FF0000"+.@eco_invest+"^000000 Zeny";
- mes "to make an investment";
- mes "Will you invest in this";
- mes "stronghold's commerical";
- mes "development now?";
+ mes("[ Steward ]");
+ mesf("You must pay ^FF0000%d^000000 Zeny", .@eco_invest);
+ mes("to make an investment");
+ mes("Will you invest in this");
+ mes("stronghold's commerical");
+ mes("development now?");
}
else {
- mes "[ Steward ]";
- mes "You must pay ^FF0000"+.@eco_invest+"^000000";
- mes "more Zeny to make a second";
- mes "investment today. Will you";
- mes "invest one more time?";
+ mes("[ Steward ]");
+ mesf("You must pay ^FF0000%d^000000", .@eco_invest);
+ mes("more Zeny to make a second");
+ mes("investment today. Will you");
+ mes("invest one more time?");
}
next;
switch(select("Invest in Commercial Growth", "Cancel")) {
case 1:
if (getcastledata(strnpcinfo(NPC_MAP),4) >= 2) {
- mes "[ Steward ]";
- mes "You've already made two";
- mes "investments today, so you'll";
- mes "have to wait until tomorrow";
- mes "to make another investment.";
+ mes("[ Steward ]");
+ mes("You've already made two");
+ mes("investments today, so you'll");
+ mes("have to wait until tomorrow");
+ mes("to make another investment.");
close;
}
if (Zeny < .@eco_invest) {
- mes "[ Steward ]";
- mes "I'm sorry, Master, but";
- mes "you do not have enough";
- mes "Zeny to make an investment";
- mes "for the guild today.";
+ mes("[ Steward ]");
+ mes("I'm sorry, Master, but");
+ mes("you do not have enough");
+ mes("Zeny to make an investment");
+ mes("for the guild today.");
close;
}
Zeny -= .@eco_invest;
setcastledata strnpcinfo(NPC_MAP),4,getcastledata(strnpcinfo(NPC_MAP),4)+1;
- mes "[ Steward ]";
- mes "A wise use of the guild's";
- mes "funds, Master. We can expect";
- mes "to see the results of this";
- mes "investment by tomorrow.";
+ mes("[ Steward ]");
+ mes("A wise use of the guild's");
+ mes("funds, Master. We can expect");
+ mes("to see the results of this");
+ mes("investment by tomorrow.");
close;
case 2:
- mes "[ Steward ]";
- mes "As you command, Master.";
+ mes("[ Steward ]");
+ mes("As you command, Master.");
close;
}
case 3:
@@ -375,220 +375,220 @@ OnTreasureDied:
// Quadruple the cost of investing if you've already invested once.
if (getcastledata(strnpcinfo(NPC_MAP),5))
.@def_invest *= 4;
- mes "[ Steward ]";
- mes "Investing in our stronghold's";
- mes "defense will enhance the";
- mes "durability of our Guardians";
- mes "and the Emperium. We'll need";
- mes "every advantage to protect";
- mes "ourselves from our enemies.";
+ mes("[ Steward ]");
+ mes("Investing in our stronghold's");
+ mes("defense will enhance the");
+ mes("durability of our Guardians");
+ mes("and the Emperium. We'll need");
+ mes("every advantage to protect");
+ mes("ourselves from our enemies.");
next;
- mes "[ Steward ]";
- mes "You can invest in defense";
- mes "once per day, but if you pay";
- mes "more Zeny, you can invest";
- mes "a maximum of two times daily.";
+ mes("[ Steward ]");
+ mes("You can invest in defense");
+ mes("once per day, but if you pay");
+ mes("more Zeny, you can invest");
+ mes("a maximum of two times daily.");
next;
- mes "[ Steward ]";
+ mes("[ Steward ]");
if (getcastledata(strnpcinfo(NPC_MAP),3) == 100) {
- mes "The Defense Level of this";
- mes "stronghold is 100%, and";
- mes "cannot be increased further.";
+ mes("The Defense Level of this");
+ mes("stronghold is 100%, and");
+ mes("cannot be increased further.");
close;
}
if (getcastledata(strnpcinfo(NPC_MAP),5) >= 2) {
- mes "Master, you've already";
- mes "invested in Defense twice";
- mes "today. You'll need to wait";
- mes "until tomorrow if you really";
- mes "want to increase our defenses.";
+ mes("Master, you've already");
+ mes("invested in Defense twice");
+ mes("today. You'll need to wait");
+ mes("until tomorrow if you really");
+ mes("want to increase our defenses.");
close;
}
if (getcastledata(strnpcinfo(NPC_MAP),5) == 0) {
- mes "We need ^FF0000"+.@def_invest+"^000000";
- mes "Zeny to invest in our";
- mes "stronghold's defenses.";
- mes "Will you invest now?";
+ mesf("We need ^FF0000%d^000000", .@def_invest);
+ mes("Zeny to invest in our");
+ mes("stronghold's defenses.");
+ mes("Will you invest now?");
}
else {
- mes "We need ^FF0000"+.@def_invest+"^000000";
- mes "Zeny to invest in our";
- mes "stronghold's defenses";
- mes "a second time today.";
- mes "Will you invest now?";
+ mesf("We need ^FF0000%d^000000", .@def_invest);
+ mes("Zeny to invest in our");
+ mes("stronghold's defenses");
+ mes("a second time today.");
+ mes("Will you invest now?");
}
next;
switch(select("Invest in Defense", "Cancel")) {
case 1:
if (getcastledata(strnpcinfo(NPC_MAP),5) >= 2) {
- mes "[ Steward ]";
- mes "Master, you've already";
- mes "invested in Defense twice";
- mes "today. You'll need to wait";
- mes "until tomorrow if you really";
- mes "want to increase our defenses.";
+ mes("[ Steward ]");
+ mes("Master, you've already");
+ mes("invested in Defense twice");
+ mes("today. You'll need to wait");
+ mes("until tomorrow if you really");
+ mes("want to increase our defenses.");
close;
}
if (Zeny < .@def_invest) {
- mes "[ Steward ]";
- mes "I'm sorry, Master, but";
- mes "you do not have enough";
- mes "Zeny to make an investment";
- mes "for the guild today.";
+ mes("[ Steward ]");
+ mes("I'm sorry, Master, but");
+ mes("you do not have enough");
+ mes("Zeny to make an investment");
+ mes("for the guild today.");
close;
}
Zeny -= .@def_invest;
setcastledata strnpcinfo(NPC_MAP),5,getcastledata(strnpcinfo(NPC_MAP),5)+1;
- mes "[ Steward ]";
- mes "A wise use of the guild's";
- mes "funds, Master. Increasing";
- mes "the frequency of treasure";
- mes "procured by the guild will";
- mes "definitely help us all.";
+ mes("[ Steward ]");
+ mes("A wise use of the guild's");
+ mes("funds, Master. Increasing");
+ mes("the frequency of treasure");
+ mes("procured by the guild will");
+ mes("definitely help us all.");
close;
case 2:
- mes "[ Steward ]";
- mes "As you command, Master.";
+ mes("[ Steward ]");
+ mes("As you command, Master.");
close;
}
case 4:
if (getcastledata(strnpcinfo(NPC_MAP),9) == 1) {
- mes "[ Steward ]";
- mes "Do you wish to dismiss";
- mes "the Kafra Employee that";
- mes "we've hired for the guild?";
+ mes("[ Steward ]");
+ mes("Do you wish to dismiss");
+ mes("the Kafra Employee that");
+ mes("we've hired for the guild?");
next;
switch(select("Dismiss", "Cancel")) {
case 1:
cutin "kafra_01",2;
- mes "[ Hired Kafra Employee ]";
- mes "Master, please reconsider!";
- mes "I've been working very hard";
- mes "for the success of the guild!";
- mes "I'll try harder to serve the";
- mes "guild members of this";
- mes "stronghold, I promise!";
+ mes("[ Hired Kafra Employee ]");
+ mes("Master, please reconsider!");
+ mes("I've been working very hard");
+ mes("for the success of the guild!");
+ mes("I'll try harder to serve the");
+ mes("guild members of this");
+ mes("stronghold, I promise!");
next;
switch(select("Dismiss", "Cancel")) {
case 1:
- mes "[ Hired Kafra Employee ]";
- mes "Why?! What have I done";
- mes "to deserve this? Waaah~!";
+ mes("[ Hired Kafra Employee ]");
+ mes("Why?! What have I done");
+ mes("to deserve this? Waaah~!");
next;
cutin "kafra_01",255;
break;
case 2:
- mes "[ Hired Kafra Employee ]";
- mes "Thank you, Master!";
- mes "I'll obey your every";
- mes "command as best I can!";
- mes "You won't regret this!";
+ mes("[ Hired Kafra Employee ]");
+ mes("Thank you, Master!");
+ mes("I'll obey your every");
+ mes("command as best I can!");
+ mes("You won't regret this!");
close;
}
break;
case 2:
- mes "[ Steward ]";
- mes "She works very hard,";
- mes "in my opinion. It was in";
- mes "all of our best interests to";
- mes "allow her to stay with us.";
+ mes("[ Steward ]");
+ mes("She works very hard,");
+ mes("in my opinion. It was in");
+ mes("all of our best interests to");
+ mes("allow her to stay with us.");
close;
}
disablenpc "Kafra Employee#"+strnpcinfo(NPC_NAME_HIDDEN);
setcastledata strnpcinfo(NPC_MAP),9,0;
- mes "[ Steward ]";
- mes "That Kafra Employee";
- mes "has been dismissed.";
- mes "Were really dissatisfied";
- mes "by the quality of her service?";
+ mes("[ Steward ]");
+ mes("That Kafra Employee");
+ mes("has been dismissed.");
+ mes("Were really dissatisfied");
+ mes("by the quality of her service?");
close;
}
else {
- mes "[ Steward ]";
- mes "Will you hire a";
- mes "Kafra Employee to serve";
- mes "our stronghold? You must";
- mes "pay ^FF000010,000 Zeny^000000 to hire one.";
+ mes("[ Steward ]");
+ mes("Will you hire a");
+ mes("Kafra Employee to serve");
+ mes("our stronghold? You must");
+ mes("pay ^FF000010,000 Zeny^000000 to hire one.");
next;
switch(select("Hire", "Cancel")) {
case 1:
if (getgdskilllv(.@GID,10001) == 0) {
- mes "[ Steward ]";
- mes "Master, we cannot hire a";
- mes "Kafra Employee because";
- mes "you have not yet attained";
- mes "the ^FF0000Contract with Kafra^000000";
- mes "guild skill.";
+ mes("[ Steward ]");
+ mes("Master, we cannot hire a");
+ mes("Kafra Employee because");
+ mes("you have not yet attained");
+ mes("the ^FF0000Contract with Kafra^000000");
+ mes("guild skill.");
close;
}
if (Zeny < 10000) {
- mes "[ Steward ]";
- mes "Master, we cannot hire a";
- mes "Kafra Employee because";
- mes "we do not have enough";
- mes "funds to pay the contract fee.";
+ mes("[ Steward ]");
+ mes("Master, we cannot hire a");
+ mes("Kafra Employee because");
+ mes("we do not have enough");
+ mes("funds to pay the contract fee.");
close;
}
Zeny -= 10000;
enablenpc "Kafra Employee#"+strnpcinfo(NPC_NAME_HIDDEN);
setcastledata strnpcinfo(NPC_MAP),9,1;
- mes "[ Steward ]";
- mes "Very well. We have formed";
- mes "a contract with the Kafra";
- mes "Head Office, and hired a";
- mes "Kafra Employee for our";
- mes "stronghold. Here she is~";
+ mes("[ Steward ]");
+ mes("Very well. We have formed");
+ mes("a contract with the Kafra");
+ mes("Head Office, and hired a");
+ mes("Kafra Employee for our");
+ mes("stronghold. Here she is~");
next;
cutin "kafra_01",2;
- mes "[ Hired Kafra Employee ]";
- mes "How do you do? I've";
- mes "been dispatched by the";
- mes "Kafra Head Office to";
- mes "serve your guild's needs.";
- mes "I'll do my best to follow";
- mes "your every command, Master.";
+ mes("[ Hired Kafra Employee ]");
+ mes("How do you do? I've");
+ mes("been dispatched by the");
+ mes("Kafra Head Office to");
+ mes("serve your guild's needs.");
+ mes("I'll do my best to follow");
+ mes("your every command, Master.");
next;
cutin "kafra_01",255;
- mes "[ Steward ]";
- mes "Our contract will expire";
- mes "after one month, so we must";
- mes "pay additional fees to keep";
- mes "this Kafra Employee in";
- mes "the service of our guild.";
+ mes("[ Steward ]");
+ mes("Our contract will expire");
+ mes("after one month, so we must");
+ mes("pay additional fees to keep");
+ mes("this Kafra Employee in");
+ mes("the service of our guild.");
close;
case 2:
- mes "[ Steward ]";
- mes "As you command, Master.";
- mes "However, I suggest hiring";
- mes "a Kafra Employee as soon";
- mes "as possible since our guild";
- mes "would greatly benefit from";
- mes "the convenient Kafra services.";
+ mes("[ Steward ]");
+ mes("As you command, Master.");
+ mes("However, I suggest hiring");
+ mes("a Kafra Employee as soon");
+ mes("as possible since our guild");
+ mes("would greatly benefit from");
+ mes("the convenient Kafra services.");
close;
}
}
case 5:
- mes "[ Steward ]";
- mes "Do you wish to enter the";
- mes "Guild Treasure Room?";
- mes "Only you, the Guild Master,";
- mes "are permitted to enter.";
+ mes("[ Steward ]");
+ mes("Do you wish to enter the");
+ mes("Guild Treasure Room?");
+ mes("Only you, the Guild Master,");
+ mes("are permitted to enter.");
next;
- mes "[ Steward ]";
- mes "Please remember to open";
- mes "the Treasure Boxes at the";
- mes "proper time. Otherwise, the";
- mes "treasure may disappear if";
- mes "something unexpected happens.";
+ mes("[ Steward ]");
+ mes("Please remember to open");
+ mes("the Treasure Boxes at the");
+ mes("proper time. Otherwise, the");
+ mes("treasure may disappear if");
+ mes("something unexpected happens.");
next;
switch(select("Go to Treasure Room", "Cancel")) {
case 1:
- mes "[ Steward ]";
- mes "Allow me to guide you";
- mes "on the secret path to";
- mes "the Treasure Room.";
- mes "Press the secret switch";
- mes "when you wish to return here.";
+ mes("[ Steward ]");
+ mes("Allow me to guide you");
+ mes("on the secret path to");
+ mes("the Treasure Room.");
+ mes("Press the secret switch");
+ mes("when you wish to return here.");
close2;
if (compare(strnpcinfo(NPC_MAP),"arug")) {
if (strnpcinfo(NPC_MAP) == "arug_cas01") setarray .@i[0],250,363;
@@ -603,13 +603,13 @@ OnTreasureDied:
warp strnpcinfo(NPC_MAP),.@i[0],.@i[1];
end;
case 2:
- mes "[ Steward ]";
- mes "Items in the Treasure Room";
- mes "are produced once each day.";
- mes "Therefore, you must obtain";
- mes "the treasure items everyday.";
- mes "For the sake of the guild,";
- mes "prioritize treasure harvesting!";
+ mes("[ Steward ]");
+ mes("Items in the Treasure Room");
+ mes("are produced once each day.");
+ mes("Therefore, you must obtain");
+ mes("the treasure items everyday.");
+ mes("For the sake of the guild,");
+ mes("prioritize treasure harvesting!");
close;
}
}
@@ -656,154 +656,154 @@ OnStartArena:
.@GID = getcastledata(strnpcinfo(NPC_MAP),1);
.@n$ = "["+strnpcinfo(NPC_NAME_VISIBLE)+"]";
if (!.@GID) {
- mes .@n$;
- mes "Great job. Now, all you";
- mes "need to do is destroy this";
- mes "Emperium to gain ownership";
- mes "over this stronghold.";
+ mes(.@n$);
+ mes("Great job. Now, all you");
+ mes("need to do is destroy this");
+ mes("Emperium to gain ownership");
+ mes("over this stronghold.");
close;
}
if (getcharid(CHAR_ID_GUILD) == .@GID) {
if (strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
- mes .@n$;
- mes "As guardian of this";
- mes "stronghold, I answer only";
- mes "to the master of the guild";
- mes "that controls this place.";
+ mes(.@n$);
+ mes("As guardian of this");
+ mes("stronghold, I answer only");
+ mes("to the master of the guild");
+ mes("that controls this place.");
close;
}
else {
if (!agitcheck2()) {
- mes .@n$;
- mes "I am "+strnpcinfo(NPC_NAME_VISIBLE)+", guardian of";
- mes "this stronghold. For now,";
- mes "all is quiet in this place.";
+ mes(.@n$);
+ mesf("I am %s, guardian of", strnpcinfo(NPC_NAME_VISIBLE));
+ mes("this stronghold. For now,");
+ mes("all is quiet in this place.");
next;
switch(select("Converse", "Cancel")) {
case 1:
- mes .@n$;
- mes "Do you have any questions";
- mes "about this stronghold?";
+ mes(.@n$);
+ mes("Do you have any questions");
+ mes("about this stronghold?");
next;
switch(select("Guardian Stones", "Fortress Gates", "Link Flags", "Battle Strategy", "Cancel")) {
case 1:
- mes .@n$;
- mes "There is one Emperium";
- mes "and two Guardian Stones in";
- mes "each fortress. These stones";
- mes "are the first line of defense,";
- mes "and must be destroyed before";
- mes "enemies can even enter.";
+ mes(.@n$);
+ mes("There is one Emperium");
+ mes("and two Guardian Stones in");
+ mes("each fortress. These stones");
+ mes("are the first line of defense,");
+ mes("and must be destroyed before");
+ mes("enemies can even enter.");
next;
- mes .@n$;
- mes "The stones are located in";
- mes "^4D4DFFGate Houses^000000 which must be";
- mes "protected to prevent enemies";
- mes "from reaching the Emperium.";
- mes "Guardian Stones can ^4D4DFFrecall";
- mes "your Guardians^000000 for protection.";
+ mes(.@n$);
+ mes("The stones are located in");
+ mes("^4D4DFFGate Houses^000000 which must be");
+ mes("protected to prevent enemies");
+ mes("from reaching the Emperium.");
+ mes("Guardian Stones can ^4D4DFFrecall");
+ mes("your Guardians^000000 for protection.");
next;
- mes .@n$;
- mes "Fortresses with higher levels";
- mes "of defense can summon more";
- mes "Guardians: this is why it is";
- mes "so important for guilds to";
- mes "invest in Defense Growth.";
+ mes(.@n$);
+ mes("Fortresses with higher levels");
+ mes("of defense can summon more");
+ mes("Guardians: this is why it is");
+ mes("so important for guilds to");
+ mes("invest in Defense Growth.");
next;
- mes .@n$;
- mes "Guardian Stones that have";
- mes "been destroyed can be revived";
- mes "after a certain time, but one of the guild members must give";
- mes "me the order. I can also report the status of the Guardian Stones.";
+ mes(.@n$);
+ mes("Guardian Stones that have");
+ mes("been destroyed can be revived");
+ mes("after a certain time, but one of the guild members must give");
+ mes("me the order. I can also report the status of the Guardian Stones.");
close;
case 2:
- mes .@n$;
- mes "^4D4DFFFortress Gates^000000 are the second line of guild stronghold defense,";
- mes "and are protected by extra barricades activated by the Guardian Stones.";
- mes "These gates are located in three different parts of the fortress.";
+ mes(.@n$);
+ mes("^4D4DFFFortress Gates^000000 are the second line of guild stronghold defense,");
+ mes("and are protected by extra barricades activated by the Guardian Stones.");
+ mes("These gates are located in three different parts of the fortress.");
next;
- mes .@n$;
- mes "Barricades are protected by";
- mes "Guardian Stones, and are";
- mes "restored when the Guardian";
- mes "Stones are retrieved. However,";
- mes "it is not as easy to restore";
- mes "destroyed Fortress Gates.";
+ mes(.@n$);
+ mes("Barricades are protected by");
+ mes("Guardian Stones, and are");
+ mes("restored when the Guardian");
+ mes("Stones are retrieved. However,");
+ mes("it is not as easy to restore");
+ mes("destroyed Fortress Gates.");
next;
- mes .@n$;
- mes "Fortress Gates can only be";
- mes "restored when the ^4D4DFFguild";
- mes "master of a stronghold";
- mes "changes^000000, or if ^4D4DFFrestoration";
- mes "is requested by the guild";
- mes "master of the stronghold^000000.";
+ mes(.@n$);
+ mes("Fortress Gates can only be");
+ mes("restored when the ^4D4DFFguild");
+ mes("master of a stronghold");
+ mes("changes^000000, or if ^4D4DFFrestoration");
+ mes("is requested by the guild");
+ mes("master of the stronghold^000000.");
close;
case 3:
- mes .@n$;
- mes "Strongholds have many";
- mes "Link Flags that allow you";
- mes "to access vital areas within";
- mes "restrictions placed by the";
- mes "Barricades. Usually, ^4D4DFFFlag 1";
- mes "links to the Gate House^000000.";
+ mes(.@n$);
+ mes("Strongholds have many");
+ mes("Link Flags that allow you");
+ mes("to access vital areas within");
+ mes("restrictions placed by the");
+ mes("Barricades. Usually, ^4D4DFFFlag 1");
+ mes("links to the Gate House^000000.");
next;
- mes .@n$;
- mes "Many flags link directly to";
- mes "the flag near the Emperium.";
- mes "The final numbered flag is";
- mes "linked to the Convenience";
- mes "Facility of the stronghold's";
- mes "owner. Keep this in mind.";
+ mes(.@n$);
+ mes("Many flags link directly to");
+ mes("the flag near the Emperium.");
+ mes("The final numbered flag is");
+ mes("linked to the Convenience");
+ mes("Facility of the stronghold's");
+ mes("owner. Keep this in mind.");
close;
case 4:
- mes .@n$;
- mes "Strategy? It would be better";
- mes "to develop your battle plan to";
- mes "exploit your guild's advantages";
- mes "and your enemies' weaknesses.";
- mes "Use the Gate Houses and Barricades, and rebuild as quickly as you can!";
+ mes(.@n$);
+ mes("Strategy? It would be better");
+ mes("to develop your battle plan to");
+ mes("exploit your guild's advantages");
+ mes("and your enemies' weaknesses.");
+ mes("Use the Gate Houses and Barricades, and rebuild as quickly as you can!");
close;
case 5:
- mes .@n$;
- mes "You have no questions";
- mes "to ask of me? Well, I'm";
- mes "here to serve your needs.";
+ mes(.@n$);
+ mes("You have no questions");
+ mes("to ask of me? Well, I'm");
+ mes("here to serve your needs.");
close;
}
case 2:
- mes .@n$;
- mes "I'm always here, so";
- mes "feel free to request my";
- mes "assistance whenever";
- mes "the need arises.";
+ mes(.@n$);
+ mes("I'm always here, so");
+ mes("feel free to request my");
+ mes("assistance whenever");
+ mes("the need arises.");
close;
}
}
else {
- mes .@n$;
- mes "Greetings, "+strcharinfo(PC_NAME)+".";
- mes "What are your orders?";
+ mes(.@n$);
+ mesf("Greetings, %s.", strcharinfo(PC_NAME));
+ mes("What are your orders?");
next;
switch(select("Increase Stronghold Defense", "Situational Briefing", "Cancel")) {
case 1:
if (!getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[5]")) {
if (getgdskilllv(.@GID,10002) == 0) {
- mes .@n$;
- mes "I'm sorry, but the Guardian";
- mes "Stones aren't powerful enough";
- mes "to summon Guardians yet. We";
- mes "need to accumulate more";
- mes "knowledge before they can";
- mes "summon any Guardians.";
+ mes(.@n$);
+ mes("I'm sorry, but the Guardian");
+ mes("Stones aren't powerful enough");
+ mes("to summon Guardians yet. We");
+ mes("need to accumulate more");
+ mes("knowledge before they can");
+ mes("summon any Guardians.");
close;
}
else {
- mes .@n$;
- mes "I shall endeavor to summon";
- mes "a Guardian through a Guardian";
- mes "Stone. However, keep in mind";
- mes "that this will not work if the";
- mes "Guardian Stone is destroyed.";
+ mes(.@n$);
+ mes("I shall endeavor to summon");
+ mes("a Guardian through a Guardian");
+ mes("Stone. However, keep in mind");
+ mes("that this will not work if the");
+ mes("Guardian Stone is destroyed.");
setd "$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[5]",1;
if (!getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[0]"))
donpcevent "gard1#"+strnpcinfo(NPC_MAP)+"::OnEnable";
@@ -813,35 +813,35 @@ OnStartArena:
}
}
else {
- mes .@n$;
- mes "You've already commanded";
- mes "me to summon a Guardian";
- mes "to defend the stronghold.";
+ mes(.@n$);
+ mes("You've already commanded");
+ mes("me to summon a Guardian");
+ mes("to defend the stronghold.");
close;
}
case 2:
- mes .@n$;
- mes "Our defense status is...";
+ mes(.@n$);
+ mes("Our defense status is...");
setarray .@status$[0],"^4D4DFFOperational","^FF0000Destroyed","^008000Repairing";
- mes "1st Guardian Stone: "+.@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[0]")]+"^000000";
- mes "2nd Guardian Stone: "+.@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[1]")]+"^000000";
- mes "1st Fortress Gate: "+.@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[2]")]+"^000000";
- mes "2nd Fortress Gate: "+.@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[3]")]+"^000000";
- mes "3rd Fortress Gate: "+.@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[4]")]+"^000000";
+ mesf("1st Guardian Stone: %s^000000", .@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[0]")]);
+ mesf("2nd Guardian Stone: %s^000000", .@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[1]")]);
+ mesf("1st Fortress Gate: %s^000000", .@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[2]")]);
+ mesf("2nd Fortress Gate: %s^000000", .@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[3]")]);
+ mesf("3rd Fortress Gate: %s^000000", .@status$[getd("$agit_"+strnpcinfo(NPC_NAME_HIDDEN)+"[4]")]);
close;
case 3:
- mes .@n$;
- mes "I'll be standing by,";
- mes "awaiting your orders.";
+ mes(.@n$);
+ mes("I'll be standing by,");
+ mes("awaiting your orders.");
close;
}
}
}
}
else {
- mes .@n$;
- mes "Who are you? Scoundrel!";
- mes "Leave this stronghold now!";
+ mes(.@n$);
+ mes("Who are you? Scoundrel!");
+ mes("Leave this stronghold now!");
close;
}
@@ -855,35 +855,35 @@ OnInit:
cutin "kafra_01",2;
.@GID = getcastledata(strnpcinfo(NPC_MAP),1);
if (getcharid(CHAR_ID_GUILD) == .@GID && getgdskilllv(.@GID,10001)) {
- mes "[Kafra Employee]";
- mes "Welcome, proud member";
- mes "of the ^FF0000"+getguildname(.@GID)+"^000000 Guild!";
- mes "The Kafra Corporation is ready";
- mes "to assist you wherever you go!";
+ mes("[Kafra Employee]");
+ mes("Welcome, proud member");
+ mesf("of the ^FF0000%s^000000 Guild!", getguildname(.@GID));
+ mes("The Kafra Corporation is ready");
+ mes("to assist you wherever you go!");
next;
switch(select("Use Storage", "Use Warp Service", "Rent Pushcart", "Cancel")) {
case 1:
if (basicskillcheck() && getskilllv("NV_BASIC") < 6) {
- mes "[Kafra Employee]";
- mes "I'm so sorry, but you must";
- mes "have at least Novice Skill";
- mes "Lv.6 to use the Storage.";
+ mes("[Kafra Employee]");
+ mes("I'm so sorry, but you must");
+ mes("have at least Novice Skill");
+ mes("Lv.6 to use the Storage.");
}
else openstorage;
break;
case 2:
- mes "[Kafra Employee]";
- mes "Please tell me your";
- mes "Warp destination.";
+ mes("[Kafra Employee]");
+ mes("Please tell me your");
+ mes("Warp destination.");
next;
switch(select("Rachel -> 200 z", "Cancel")) {
case 1:
if (Zeny < 200) {
- mes "[Kafra Employee]";
- mes "I'm sorry, but you don't";
- mes "have enough Zeny to pay";
- mes "the warp fee. Would you";
- mes "please check your funds again?";
+ mes("[Kafra Employee]");
+ mes("I'm sorry, but you don't");
+ mes("have enough Zeny to pay");
+ mes("the warp fee. Would you");
+ mes("please check your funds again?");
close2;
cutin "kafra_01",255;
end;
@@ -898,30 +898,30 @@ OnInit:
break;
case 3:
if (BaseClass != Job_Merchant) {
- mes "[Kafra Employee]";
- mes "I'm sorry, but the Pushcart";
- mes "rental service can only be";
- mes "used by Merchant, Blacksmith,";
- mes "and Alchemist class characters.";
+ mes("[Kafra Employee]");
+ mes("I'm sorry, but the Pushcart");
+ mes("rental service can only be");
+ mes("used by Merchant, Blacksmith,");
+ mes("and Alchemist class characters.");
}
else if (checkcart() == 1) {
- mes "[Kafra Employee]";
- mes "Hm? You've already";
- mes "rented a Pushcart.";
+ mes("[Kafra Employee]");
+ mes("Hm? You've already");
+ mes("rented a Pushcart.");
}
else {
- mes "[Kafra Employee]";
- mes "The Pushcart rental fee";
- mes "is 800 Zeny. Would you";
- mes "like to rent a Pushcart?";
+ mes("[Kafra Employee]");
+ mes("The Pushcart rental fee");
+ mes("is 800 Zeny. Would you");
+ mes("like to rent a Pushcart?");
next;
switch(select("Rent Pushcart", "Cancel")) {
case 1:
if (Zeny < 800) {
- mes "[Kafra Employee]";
- mes "I'm sorry, but you don't";
- mes "have enough Zeny to rent";
- mes "one of our Pushcarts.";
+ mes("[Kafra Employee]");
+ mes("I'm sorry, but you don't");
+ mes("have enough Zeny to rent");
+ mes("one of our Pushcarts.");
close2;
cutin "kafra_01",255;
end;
@@ -935,11 +935,11 @@ OnInit:
}
break;
case 4:
- mes "[Kafra Employee]";
- mes "Thank you for using the";
- mes "Kafra Service. Wherever";
- mes "you go, Kafra will be";
- mes "there to support you!";
+ mes("[Kafra Employee]");
+ mes("Thank you for using the");
+ mes("Kafra Service. Wherever");
+ mes("you go, Kafra will be");
+ mes("there to support you!");
close2;
cutin "kafra_01",255;
end;
@@ -949,13 +949,13 @@ OnInit:
end;
}
else {
- mes "[Kafra Employee]";
- mes "I'm sorry, but I've been";
- mes "exclusively contracted";
- mes "to the members of the";
- mes "^FF0000"+getguildname(.@GID)+"^000000 Guild.";
- mes "You'll have to ask another";
- mes "Kafra Employee to help you...";
+ mes("[Kafra Employee]");
+ mes("I'm sorry, but I've been");
+ mes("exclusively contracted");
+ mes("to the members of the");
+ mesf("^FF0000%s^000000 Guild.", getguildname(.@GID));
+ mes("You'll have to ask another");
+ mes("Kafra Employee to help you...");
close2;
cutin "kafra_01",255;
end;
@@ -968,54 +968,54 @@ OnInit:
.@num = atoi(charat(strnpcinfo(NPC_NAME_VISIBLE),0));
.@var$ = "$agit_"+strnpcinfo(NPC_NAME_HIDDEN);
if (getcharid(CHAR_ID_GUILD) == .@GID) {
- mes "^3355FFYou will need the";
- mes "following materials to";
- mes "rebuild a destroyed";
- mes "Guardian Stone.^000000";
+ mes("^3355FFYou will need the");
+ mes("following materials to");
+ mes("rebuild a destroyed");
+ mes("Guardian Stone.^000000");
next;
- mes "1 Oridecon";
- mes "1 Elunium";
- mes "30 Stones";
- mes "5 Blue Gemstones";
- mes "5 Yellow Gemstones";
- mes "5 Red Gemstones";
+ mes("1 Oridecon");
+ mes("1 Elunium");
+ mes("30 Stones");
+ mes("5 Blue Gemstones");
+ mes("5 Yellow Gemstones");
+ mes("5 Red Gemstones");
next;
- mes "^3355FFDo you want to continue?^000000";
+ mes("^3355FFDo you want to continue?^000000");
next;
if(select("No", "Continue") == 1) {
- mes "^3355FFWork canceled.^000000";
+ mes("^3355FFWork canceled.^000000");
close;
}
if ((countitem(Oridecon) > 0) && (countitem(Elunium) > 0) && (countitem(Stone) > 29) && (countitem(Blue_Gemstone) > 4) && (countitem(Yellow_Gemstone) > 4) && (countitem(Red_Gemstone) > 4)) {
- mes "^3355FFArrange Stones, Elunium, and";
- mes "Oridecon, in that order, in the";
- mes "center. Then you must arrange";
- mes "the enchanted Gemstones to";
- mes "rebuild the Guardian Stone.^000000";
+ mes("^3355FFArrange Stones, Elunium, and");
+ mes("Oridecon, in that order, in the");
+ mes("center. Then you must arrange");
+ mes("the enchanted Gemstones to");
+ mes("rebuild the Guardian Stone.^000000");
next;
setarray .@stone$[0],"Elunium","Oridecon","Stones";
.@i = select("Elunium", "Oridecon", "Stone")-1;
if (.@i == 2) .@nice += 10;
- mes "^3355FF"+.@stone$[.@i]+" has been";
- mes "placed in the center.^000000";
+ mesf("^3355FF%s has been", .@stone$[.@i]);
+ mes("placed in the center.^000000");
next;
.@i = select("Elunium", "Oridecon", "Stone")-1;
if (.@i == 0) .@nice += 10;
- mes "^3355FFYou have lined the";
- mes "outside of the center";
- mes "with some "+.@stone$[.@i]+".^000000";
+ mes("^3355FFYou have lined the");
+ mes("outside of the center");
+ mesf("with some %s.^000000", .@stone$[.@i]);
next;
.@i = select("Elunium", "Oridecon", "Stone")-1;
if (.@i == 1) .@nice += 10;
- mes "^3355FFYou covered the";
- mes "rest of the materials";
- mes "with some "+.@stone$[.@i]+".^000000";
+ mes("^3355FFYou covered the");
+ mes("rest of the materials");
+ mesf("with some %s.^000000", .@stone$[.@i]);
next;
- mes "^3355FFNow you need to arrange";
- mes "the enchanted Gemstones";
- mes "accordingly. You can identify";
- mes "their Magic properties by";
- mes "their casting effect.^000000";
+ mes("^3355FFNow you need to arrange");
+ mes("the enchanted Gemstones");
+ mes("accordingly. You can identify");
+ mes("their Magic properties by");
+ mes("their casting effect.^000000");
next;
setarray .@effect[0],56,54,225;
setarray .@color$[0],"Red","Yellow","Blue";
@@ -1023,17 +1023,17 @@ OnInit:
if (.@roof0 > 7) break;
.@i = rand(3);
specialeffect .@effect[.@i];
- mes "^3355FFThe Gemstones must";
- mes "be arranged in the correct";
- mes "order according to their";
- mes "magic properties and power.^000000";
+ mes("^3355FFThe Gemstones must");
+ mes("be arranged in the correct");
+ mes("order according to their");
+ mes("magic properties and power.^000000");
next;
.@j = select("Red Gemstone", "Yellow Gemstone", "Blue Gemstone")-1;
- mes "^3355FFYou placed the "+.@color$[.@j]+" Gemstone.^000000";
+ mesf("^3355FFYou placed the %s Gemstone.^000000", .@color$[.@j]);
if (.@i == .@j) {
- mes "^3355FFHowever, the Guardian Stone";
- mes "Repair System failed because";
- mes "of a magic power conflict.^000000";
+ mes("^3355FFHowever, the Guardian Stone");
+ mes("Repair System failed because");
+ mes("of a magic power conflict.^000000");
close;
}
.@nice += 10;
@@ -1043,23 +1043,23 @@ OnInit:
}
if (.@nice > 90) {
if (!getd(.@var$+"["+(.@num-1)+"]")) {
- mes "^3355FFThe Guardian Stone";
- mes "Repair System has";
- mes "already completed.^000000";
+ mes("^3355FFThe Guardian Stone");
+ mes("Repair System has");
+ mes("already completed.^000000");
close;
}
else {
if (!agitcheck2()) {
- mes "^3355FFIt is impossible to";
- mes "rebuild the Guardian";
- mes "Stone because the";
- mes "Emperium is not present.^000000";
+ mes("^3355FFIt is impossible to");
+ mes("rebuild the Guardian");
+ mes("Stone because the");
+ mes("Emperium is not present.^000000");
close;
}
else {
- mes "^3355FFThe Gemstones have been";
- mes "arranged, and the Guardian";
- mes "Stone is successfully repaired.^000000";
+ mes("^3355FFThe Gemstones have been");
+ mes("arranged, and the Guardian");
+ mes("Stone is successfully repaired.^000000");
delitem Oridecon,1;
delitem Elunium,1;
delitem Stone,30;
@@ -1084,10 +1084,10 @@ OnInit:
}
}
else {
- mes "^3355FFAfter all of that work...";
- mes "It looks like you failed";
- mes "to fix the Guardian Stone,";
- mes "and lost some materials.^000000";
+ mes("^3355FFAfter all of that work...");
+ mes("It looks like you failed");
+ mes("to fix the Guardian Stone,");
+ mes("and lost some materials.^000000");
delitem Stone,10;
delitem Blue_Gemstone,2;
delitem Yellow_Gemstone,2;
@@ -1096,9 +1096,9 @@ OnInit:
}
}
else {
- mes "^3355FFYou don't have enough";
- mes "materials to repair";
- mes "the Guardian Stone.^000000";
+ mes("^3355FFYou don't have enough");
+ mes("materials to repair");
+ mes("the Guardian Stone.^000000");
close;
}
}
@@ -1123,24 +1123,24 @@ OnEnable:
if (getcharid(CHAR_ID_GUILD) == .@GID) {
if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
if (getd(.@var$+"["+(.@num+1)+"]") == 2) {
- mes "^3355FFDemolished Fortress";
- mes "Gates can be repaired,";
- mes "but you will need to gather";
- mes "the following materials.^000000";
+ mes("^3355FFDemolished Fortress");
+ mes("Gates can be repaired,");
+ mes("but you will need to gather");
+ mes("the following materials.^000000");
next;
- mes "^4D4DFF10 Steel^000000,";
- mes "^4D4DFF30 Trunks^000000,";
- mes "^4D4DFF5 Oridecon^000000, and";
- mes "^4D4DFF10 Emveretarcon^000000.";
+ mes("^4D4DFF10 Steel^000000,");
+ mes("^4D4DFF30 Trunks^000000,");
+ mes("^4D4DFF5 Oridecon^000000, and");
+ mes("^4D4DFF10 Emveretarcon^000000.");
next;
select("Continue");
if ((countitem(Wooden_Block) > 29) && (countitem(Steel) > 9) && (countitem(Emveretarcon) > 9) && (countitem(Oridecon) > 4)) {
- mes "^3355FFYou will need Trunks to";
- mes "repair the support frame,";
- mes "Oridecon to enhance the";
- mes "gate's endurance, and";
- mes "Emveretarcon to basically";
- mes "hold everything together.^000000";
+ mes("^3355FFYou will need Trunks to");
+ mes("repair the support frame,");
+ mes("Oridecon to enhance the");
+ mes("gate's endurance, and");
+ mes("Emveretarcon to basically");
+ mes("hold everything together.^000000");
next;
.@ro_of01 = rand(10,15);
while(1) {
@@ -1148,162 +1148,162 @@ OnEnable:
else {
switch(rand(1,4)) {
case 1:
- mes "^3355FFThe support frame";
- mes "is badly damaged:";
- mes "fixing this part";
- mes "is a top priority.^000000";
+ mes("^3355FFThe support frame");
+ mes("is badly damaged:");
+ mes("fixing this part");
+ mes("is a top priority.^000000");
next;
switch(select("Trunk", "Steel", "Emveretarcon", "Oridecon")) {
case 1:
- mes "^3355FFThe frame has been";
- mes "reinforced with wood.^000000";
+ mes("^3355FFThe frame has been");
+ mes("reinforced with wood.^000000");
++.@rp_temp;
++.@ro_of02;
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
next;
break;
case 2:
- mes "^3355FFYou tried using steel,";
- mes "but it's not working very";
- mes "well. You'll have to try";
- mes "something else.^000000";
+ mes("^3355FFYou tried using steel,");
+ mes("but it's not working very");
+ mes("well. You'll have to try");
+ mes("something else.^000000");
close;
case 3:
- mes "^3355FFYou tried using emveretarcon";
- mes "to reinforce the gate, but it's";
- mes "not working well at all.";
- mes "You'll have to start over.^000000";
+ mes("^3355FFYou tried using emveretarcon");
+ mes("to reinforce the gate, but it's");
+ mes("not working well at all.");
+ mes("You'll have to start over.^000000");
close;
case 4:
- mes "^3355FFYou tried using oridecon,";
- mes "but it's not working very";
- mes "well. You'll have to try";
- mes "something else.^000000";
+ mes("^3355FFYou tried using oridecon,");
+ mes("but it's not working very");
+ mes("well. You'll have to try");
+ mes("something else.^000000");
close;
}
break;
case 2:
- mes "^3355FFIt looks like the gate's";
- mes "overall endurance needs to";
- mes "be reinforced with something.^000000";
+ mes("^3355FFIt looks like the gate's");
+ mes("overall endurance needs to");
+ mes("be reinforced with something.^000000");
next;
switch(select("Trunk", "Steel", "Emveretarcon", "Oridecon")) {
case 1:
- mes "^3355FFYou tried using wood";
- mes "to reinforce the gate.^000000";
+ mes("^3355FFYou tried using wood");
+ mes("to reinforce the gate.^000000");
++.@ro_of02;
next;
break;
case 2:
- mes "^3355FFYou tried using steel";
- mes "to reinforce the gate, but";
- mes "it's not working well at all.";
- mes "You'll have to start over.^000000";
+ mes("^3355FFYou tried using steel");
+ mes("to reinforce the gate, but");
+ mes("it's not working well at all.");
+ mes("You'll have to start over.^000000");
close;
case 3:
- mes "^3355FFYou tried using emveretarcon";
- mes "to reinforce the gate, but it's";
- mes "not working well at all.";
- mes "You'll have to start over.^000000";
+ mes("^3355FFYou tried using emveretarcon");
+ mes("to reinforce the gate, but it's");
+ mes("not working well at all.");
+ mes("You'll have to start over.^000000");
close;
case 4:
- mes "^3355FFYou hammered the";
- mes "oridecon: it looks";
- mes "like this will work.^000000";
+ mes("^3355FFYou hammered the");
+ mes("oridecon: it looks");
+ mes("like this will work.^000000");
++.@rp_temp;
++.@ro_of02;
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
next;
break;
}
break;
case 3:
- mes "^3355FFThe damage to the gate";
- mes "has caused all these";
- mes "cracks. You'll have to";
- mes "weld them solid somehow.^000000";
+ mes("^3355FFThe damage to the gate");
+ mes("has caused all these");
+ mes("cracks. You'll have to");
+ mes("weld them solid somehow.^000000");
next;
switch(select("Trunk", "Steel", "Emveretarcon", "Oridecon")) {
case 1:
- mes "^3355FFYou tried using wood to fix";
- mes "this problem, but it seems";
- mes "to have made it worse.";
- mes "You'll have to start all over.^000000";
+ mes("^3355FFYou tried using wood to fix");
+ mes("this problem, but it seems");
+ mes("to have made it worse.");
+ mes("You'll have to start all over.^000000");
close;
case 2:
- mes "^3355FFYou used steel to weld";
- mes "all the cracks: the gate is";
- mes "is starting to look more solid.^000000";
+ mes("^3355FFYou used steel to weld");
+ mes("all the cracks: the gate is");
+ mes("is starting to look more solid.^000000");
++.@rp_temp;
++.@ro_of02;
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
next;
break;
case 3:
- mes "^3355FFYou tried using emveretarcon";
- mes "to reinforce the gate, but it's";
- mes "not working well at all.";
- mes "You'll have to start over.^000000";
+ mes("^3355FFYou tried using emveretarcon");
+ mes("to reinforce the gate, but it's");
+ mes("not working well at all.");
+ mes("You'll have to start over.^000000");
close;
case 4:
- mes "^3355FFYou tried using oridecon,";
- mes "but it's not working very";
- mes "well. You'll have to try";
- mes "something else.^000000";
+ mes("^3355FFYou tried using oridecon,");
+ mes("but it's not working very");
+ mes("well. You'll have to try");
+ mes("something else.^000000");
close;
}
break;
case 4:
- mes "^3355FFNow you need to make";
- mes "sure that the gate is held";
- mes "together pretty solidly.^000000";
+ mes("^3355FFNow you need to make");
+ mes("sure that the gate is held");
+ mes("together pretty solidly.^000000");
next;
switch(select("Trunk", "Steel", "Emveretarcon", "Oridecon")) {
case 1:
- mes "^3355FFYou tried using wood to fix";
- mes "this problem, but it seems";
- mes "to have made it worse.";
- mes "You'll have to start all over.^000000";
+ mes("^3355FFYou tried using wood to fix");
+ mes("this problem, but it seems");
+ mes("to have made it worse.");
+ mes("You'll have to start all over.^000000");
close;
case 2:
- mes "^3355FFYou tried using steel,";
- mes "but it's not working very";
- mes "well. You'll have to try";
- mes "something else.^000000";
+ mes("^3355FFYou tried using steel,");
+ mes("but it's not working very");
+ mes("well. You'll have to try");
+ mes("something else.^000000");
close;
case 3:
- mes "^3355FFYou successfully used";
- mes "the emveretarcon to repair";
- mes "much of the gate's damage.^000000";
+ mes("^3355FFYou successfully used");
+ mes("the emveretarcon to repair");
+ mes("much of the gate's damage.^000000");
++.@rp_temp;
++.@ro_of02;
- specialeffect2 EF_REPAIRWEAPON;
+ specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
next;
break;
case 4:
- mes "^3355FFYou tried using oridecon,";
- mes "but it's not working very";
- mes "well. You'll have to try";
- mes "something else.^000000";
+ mes("^3355FFYou tried using oridecon,");
+ mes("but it's not working very");
+ mes("well. You'll have to try");
+ mes("something else.^000000");
close;
}
}
}
}
- mes "^3355FFWell, it looks like";
- mes "you're just about done";
- mes "with repairing the gate.^000000";
+ mes("^3355FFWell, it looks like");
+ mes("you're just about done");
+ mes("with repairing the gate.^000000");
next;
if (!agitcheck2()) {
- mes "^3355FFUnfortunately, the Fortress";
- mes "Gate can't be reconstructed:";
- mes "the Emperium is no longer here.^000000";
+ mes("^3355FFUnfortunately, the Fortress");
+ mes("Gate can't be reconstructed:");
+ mes("the Emperium is no longer here.^000000");
close;
}
else {
if (.@rp_temp == .@ro_of01) {
- mes "^3355FFThe Fortress Gate has";
- mes "been successfully repaired!^000000";
+ mes("^3355FFThe Fortress Gate has");
+ mes("been successfully repaired!^000000");
delitem Wooden_Block,30;
delitem Steel,10;
delitem Emveretarcon,10;
@@ -1323,11 +1323,11 @@ OnEnable:
end;
}
else {
- mes "^3355FFThe wall has been breached,";
- mes "and the attempt to repair the";
- mes "Fortress Gate has failed.";
- mes "You lost some of your";
- mes "repair resources...^000000";
+ mes("^3355FFThe wall has been breached,");
+ mes("and the attempt to repair the");
+ mes("Fortress Gate has failed.");
+ mes("You lost some of your");
+ mes("repair resources...^000000");
delitem Oridecon,2;
delitem Steel,4;
delitem Wooden_Block,14;
@@ -1337,9 +1337,9 @@ OnEnable:
}
}
else {
- mes "^3355FFYou can't attempt to repair";
- mes "the Fortress Gate if you don't";
- mes "have all the needed materials.^000000";
+ mes("^3355FFYou can't attempt to repair");
+ mes("the Fortress Gate if you don't");
+ mes("have all the needed materials.^000000");
close;
}
}
@@ -1738,28 +1738,28 @@ OnDisable:
function script LinkFlag {
if (!getcharid(CHAR_ID_GUILD) || getcharid(CHAR_ID_GUILD) != getcastledata(strnpcinfo(NPC_MAP),1)) end;
if (getarg(0) == "Convenience Facility") {
- mes "^3355FFThis is the Stronghold";
- mes "Teleport Service. Would";
- mes "you like to teleport to the";
- mes "Convenience Facility for";
- mes "guild members?^000000";
+ mes("^3355FFThis is the Stronghold");
+ mes("Teleport Service. Would");
+ mes("you like to teleport to the");
+ mes("Convenience Facility for");
+ mes("guild members?^000000");
if(select("Go to Convenience Facility", "Cancel") == 1)
warp strnpcinfo(NPC_MAP),getarg(1),getarg(2);
close;
}
if (getarg(0) == "Emperium Center") {
- mes "^3355FFThis is the Stronghold";
- mes "Teleport Service. Would";
- mes "you like to teleport to";
- mes "the Emperium Center?^000000";
+ mes("^3355FFThis is the Stronghold");
+ mes("Teleport Service. Would");
+ mes("you like to teleport to");
+ mes("the Emperium Center?^000000");
if(select("Teleport", "Cancel") == 1)
warp strnpcinfo(NPC_MAP),getarg(1),getarg(2);
close;
}
- mes "^3355FFThis is the Stronghold";
- mes "Teleport Service. Please";
- mes "choose a destination";
- mes "within the stronghold.^000000";
+ mes("^3355FFThis is the Stronghold");
+ mes("Teleport Service. Please");
+ mes("choose a destination");
+ mes("within the stronghold.^000000");
for (.@i = 0; .@i<getargcount(); .@i += 3)
.@menu$ += getarg(.@i)+":";
.@menu$ += "Cancel";
@@ -1774,20 +1774,20 @@ function script ReturnFlag {
.@str$ = (compare(strnpcinfo(NPC_MAP),"aru"))?"Arunafeltz":"Schwaltzvalt";
.@GID = getcastledata(getarg(0),1);
if (!.@GID) {
- mes "[ "+.@str$+" Royal Edict ]";
- mes "The Holy Kingdom of";
- mes .@str$+" declares that";
- mes "one has yet to claim lordship";
- mes "over this stronghold. The one";
- mes "that breaks the Emperium will";
- mes "be recognized as its new owner.";
+ mesf("[ %s Royal Edict ]", .@str$);
+ mes("The Holy Kingdom of");
+ mesf("%s declares that", .@str$);
+ mes("one has yet to claim lordship");
+ mes("over this stronghold. The one");
+ mes("that breaks the Emperium will");
+ mes("be recognized as its new owner.");
close;
}
if (getcharid(CHAR_ID_GUILD) == .@GID && getarg(1,0)) {
- mes "[ Ringing Voice ]";
- mes "Courageous one,";
- mes "do you wish to return";
- mes "to your stronghold?";
+ mes("[ Ringing Voice ]");
+ mes("Courageous one,");
+ mes("do you wish to return");
+ mes("to your stronghold?");
next;
if(select("Return to the Stronghold", "Cancel") == 1 && getcharid(CHAR_ID_GUILD) == getcastledata(getarg(0),1)) {
if (compare(getarg(0),"arug")) {
@@ -1804,27 +1804,27 @@ function script ReturnFlag {
}
close;
}
- mes "[ "+.@str$+" Royal Edict ]";
- mes "The Holy Kingdom of";
- mes .@str$+" decrees that";
- mes "this stronghold is owned";
- mes "by the ^FF0000"+getguildname(.@GID)+"^000000 Guild.";
+ mesf("[ %s Royal Edict ]", .@str$);
+ mes("The Holy Kingdom of");
+ mesf("%s decrees that", .@str$);
+ mes("this stronghold is owned");
+ mesf("by the ^FF0000%s^000000 Guild.", getguildname(.@GID));
next;
- mes "[ "+.@str$+" Royal Edict ]";
- mes "^FF0000"+getguildmaster(.@GID)+"^000000 is";
- mes "Guild Master of ^FF0000"+getguildname(.@GID)+"^000000.";
- mes "Any that object must claim this";
- mes "stronghold through strength of";
- mes "steel and magic during the";
- mes "appointed Guild Siege times.";
+ mesf("[ %s Royal Edict ]", .@str$);
+ mesf("^FF0000%s^000000 is", getguildmaster(.@GID));
+ mesf("Guild Master of ^FF0000%s^000000.", getguildname(.@GID));
+ mes("Any that object must claim this");
+ mes("stronghold through strength of");
+ mes("steel and magic during the");
+ mes("appointed Guild Siege times.");
close;
}
//== Treasure Room Switches ================================
- script Switch#template FAKE_NPC,{
- mes " ";
- mes "^3355FFWill you pull";
- mes "this small lever?^000000";
+ mes(" ");
+ mes("^3355FFWill you pull");
+ mes("this small lever?^000000");
next;
if(select("Pull Lever", "Cancel") == 2) close;
if (compare(strnpcinfo(NPC_MAP),"arug")) {
@@ -1844,7 +1844,7 @@ function script ReturnFlag {
//== Guild Dungeon Warps ===================================
- script Sunflower#template FAKE_NPC,{
if (getcharid(CHAR_ID_GUILD) == getcastledata(strnpcinfo(NPC_MAP),1)) {
- mes "- It's an amazingly huge sunflower; as big as a human! ... You feel something mysterious emanating from the flower. -";
+ mes("- It's an amazingly huge sunflower; as big as a human! ... You feel something mysterious emanating from the flower. -");
next;
switch(select("Hold the stem.", "Do nothing.")) {
case 1:
@@ -1862,7 +1862,7 @@ function script ReturnFlag {
warp .@map$,.@mapx[.@i],.@mapy[.@i];
close;
case 2:
- mes "It's too scary to touch unknown things.";
+ mes("It's too scary to touch unknown things.");
close;
}
}