summaryrefslogtreecommitdiff
path: root/npc/re/instances
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-10-05 11:34:32 +0300
committerAndrei Karas <akaras@inbox.ru>2019-03-11 21:55:00 +0300
commit2f6d4516113059d9edbe71b085540c9cda92fa03 (patch)
tree4b9a4d9d3ddbff7d478f3f7363f395fd44036ecc /npc/re/instances
parentd8215077643025d10527cbab22d6949a59d3258c (diff)
downloadhercules-2f6d4516113059d9edbe71b085540c9cda92fa03.tar.gz
hercules-2f6d4516113059d9edbe71b085540c9cda92fa03.tar.bz2
hercules-2f6d4516113059d9edbe71b085540c9cda92fa03.tar.xz
hercules-2f6d4516113059d9edbe71b085540c9cda92fa03.zip
Remove conf dir.
Diffstat (limited to 'npc/re/instances')
-rw-r--r--npc/re/instances/BakonawaLake.txt607
-rw-r--r--npc/re/instances/BangungotHospital.txt1112
-rw-r--r--npc/re/instances/BuwayaCave.txt475
-rw-r--r--npc/re/instances/EclageInterior.txt518
-rw-r--r--npc/re/instances/HazyForest.txt1227
-rw-r--r--npc/re/instances/MalangdoCulvert.txt1122
-rw-r--r--npc/re/instances/OldGlastHeim.txt2803
-rw-r--r--npc/re/instances/WolfchevLaboratory.txt3274
-rw-r--r--npc/re/instances/ghost_palace.txt853
-rw-r--r--npc/re/instances/octopus_cave.txt702
-rw-r--r--npc/re/instances/saras_memory.txt1780
11 files changed, 0 insertions, 14473 deletions
diff --git a/npc/re/instances/BakonawaLake.txt b/npc/re/instances/BakonawaLake.txt
deleted file mode 100644
index 5226db6cc..000000000
--- a/npc/re/instances/BakonawaLake.txt
+++ /dev/null
@@ -1,607 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//=
-//= 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/>.
-//=========================================================================
-//= Bakonawa Lake
-//================= Description ===========================================
-//= Defeat Bakonawa before he eats the moon.
-//= Part of the "Bakonawa Extermination" quest.
-//================= Current Version =======================================
-//= 1.1
-//=========================================================================
-
-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();
- }
- if (MaxWeight - Weight < 10000) {
- 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();
- }
- 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();
- }
-
- .@party_id = getcharid(CHAR_ID_PARTY);
- .@md_name$ = _("Bakonawa Lake");
-
- .@baku_time = questprogress(12278, PLAYTIME);
- if (!.@baku_time) {
- 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();
- }
- 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();
- .@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();
- .@i = select("", "Now I will go down.", "Cancel.");
- }
- switch (.@i) {
- case 1:
- .@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);
- }
- 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") == "") {
- 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", 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();
- }
- } 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();
- } 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();
- }
-}
-
-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);
- malaya_bakona1 = 7;
- malaya_bakona2 = 15;
- }
- 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!")) {
- case 1:
- 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();
- }
- } 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();
- }
-}
-
-1@ma_b,36,111,4 script #Bakonawan1 CLEAR_NPC,{
- end;
-OnInstanceInit:
- disablenpc(instance_npcname("#Bakonawan1"));
- end;
-OnStart:
- enablenpc(instance_npcname("#Bakonawan1"));
- .@map$ = instance_mapname("1@ma_b");
- 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");
- 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"));
- }
- 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"));
-OnTimer570000:
- 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, 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"), 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"));
- end;
-OnStart:
- stopnpctimer();
- enablenpc(instance_npcname("#SummonPuppetsn1"));
- initnpctimer();
- end;
-OnTouch:
- 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);
- .@map$ = instance_mapname("1@ma_b");
- for (.@i = 0; .@i < 9; ++.@i) {
- .@rand = rand(1, 10);
- if (.@rand > 7)
- 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"), 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"));
- end;
-OnMyMobDead:
- end;
-}
-
-1@ma_b,1,5,4 script #BakonawaDeadn1 CLEAR_NPC,{
- end;
-OnInstanceInit:
- disablenpc(instance_npcname("#BakonawaDeadn1"));
- end;
-OnStart:
- 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, 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, 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, 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"));
- end;
-}
-
-1@ma_b,36,111,4 script #Bakonawan2 CLEAR_NPC,{
- end;
-OnInstanceInit:
- disablenpc(instance_npcname("#Bakonawan2"));
- end;
-OnStart:
- enablenpc(instance_npcname("#Bakonawan2"));
- .@label$ = instance_npcname("#Bakonawan2")+"::OnMyMobDead";
- .@map$ = instance_mapname("1@ma_b");
- 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");
- if (.@mob_dead_num < 1) {
- 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, 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"), 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"));
- end;
-OnStart:
- 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");
- end;
-OnEnd:
- 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, 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, 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"));
- end;
-OnMyMobDead:
- end;
-}
-
-1@ma_b,36,111,4 script #Bakonawan3 CLEAR_NPC,{
- end;
-OnInstanceInit:
- disablenpc(instance_npcname("#Bakonawan3"));
- end;
-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");
- 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, 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);
- 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);
-OnTimer600000:
- .@map$ = instance_mapname("1@ma_b");
- 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"), 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"));
- end;
-OnStart:
- initnpctimer();
- end;
-OnEnd:
- 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);
-OnTimer600000:
- 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$);
- if (.@mob_dead_num < 50) {
- .@mob_rg = 50 - .@mob_dead_num;
- if (.@mob_rg > getarg(0))
- .@mob_rg = getarg(0);
- 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();
- }
- 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.");
-// if (IsPremiumPcCafe == 10)
- getitem(Ancient_Grudge, 7);
-// else
-// 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);
- end;
-OnInstanceInit:
- disablenpc(instance_npcname("Taho#Completed"));
- end;
-OnStart:
- enablenpc(instance_npcname("Taho#Completed"));
- initnpctimer();
- end;
-OnTimer1000:
- 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, 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!")) {
- case 1:
- 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();
- }
- close();
- } else {
- 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"));
- end;
-OnStart:
- enablenpc(instance_npcname("Taho#Fail"));
- end;
-}
diff --git a/npc/re/instances/BangungotHospital.txt b/npc/re/instances/BangungotHospital.txt
deleted file mode 100644
index 4af583879..000000000
--- a/npc/re/instances/BangungotHospital.txt
+++ /dev/null
@@ -1,1112 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//=
-//= 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/>.
-//=========================================================================
-//= Bangungot Hospital 2F
-//================= Description ===========================================
-//= Save the hospital in Port Malaya from Bangungot.
-//= Part of the "Nurse in Port Malaya" quest.
-//================= Current Version =======================================
-//= 1.1
-//=========================================================================
-
-//== Instance Creation =====================================
-ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
- if (BaseLevel < 100) end;
-
- .@party_id = getcharid(CHAR_ID_PARTY);
- cutin "malaya_nurseB",2;
- if (!questprogress(9223)) {
- .@quest = questprogress(9222);
- if (!.@quest) {
- if (!.@party_id) {
- if (malaya_bang == 30)
- callsub L_Closed,1;
- else if (malaya_bang == 31)
- callsub L_Closed,0;
- else
- callsub L_NoParty;
- }
- if (questprogress(11309,HUNTING) != 2) {
- .@playtime = questprogress(9224,PLAYTIME);
- if (!.@playtime) {
- if (malaya_bang == 30)
- callsub L_Closed,1;
- else if (malaya_bang == 31)
- callsub L_Closed,0;
- else if (malaya_bang > 39)
- callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,0,0;
- else {
- mes "[Nurse Maenne]";
- mes "..........";
- close2;
- cutin "",255;
- end;
- }
- } else if (.@playtime == 1) {
- if (!questprogress(11309)) {
- mes "[Nurse Maenne]";
- mes "This is a fatal situation.";
- close2;
- cutin "",255;
- end;
- } else {
- mes "[Nurse Maenne]";
- mes "Now the entrance";
- mes "to the second floor";
- mes "is closed.";
- next;
- mes "[Nurse Maenne]";
- mes "To go up to";
- mes "the second floor again,";
- mes "open the gate";
- mes "after a lapse of time.";
- close2;
- cutin "",255;
- end;
- }
- } else {
- .@quest2 = questprogress(11309);
- if (!.@quest2) {
- callsub L_Closed,0;
- } else if (.@quest2 == 1) {
- callsub L_Complete;
- completequest 9224;
- erasequest 9224;
- close2;
- cutin "",255;
- end;
- } else {
- //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 {
- mes "[Nurse Maenne]";
- mes ".......";
- close2;
- cutin "",255;
- end;
- }
- }
- }
- } else {
- mes "[Nurse Maenne]";
- mes "You got rid of Bangungot!"; //?
- mes "The nurse might be waiting for you";
- mes "in front of the hospital!";
- close2;
- cutin "",255;
- end;
- }
- } else if (.@quest == 1) {
- if (!.@party_id) callsub L_NoParty;
- if (malaya_bang > 39) {
- if (questprogress(9222,HUNTING) == 1) {
- .@playtime = questprogress(9224,PLAYTIME);
- if (.@playtime == 1) {
- mes "[Nurse Maenne]";
- mes "Do you want go up to the second floor again?";
- next;
- callsub L_Enter,0,0;
- } else if (.@playtime == 2) {
- //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 {
- mes "[Nurse Maenne]";
- mes ".......";
- close2;
- cutin "",255;
- end;
- }
- } else {
- mes "[Nurse Maenne]";
- mes "This is a fatal situation.";
- mes "You can't go up to the 2nd floor.";
- close2;
- cutin "",255;
- end;
- }
- } else {
- if (checkweight(Yggdrasilberry,1) == 0) {
- mes "[Nurse Maenne]";
- mes "You have too much stuff.";
- mes "Please reduce your stuff and";
- mes "come to me again.";
- close2;
- cutin "",255;
- end;
- }
- if (checkweight(Yggdrasilberry,11) == 0) {
- mes "[Nurse Maenne]";
- mes "It's too heavy.";
- mes "Please reduce the weight and";
- mes "come to me again.";
- close2;
- cutin "",255;
- end;
- }
- callsub L_Complete;
- completequest 9222;
- erasequest 9222;
- completequest 9224;
- erasequest 9224;
- setquest 9223;
- getexp 500000,0;
-// if (IsPremiumPcCafe == 10)
- getitem Ancient_Grudge,7;
-// else
-// getitem Ancient_Grudge,5;
- close2;
- cutin "",255;
- end;
- }
- } else {
- mes "[Nurse Maenne]";
- mes ".....?";
- mes "Now you can't go up";
- mes "to the 2nd floor.";
- close2;
- cutin "",255;
- end;
- }
- } else {
- callsub L_Complete;
- completequest 9222;
- erasequest 9222;
- completequest 9224;
- erasequest 9224;
- setquest 9223;
- close2;
- cutin "",255;
- end;
- }
- } else {
- if (questprogress(9223,PLAYTIME) == 1) {
- callsub L_Complete;
- close2;
- cutin "",255;
- end;
- } else {
- 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 {
- mes "[Nurse Maenne]";
- mes ".......";
- close2;
- cutin "",255;
- end;
- }
- }
- }
-
-L_Closed:
- mes "[Nurse Maenne]";
- mes "- The door is closed to 1st floor";
- mes "When this Nurse came in?";
- mes "I call her behind, but";
- mes "she doesn't respond. -";
- if (getarg(0)) {
- malaya_bang = 31;
- changequest 11302,11303;
- }
- close2;
- cutin "",255;
- end;
-
-L_NoParty:
- mes "- I guess...";
- mes "I can't talk him alone.";
- mes "After registering a party";
- mes "let me try to say something. -";
- close2;
- cutin "",255;
- end;
-
-L_Enter:
- .@md_name$ = "Bangungot Hospital 2F";
- if (getarg(2) == 0) {
- mes "[Nurse Maenne]";
- mes "I already heard that story so";
- mes "I pretty much know that.";
- mes "What are you going to do?";
- mes "Do you want to go up";
- mes "to the second floor?";
- } else {
- mes "[Nurse Maenne]";
- mes "You are back...";
- mes "There is bad news.";
- mes "I heard that";
- mes "the Bangungot has";
- mes "appeared again.";
- next;
- mes "[Nurse Maenne]";
- mes strcharinfo(PC_NAME) + "'s help";
- mes "is needed again.";
- mes "Please, could you give me";
- mes "one more chance?";
- }
- next;
- 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) {
- 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);
- }
- mes "[Nurse Maenne]";
- mes "We are preparing to go up";
- mes "to the second floor.";
- mes "At the second floor";
- mes "there is a chaotic rumor that";
- mes "the dead do not die.";
- mes "Please refer to this story.";
- next;
- mes "[Nurse Maenne]";
- mes "When you finish everything,";
- mes "please talk to me again.";
- mes "I really appreciate it.";
- close2;
- cutin "",255;
- end;
- case 2:
- if( has_instance("1@ma_h") == "" ) {
- mes "The memorial dungeon "+.@md_name$+" does not exist.";
- mes "The party leader did not generate the dungeon yet.";
- close;
- } else {
- mapannounce "ma_dun01", getpartyname(getcharid(CHAR_ID_PARTY))+" party's "+strcharinfo(PC_NAME)+" member entered "+.@md_name$+".",bc_map,"0x00ff99";
- if (getarg(1)) {
- if (questprogress(9223)) {
- completequest 9223;
- erasequest 9223;
- }
- if (questprogress(9222))
- erasequest 9222;
- if (questprogress(9224))
- erasequest 9224;
- setquest 9222;
- }
- setquest 9224;
- cutin "",255;
- warp "1@ma_h",40,157;
- end;
- }
- case 3:
- mes "[Nurse Maenne]";
- mes "Alright.";
- mes "If you change mind, come back again.";
- close2;
- cutin "",255;
- end;
- }
-
-L_Complete:
- mes "[Nurse Maenne]";
- mes "You returned safely from the Bangungot on the second floor!!";
- mes "However, it's not";
- mes "really over yet.";
- next;
- mes "[Nurse Maenne]";
- mes "I'm pretty sure it";
- mes "never disappears easily.";
- mes "I don't know what will happen";
- mes "about Bangungot, so";
- mes "after a lapse of time";
- mes "please return to me.";
- return;
-}
-
-sec_in02,27,30,0 script Bangungot Gate 2_MONEMUS,{
- callfunc "F_GM_NPC";
- mes "Password";
- next;
- if (callfunc("F_GM_NPC","1854",1) == 0) {
- mes "Good Luck.";
- close;
- }
- switch(select("Receive 9222", "Receive 9223", "Erase 9222", "Erase 9223", "Receive 9224", "Erase 9224", "Receive malaya_bang 30", "Receive malaya_bang 40", "Receive 11309", "Erase 11309", "Cancel")) {
- case 1: setquest 9222; close;
- case 2: setquest 9223; close;
- case 3: erasequest 9222; close;
- case 4: erasequest 9223; close;
- case 5: setquest 9224; close;
- case 6: erasequest 9224; close;
- case 7: malaya_bang = 30; close;
- case 8: malaya_bang = 40; close;
- case 9: setquest 11309; close;
- case 10: completequest 11309; close;
- case 11: close;
- }
-}
-
-//== Instance Scripts ======================================
-1@ma_h,43,157,0 script #Memorial Start HIDDEN_WARP_NPC,2,2,{
- end;
-OnTouch:
- .@map$ = instance_mapname("1@ma_h");
- mapannounce .@map$,"Bangungot: You silly "+strcharinfo(PC_NAME)+" ....",bc_map,"0xFF82FF";
- mapannounce .@map$,"Bangungot: Get out before you die...",bc_map,"0xFF82FF";
- areamonster .@map$,44,156,46,158,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Memorial Start")+"::OnMyMobDead";
- donpcevent instance_npcname("#Memorial Start_time")+"::OnEnable";
- end;
-OnMyMobDead:
- initnpctimer;
- end;
-OnTimer1000:
- .@map$ = instance_mapname("1@ma_h");
- if (mobcount(.@map$,instance_npcname("#Memorial Start")+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("#Ward1 Entry")+"::OnEnable1";
- donpcevent instance_npcname("#Memorial Start_time")+"::OnDisable";
- mapannounce .@map$,"Bangungot: This is where your NIGHTMARE starts...",bc_map,"0xFF82FF";
- disablenpc instance_npcname("#Memorial Start");
- }
- stopnpctimer;
- end;
-}
-
-1@ma_h,43,157,0 script #Memorial Start_time HIDDEN_WARP_NPC,{ //2,2
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Memorial Start_time");
- end;
-OnEnable:
- specialeffect(EF_BAT2, AREA, getnpcid(instance_npcname("#Memorial Start")));
- initnpctimer;
- end;
-OnDisable:
- stopnpctimer;
- end;
-OnTimer5000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: You cannot help.... you can't defeat me.",bc_map,"0xFF82FF";
- end;
-OnTimer10000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: HAHAHAHAHAHAHAHA!!!!",bc_map,"0xFF82FF";
- stopnpctimer;
- end;
-}
-
-1@ma_h,46,165,0 script #Ward1 Entry HIDDEN_WARP_NPC,{ //3,3
- end;
-OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- end;
-OnEnable1:
- .@map$ = instance_mapname("1@ma_h");
- .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
- specialeffect EF_BAT2;
- switch(atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),4))) {
- case 1:
- areamonster .@map$,49,171,51,173,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,51,171,53,173,"Bangungot's Mangkukulam",2339,1,.@label$;
- end;
- case 2:
- areamonster .@map$,49,137,51,139,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,51,137,53,139,"Bangungot's Mangkukulam",2339,1,.@label$;
- end;
- case 3:
- areamonster .@map$,69,171,71,173,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,71,171,73,173,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,73,171,75,173,"Bangungot's Mangkukulam",2339,1,.@label$;
- end;
- case 4:
- areamonster .@map$,71,139,73,141,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,73,139,75,141,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,75,139,77,141,"Bangungot's Mangkukulam",2339,1,.@label$;
- end;
- case 5:
- areamonster .@map$,93,173,95,175,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,95,173,97,175,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,97,173,99,175,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,93,175,95,177,"Bangungot's Mangkukulam",2339,1,.@label$;
- end;
- }
-/*
-// Not called in official scripts.
-OnEnable2:
- areamonster instance_mapname("1@ma_h"),140,38,142,40,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Ward1 Entry")+"::OnMyMobDead";
- end;
-*/
-OnEnable3:
- .@i = atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),4))+1;
- donpcevent instance_npcname("#Ward"+.@i+" Entry")+"::OnEnable1";
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- end;
-OnMyMobDead:
- initnpctimer;
- end;
-OnTimer1000:
- .@map$ = instance_mapname("1@ma_h");
- if (mobcount(.@map$,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
- specialeffect EF_BAT2;
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnEnable3";
- switch(atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),4))) {
- case 1: .@str$ = "Bangungot: I will let you see the pain and the agony actually be real....."; break;
- case 2: .@str$ = "Bangungot: Diseased spirits are the source of my energy, and my life..."; break;
- case 3: .@str$ = "Bangungot: Scream more....and more...... your pain..."; break;
- case 4: .@str$ = "Bangungot: Deeply and more deeply in pain..."; break;
- case 5: .@str$ = "Bangungot: Be horrified...be petrified."; break;
- }
- mapannounce .@map$,.@str$,bc_map,"0xFF82FF";
- }
- stopnpctimer;
- end;
-}
-1@ma_h,57,147,0 duplicate(#Ward1 Entry) #Ward2 Entry HIDDEN_WARP_NPC //3,3
-1@ma_h,67,165,0 duplicate(#Ward1 Entry) #Ward3 Entry HIDDEN_WARP_NPC //3,3
-1@ma_h,79,147,0 duplicate(#Ward1 Entry) #Ward4 Entry HIDDEN_WARP_NPC //3,3
-1@ma_h,90,165,0 duplicate(#Ward1 Entry) #Ward5 Entry HIDDEN_WARP_NPC //3,3
-
-1@ma_h,101,147,0 script #Ward6 Entry HIDDEN_WARP_NPC,{ //2,2
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Ward6 Entry");
- end;
-OnEnable1:
- .@map$ = instance_mapname("1@ma_h");
- .@label$ = instance_npcname("#Ward6 Entry")+"::OnMyMobDead";
- enablenpc instance_npcname("#Ward6 Entry");
- specialeffect EF_BAT2;
- areamonster .@map$,93,137,95,139,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,95,137,97,139,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,97,137,99,139,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,93,139,95,141,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,95,139,97,141,"Bangungot's Manananggal",2338,1,.@label$;
- end;
-/*
-// Not called in official scripts.
-OnEnable2:
- areamonster instance_mapname("1@ma_h"),140,38,142,40,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Ward6 Entry")+"::OnMyMobDead";
- end;
-*/
-OnMyMobDead:
- initnpctimer;
- end;
-OnTimer3000:
- .@map$ = instance_mapname("1@ma_h");
- if (mobcount(.@map$,instance_npcname("#Ward6 Entry")+"::OnMyMobDead") < 1) {
- specialeffect EF_BAT2;
- donpcevent instance_npcname("#Summon Boss")+"::OnEnable";
- mapannounce .@map$,"Bangungot: You had the choice to enter here, but you have no choice to get out as you want...",bc_map,"0xFF82FF";
- }
- stopnpctimer;
- end;
-}
-
-1@ma_h,110,177,0 script #Summon Boss HIDDEN_WARP_NPC,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Summon Boss");
- end;
-OnEnable:
- enablenpc instance_npcname("#Summon Boss");
- monster instance_mapname("1@ma_h"),143,158,"Bangungot",2317,1,instance_npcname("#Summon Boss")+"::OnMyMobDead";
- donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry";
- donpcevent instance_npcname("#Boss Room Entry")+"::OnEnable";
- end;
-OnMyMobDead:
- initnpctimer;
- end;
-OnTimer1000:
- if (mobcount(instance_mapname("1@ma_h"),instance_npcname("#Summon Boss")+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("#Summon Pillar")+"::OnEnable1";
- mapannounce instance_mapname("1@ma_h"),"Bangungot: I....cannot.....finish...like.......this.",bc_map,"0xFF82FF";
- disablenpc instance_npcname("#Summon Boss");
- }
- stopnpctimer;
- end;
-}
-
-1@ma_h,147,143,0 script #Boss Room Entry HIDDEN_WARP_NPC,10,10,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Boss Room Entry");
- end;
-OnTouch:
- specialeffect EF_GHOST;
- donpcevent instance_npcname("#Boss Room Entry")+"::OnDisableEntry";
- donpcevent instance_npcname("#Boss Room Entry_time")+"::OnEnable";
- end;
-OnEnable:
- enablenpc instance_npcname("#Boss Room Entry");
- enablenpc instance_npcname("#Boss Room Door");
- enablenpc instance_npcname("#Boss Room Door1");
- end;
-OnSpawn:
- areamonster instance_mapname("1@ma_h"),123,152,137,166,"Bangungot's Manananggal",2338,1,instance_npcname("#Boss Room Entry")+"::OnMyMobDead";
- end;
-OnReset:
- killmonster instance_mapname("1@ma_h"),instance_npcname("#Boss Room Entry")+"::OnMyMobDead";
- end;
-OnMyMobDead:
- initnpctimer;
- end;
-OnTimer1000:
- .@map$ = instance_mapname("1@ma_h");
- if (mobcount(.@map$,instance_npcname("#Boss Room Entry")+"::OnMyMobDead") < 1)
- mapannounce .@map$,"Bangungot: HAHAHAH... That's not enough, I will be even stronger....",bc_map,"0xFF82FF";
- stopnpctimer;
- end;
-
-// Unofficial labels (to avoid duplicating code).
-OnEnableEntry:
- enablenpc instance_npcname("#Boss Room Entry");
- enablenpc instance_npcname("#Boss Room Entry_a");
- enablenpc instance_npcname("#Boss Room Entry_b");
- enablenpc instance_npcname("#Boss Room Entry_c");
- enablenpc instance_npcname("#Boss Room Entry_d");
- enablenpc instance_npcname("#Boss Room Entry_e");
- enablenpc instance_npcname("#Boss Room Entry_f");
- enablenpc instance_npcname("#Boss Room Entry_g");
- enablenpc instance_npcname("#Boss Room Entry_h");
- end;
-OnDisableEntry:
- disablenpc instance_npcname("#Boss Room Entry");
- disablenpc instance_npcname("#Boss Room Entry_a");
- disablenpc instance_npcname("#Boss Room Entry_b");
- disablenpc instance_npcname("#Boss Room Entry_c");
- disablenpc instance_npcname("#Boss Room Entry_d");
- disablenpc instance_npcname("#Boss Room Entry_e");
- disablenpc instance_npcname("#Boss Room Entry_f");
- disablenpc instance_npcname("#Boss Room Entry_g");
- disablenpc instance_npcname("#Boss Room Entry_h");
- end;
-}
-
-1@ma_h,147,143,0 script #Boss Room Entry_time HIDDEN_WARP_NPC,{ //10,10
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Boss Room Entry_time");
- end;
-OnEnable:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: You poor little things. I will invite you to the world of infectious disease...",bc_map,"0xFF82FF";
- initnpctimer;
- end;
-OnTimer25000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: You will know what it is...",bc_map,"0xFF82FF";
- for(.@i = 10; .@i<=22; ++.@i)
- disablenpc instance_npcname("#Patternwarp"+.@i);
- end;
-OnTimer35000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: Real pain! You will know!!",bc_map,"0xFF82FF";
- for(.@i = 25; .@i<=33; ++.@i)
- disablenpc instance_npcname("#Patternwarp"+.@i);
- end;
-OnTimer45000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: Have you ever heard the patients screaming?",bc_map,"0xFF82FF";
- end;
-OnTimer55000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: If you haven't, I will let you!!",bc_map,"0xFF82FF";
- enablenpc instance_npcname("#Summon Ward Mob");
- donpcevent instance_npcname("#Summon Ward Mob")+"::OnEnable7";
- end;
-OnTimer60000:
- for(.@i = 1; .@i<=8; ++.@i)
- enablenpc instance_npcname("#Patternwarp"+.@i);
- for(.@i = 34; .@i<=38; ++.@i)
- enablenpc instance_npcname("#Patternwarp"+.@i);
- end;
-OnTimer60500:
- for(.@i = 41; .@i<=49; ++.@i)
- enablenpc instance_npcname("#Patternwarp"+.@i);
- end;
-OnTimer90000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: Delight coming from agony is my nutrient.",bc_map,"0xFF82FF";
- donpcevent instance_npcname("#Boss Room Entry")+"::OnSpawn";
- end;
-OnTimer110000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: Remain here, cursed disease.....",bc_map,"0xFF82FF";
- donpcevent instance_npcname("#Boss Room Entry")+"::OnSpawn";
- end;
-OnTimer125000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: You wanna hang out with me ......?",bc_map,"0xFF82FF";
- end;
-OnTimer128000:
- for(.@i = 1; .@i<=8; ++.@i)
- disablenpc instance_npcname("#Patternwarp"+.@i);
- for(.@i = 34; .@i<=38; ++.@i)
- disablenpc instance_npcname("#Patternwarp"+.@i);
- end;
-OnTimer128500:
- for(.@i = 41; .@i<=49; ++.@i)
- disablenpc instance_npcname("#Patternwarp"+.@i);
- end;
-OnTimer129000:
- donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry";
- end;
-OnTimer129500:
- donpcevent instance_npcname("#Boss Room Entry")+"::OnSpawn";
- for(.@i = 10; .@i<=22; ++.@i)
- enablenpc instance_npcname("#Patternwarp"+.@i);
- end;
-OnTimer130000:
- for(.@i = 25; .@i<=33; ++.@i)
- enablenpc instance_npcname("#Patternwarp"+.@i);
- stopnpctimer;
- end;
-OnStopTimer:
- stopnpctimer;
- end;
-}
-
-1@ma_h,111,177,0 script #Boss Room Entry_2 WARPNPC,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Boss Room Entry_2");
- end;
-OnEnable:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: You are pretty powerful...",bc_map,"0xFF82FF";
- initnpctimer;
- end;
-OnTimer3000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: But can you...",bc_map,"0xFF82FF";
- end;
-OnTimer6000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: ...defeat me again...?",bc_map,"0xFF82FF";
- end;
-OnTimer9000:
- for(.@i = 1; .@i<=8; ++.@i)
- disablenpc instance_npcname("#Patternwarp"+.@i);
- for(.@i = 34; .@i<=38; ++.@i)
- disablenpc instance_npcname("#Patternwarp"+.@i);
- end;
-OnTimer9500:
- for(.@i = 41; .@i<=49; ++.@i)
- disablenpc instance_npcname("#Patternwarp"+.@i);
- end;
-OnTimer10000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: You stupid persoon....",bc_map,"0xFF82FF";
- for(.@i = 10; .@i<=22; ++.@i)
- enablenpc instance_npcname("#Patternwarp"+.@i);
- end;
-OnTimer10500:
- for(.@i = 25; .@i<=33; ++.@i)
- enablenpc instance_npcname("#Patternwarp"+.@i);
- stopnpctimer;
- end;
-}
-
-1@ma_h,118,63,0 script #Summon Ward Mob HIDDEN_WARP_NPC,4,4,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Summon Ward Mob");
- end;
-OnTouch:
- donpcevent instance_npcname("#Summon Ward Mob_time")+"::OnEnable";
- specialeffect EF_CURSEATTACK;
- end;
-OnEnable1:
- .@map$ = instance_mapname("1@ma_h");
- .@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
- areamonster .@map$,47,77,49,79,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,49,77,51,79,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,51,77,53,79,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,47,79,49,81,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,49,79,51,81,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,47,81,49,83,"Bangungot's Tiyanak",2339,1,.@label$;
- areamonster .@map$,49,81,51,83,"Bangungot's Tiyanak",2339,1,.@label$;
- end;
-OnEnable2:
- .@map$ = instance_mapname("1@ma_h");
- .@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
- areamonster .@map$,51,45,53,47,"Bangungot's Tiyanak",2339,1,.@label$;
- areamonster .@map$,53,45,55,47,"Bangungot's Tiyanak",2339,1,.@label$;
- areamonster .@map$,49,47,51,49,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,53,47,55,49,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,49,49,51,51,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,51,49,53,51,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,53,49,55,51,"Bangungot's Tiyanak",2340,1,.@label$;
- end;
-OnEnable3:
- .@map$ = instance_mapname("1@ma_h");
- .@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
- areamonster .@map$,69,75,71,77,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,71,75,73,77,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,73,75,75,77,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,69,77,71,79,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,71,77,73,79,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,69,79,71,81,"Bangungot's Tiyanak",2339,1,.@label$;
- areamonster .@map$,71,79,73,81,"Bangungot's Tiyanak",2339,1,.@label$;
- end;
-OnEnable4:
- .@map$ = instance_mapname("1@ma_h");
- .@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
- areamonster .@map$,73,45,75,47,"Bangungot's Tiyanak",2339,1,.@label$;
- areamonster .@map$,75,45,77,47,"Bangungot's Tiyanak",2339,1,.@label$;
- areamonster .@map$,71,47,73,49,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,75,47,77,49,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,71,49,73,51,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,73,49,75,51,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,75,49,77,51,"Bangungot's Tiyanak",2340,1,.@label$;
- end;
-OnEnable5:
- .@map$ = instance_mapname("1@ma_h");
- .@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
- areamonster .@map$,93,77,95,79,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,95,77,97,79,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,97,77,99,79,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,93,79,95,81,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,95,79,97,81,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,93,81,95,83,"Bangungot's Tiyanak",2339,1,.@label$;
- areamonster .@map$,95,81,97,83,"Bangungot's Tiyanak",2339,1,.@label$;
- end;
-OnEnable6:
- .@map$ = instance_mapname("1@ma_h");
- .@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
- areamonster .@map$,93,43,95,45,"Bangungot's Tiyanak",2339,1,.@label$;
- areamonster .@map$,95,43,97,45,"Bangungot's Tiyanak",2339,1,.@label$;
- areamonster .@map$,91,45,93,47,"Bangungot's Mangkukulam",2339,1,.@label$;
- areamonster .@map$,95,45,97,47,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,91,47,93,49,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,93,47,95,49,"Bangungot's Tiyanak",2340,1,.@label$;
- areamonster .@map$,95,47,97,49,"Bangungot's Tiyanak",2340,1,.@label$;
- end;
-OnEnable7:
- killmonster instance_mapname("1@ma_h"),instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
- end;
-OnMyMobDead:
- initnpctimer;
- end;
-OnTimer1000:
- if (mobcount(instance_mapname("1@ma_h"),instance_npcname("#Summon Ward Mob")+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("#Boss Room Entry_2")+"::OnEnable";
- donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry";
- donpcevent instance_npcname("#Boss Room Entry_time")+"::OnStopTimer";
- }
- stopnpctimer;
- end;
-}
-
-1@ma_h,118,64,0 script #Summon Ward Mob_time HIDDEN_WARP_NPC,{ //4,4
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Summon Ward Mob_time");
- end;
-OnEnable:
- initnpctimer;
- disablenpc instance_npcname("#Summon Ward Mob");
- end;
-OnTimer2000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: My spirit will be with your cursed body...",bc_map,"0xFF82FF";
- end;
-OnTimer4000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: My inferiors...!! Go!! Go torment the patients in the wards!!",bc_map,"0xFF82FF";
- end;
-OnTimer6000:
- mapannounce instance_mapname("1@ma_h"),"- Bangungot's inferiors are bothering patients!! If you don't slay them all, Bangungot will be stronger. -",bc_map,"0xFF8200";
- end;
-OnTimer10000:
- setarray .@npc$[1],
- "Moaning Patient","Screaming Patient","Patient in Pain","Passed Out Patient","Patient with Nightmare","Sick Looking Patient",
- "Horrified Patient","Patient in Sorrow","Suffering Patient","Wriggling Patient","Patient in Cold Sweat","Howling Patient";
- enablenpc instance_npcname("#Summon Ward Mob");
- .@rand = rand(1,6);
- donpcevent instance_npcname("#Summon Ward Mob")+"::OnEnable"+.@rand;
- .@id = (.@rand*2)-rand(2);
- donpcevent instance_npcname(.@npc$[.@id]+"#"+.@id)+"::OnEnable";
- stopnpctimer;
- end;
-}
-
-1@ma_h,112,177,0 script #Summon Pillar HIDDEN_WARP_NPC,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Summon Pillar");
- end;
-OnEnable1:
- enablenpc instance_npcname("#Summon Pillar");
- donpcevent instance_npcname("#Boss Room Entry_time")+"::OnStopTimer";
- donpcevent instance_npcname("#Summon Pillar_time")+"::OnEnable";
- monster instance_mapname("1@ma_h"),131,157,"Pillar of Spirit",2327,1,instance_npcname("#Summon Pillar")+"::OnMyMobDead";
- end;
-OnEnable3:
- enablenpc instance_npcname("#Boss Room Exit");
- disablenpc instance_npcname("#Summon Pillar");
- end;
-OnReset:
- killmonster instance_mapname("1@ma_h"),instance_npcname("#Summon Pillar")+"::OnMyMobDead";
- end;
-OnMyMobDead:
- initnpctimer;
- end;
-OnTimer1000:
- .@map$ = instance_mapname("1@ma_h");
- if (mobcount(.@map$,instance_npcname("#Summon Pillar")+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("#Summon Pillar_time")+"::OnStopTimer";
- donpcevent instance_npcname("#Summon Pillar")+"::OnEnable3";
- donpcevent instance_npcname("#Boss Room Entry")+"::OnReset";
- mapannounce .@map$,"Bangungot: Oh....cannot believe that I lost...",bc_map,"0xFF4500";
- mapannounce .@map$,"Bangungot: But don't think this is the end!!",bc_map,"0xFF4500";
- mapannounce .@map$,"Bangungot: I WILL BE BACK!!!!!",bc_map,"0xFF4500";
- }
- stopnpctimer;
- end;
-}
-
-1@ma_h,112,178,0 script #Summon Pillar_time HIDDEN_WARP_NPC,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Summon Pillar_time");
- end;
-OnEnable:
- initnpctimer;
- end;
-OnStopTimer:
- stopnpctimer;
- 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, getnpcid(instance_npcname("#Patternwarp45")));
- end;
-OnTimer7000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: I never die!!!!",bc_map,"0xFF82FF";
- 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, 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, getnpcid(instance_npcname("#Patternwarp45")));
- end;
-OnTimer30000:
- donpcevent instance_npcname("#Summon Pillar")+"::OnReset";
- end;
-OnTimer31000:
- mapannounce instance_mapname("1@ma_h"),"Bangungot: Hahahahaha!! I'm back with the power from the pillar of spirit!!!",bc_map,"0xFF82FF";
- donpcevent instance_npcname("#Summon Pillar")+"::OnReset";
- end;
-OnTimer36000:
- donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry";
- donpcevent instance_npcname("#Summon Boss")+"::OnEnable";
- stopnpctimer;
- end;
-}
-
-1@ma_h,118,171,0 script #Boss Room Entry_a HIDDEN_WARP_NPC,10,10,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- end;
-OnTouch:
- specialeffect EF_GHOST;
- donpcevent instance_npcname("#Boss Room Entry")+"::OnDisableEntry";
- donpcevent instance_npcname("#Boss Room Entry_time")+"::OnEnable";
- end;
-}
-1@ma_h,132,171,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_b HIDDEN_WARP_NPC,10,10
-1@ma_h,147,171,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_c HIDDEN_WARP_NPC,10,10
-1@ma_h,118,157,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_d HIDDEN_WARP_NPC,10,10
-1@ma_h,132,157,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_e HIDDEN_WARP_NPC,10,10
-1@ma_h,147,157,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_f HIDDEN_WARP_NPC,10,10
-1@ma_h,118,143,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_g HIDDEN_WARP_NPC,10,10
-1@ma_h,132,143,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_h HIDDEN_WARP_NPC,10,10
-
-1@ma_h,131,62,0 script #Boss Effect HIDDEN_WARP_NPC,{ //4,4
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Boss Effect");
- initnpctimer;
- end;
-OnTimer3000:
- specialeffect EF_BARRIER;
- stopnpctimer;
- initnpctimer;
- end;
-}
-
-1@ma_h,43,86,4 script Moaning Patient#1 4_F_PATIENT,{
- end;
-OnInstanceInit:
- monster instance_mapname("1@ma_h"),131,62,"Bangungot",2318,1;
- end;
-OnEnable:
- mapannounce instance_mapname("1@ma_h"),"Moaning Patient: aaawwww....",bc_map,"0xFF0000";
- initnpctimer;
- end;
-OnTimer5000:
-OnTimer8000:
-OnTimer11000:
-OnTimer14000:
-OnTimer17000:
-OnTimer20000:
-OnTimer23000:
-OnTimer26000:
- specialeffect EF_POTION_BERSERK;
- specialeffect EF_CURSEATTACK;
- end;
-OnTimer30000:
- specialeffect EF_POTION_BERSERK;
- specialeffect EF_CURSEATTACK;
- stopnpctimer;
- end;
-}
-
-1@ma_h,60,87,4 script Screaming Patient#2 4_M_PATIENT,{
- end;
-OnEnable:
- switch(atoi(strnpcinfo(NPC_NAME_HIDDEN))) {
- case 2: .@str$ = "Screaming Patient: Aaaaargh!!"; break;
- case 3: .@str$ = "Patient in Pain: Oooooowwww!! It's killing me!!!"; break;
- case 4: .@str$ = "Passed Out Patient: ........"; break;
- case 5: .@str$ = "Patient with Nightmare: Help~!!! Save me!!!"; break;
- case 6: .@str$ = "Sick Looking Patient: Hu..a...aaah.."; break;
- case 7: .@str$ = "Horrified Patient: Get away!! Please...."; break;
- case 8: .@str$ = "Patient in Sorrow: crying and crying......"; break;
- case 9: .@str$ = "Suffering Patient: Stop... please..."; break;
- case 10: .@str$ = "Wriggling Patient: awwww..."; break;
- case 11: .@str$ = "Patient in Cold Sweat: Help.....help...."; break;
- case 12: .@str$ = "Howling Patient: aaaaahhhhhhhhhh!!"; break;
- }
- mapannounce instance_mapname("1@ma_h"),.@str$,bc_map,"0xFF0000";
- initnpctimer;
- end;
-OnTimer5000:
-OnTimer8000:
-OnTimer11000:
-OnTimer14000:
-OnTimer17000:
-OnTimer20000:
-OnTimer23000:
-OnTimer26000:
- specialeffect EF_POTION_BERSERK;
- specialeffect EF_CURSEATTACK;
- end;
-OnTimer30000:
- specialeffect EF_POTION_BERSERK;
- specialeffect EF_CURSEATTACK;
- stopnpctimer;
- end;
-}
-1@ma_h,60,39,7 duplicate(Screaming Patient#2) Patient in Pain#3 4_F_PATIENT
-1@ma_h,43,39,7 duplicate(Screaming Patient#2) Passed Out Patient#4 4_M_PATIENT
-1@ma_h,77,86,4 duplicate(Screaming Patient#2) Patient with Nightmare#5 4_F_PATIENT
-1@ma_h,69,87,4 duplicate(Screaming Patient#2) Sick Looking Patient#6 4_M_PATIENT
-1@ma_h,73,39,7 duplicate(Screaming Patient#2) Horrified Patient#7 4_F_PATIENT
-1@ma_h,65,51,7 duplicate(Screaming Patient#2) Patient in Sorrow#8 4_M_PATIENT
-1@ma_h,87,86,4 duplicate(Screaming Patient#2) Suffering Patient#9 4_F_PATIENT
-1@ma_h,104,86,4 duplicate(Screaming Patient#2) Wriggling Patient#10 4_M_PATIENT
-1@ma_h,99,39,7 duplicate(Screaming Patient#2) Patient in Cold Sweat#11 4_F_PATIENT
-1@ma_h,87,39,7 duplicate(Screaming Patient#2) Howling Patient#12 4_M_PATIENT
-
-1@ma_h,43,181,4 script Moaning Patient#b 4_F_PATIENT,{ end; }
-1@ma_h,60,182,4 script Screaming Patient#b 4_M_PATIENT,{ end; }
-1@ma_h,60,132,7 script Patient in Pain#b 4_F_PATIENT,{ end; }
-1@ma_h,43,132,7 script Passed Out Patient#b 4_M_PATIENT,{ end; }
-1@ma_h,77,182,4 script Patient with Nightmare#b 4_F_PATIENT,{ end; }
-1@ma_h,69,182,4 script Sick Looking Patient#b 4_M_PATIENT,{ end; }
-1@ma_h,73,132,7 script Horrified Patient#b 4_F_PATIENT,{ end; }
-1@ma_h,65,144,7 script Patient in Sorrow#b 4_M_PATIENT,{ end; }
-1@ma_h,87,181,4 script Suffering Patient#b 4_F_PATIENT,{ end; }
-1@ma_h,104,181,4 script Wriggling Patient#b 4_M_PATIENT,{ end; }
-1@ma_h,99,132,7 script Patient in Cold Sweat#b 4_F_PATIENT,{ end; }
-1@ma_h,87,132,7 script Howling Patient#b 4_M_PATIENT,{ end; }
-
-//== Warp Portals ==========================================
-1@ma_h,35,156,0 warp #Boss Room Exit 2,2,ma_dun01,150,9
-1@ma_h,105,157,0 warp #Boss Room Door 2,2,1@ma_h,116,157
-1@ma_h,112,157,0 warp #Boss Room Door1 2,2,1@ma_h,100,157
-1@ma_h,104,63,0 warp #Boss Room Door2 2,2,1@ma_h,117,63
-1@ma_h,112,63,0 warp #Boss Room Door3 2,2,1@ma_h,100,63
-1@ma_h,36,157,0 warp #Patternwarp1 7,7,1@ma_h,117,63
-1@ma_h,46,157,0 warp #Patternwarp2 7,7,1@ma_h,117,63
-1@ma_h,57,157,0 warp #Patternwarp3 7,7,1@ma_h,117,63
-1@ma_h,67,157,0 warp #Patternwarp4 7,7,1@ma_h,117,63
-1@ma_h,79,157,0 warp #Patternwarp5 7,7,1@ma_h,117,63
-1@ma_h,89,157,0 warp #Patternwarp6 7,7,1@ma_h,117,63
-1@ma_h,100,157,0 warp #Patternwarp7 7,7,1@ma_h,117,63
-1@ma_h,51,173,0 warp #Patternwarp8 10,10,1@ma_h,117,63
-1@ma_h,52,140,0 warp #Patternwarp34 10,10,1@ma_h,117,63
-1@ma_h,73,173,0 warp #Patternwarp35 10,10,1@ma_h,117,63
-1@ma_h,73,140,0 warp #Patternwarp36 10,10,1@ma_h,117,63
-1@ma_h,95,173,0 warp #Patternwarp37 10,10,1@ma_h,117,63
-1@ma_h,95,140,0 warp #Patternwarp38 10,10,1@ma_h,117,63
-//1@ma_h,70,170,0 warp #Patternwarp39 10,10,1@ma_h,117,63
-//1@ma_h,77,169,0 warp #Patternwarp40 10,10,1@ma_h,117,63
-1@ma_h,117,171,0 warp #Patternwarp41 10,10,1@ma_h,117,63
-1@ma_h,131,171,0 warp #Patternwarp42 10,10,1@ma_h,117,63
-1@ma_h,146,171,0 warp #Patternwarp43 10,10,1@ma_h,117,63
-1@ma_h,117,157,0 warp #Patternwarp44 10,10,1@ma_h,117,63
-1@ma_h,131,157,0 warp #Patternwarp45 10,10,1@ma_h,117,63
-1@ma_h,146,157,0 warp #Patternwarp46 10,10,1@ma_h,117,63
-1@ma_h,117,143,0 warp #Patternwarp47 10,10,1@ma_h,117,63
-1@ma_h,131,143,0 warp #Patternwarp48 10,10,1@ma_h,117,63
-1@ma_h,146,143,0 warp #Patternwarp49 10,10,1@ma_h,117,63
-1@ma_h,36,63,0 warp #Patternwarp10 7,7,1@ma_h,116,157
-1@ma_h,46,63,0 warp #Patternwarp11 7,7,1@ma_h,116,157
-1@ma_h,56,63,0 warp #Patternwarp12 7,7,1@ma_h,116,157
-1@ma_h,67,63,0 warp #Patternwarp13 7,7,1@ma_h,116,157
-1@ma_h,78,63,0 warp #Patternwarp14 7,7,1@ma_h,116,157
-1@ma_h,89,63,0 warp #Patternwarp15 7,7,1@ma_h,116,157
-1@ma_h,100,63,0 warp #Patternwarp16 7,7,1@ma_h,116,157
-1@ma_h,51,79,0 warp #Patternwarp17 10,10,1@ma_h,116,157
-1@ma_h,51,46,0 warp #Patternwarp18 10,10,1@ma_h,116,157
-1@ma_h,73,80,0 warp #Patternwarp19 10,10,1@ma_h,116,157
-1@ma_h,73,46,0 warp #Patternwarp20 10,10,1@ma_h,116,157
-1@ma_h,95,79,0 warp #Patternwarp21 10,10,1@ma_h,116,157
-1@ma_h,95,46,0 warp #Patternwarp22 10,10,1@ma_h,116,157
-//1@ma_h,193,82,0 warp #Patternwarp23 7,7,1@ma_h,116,157
-//1@ma_h,193,82,0 warp #Patternwarp24 7,7,1@ma_h,116,157
-1@ma_h,117,77,0 warp #Patternwarp25 10,10,1@ma_h,116,157
-1@ma_h,131,77,0 warp #Patternwarp26 10,10,1@ma_h,116,157
-1@ma_h,146,77,0 warp #Patternwarp27 10,10,1@ma_h,116,157
-1@ma_h,117,63,0 warp #Patternwarp28 10,10,1@ma_h,116,157
-1@ma_h,131,63,0 warp #Patternwarp29 10,10,1@ma_h,116,157
-1@ma_h,146,63,0 warp #Patternwarp30 10,10,1@ma_h,116,157
-1@ma_h,117,49,0 warp #Patternwarp31 10,10,1@ma_h,116,157
-1@ma_h,131,49,0 warp #Patternwarp32 10,10,1@ma_h,116,157
-1@ma_h,146,49,0 warp #Patternwarp33 10,10,1@ma_h,116,157
-
-//- Disable select warps -
-// Custom, but saves processing and lines.
-1@ma_h,1,1,0 script #ma_hos_warp_init CLEAR_NPC,{
- end;
-OnInstanceInit:
- disablenpc instance_npcname("#Boss Room Exit");
- disablenpc instance_npcname("#Boss Room Door");
- disablenpc instance_npcname("#Boss Room Door1");
- for(.@i = 1; .@i<=8; ++.@i)
- disablenpc instance_npcname("#Patternwarp"+.@i);
- for(.@i = 34; .@i<=38; ++.@i)
- disablenpc instance_npcname("#Patternwarp"+.@i);
- // Skip 39-40 since they're disabled in the official script.
- for(.@i = 41; .@i<=49; ++.@i)
- disablenpc instance_npcname("#Patternwarp"+.@i);
- disablenpc instance_npcname("#ma_hos_warp_init");
- end;
-}
diff --git a/npc/re/instances/BuwayaCave.txt b/npc/re/instances/BuwayaCave.txt
deleted file mode 100644
index 1d3eddc6a..000000000
--- a/npc/re/instances/BuwayaCave.txt
+++ /dev/null
@@ -1,475 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//=
-//= 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/>.
-//=========================================================================
-//= Buwaya Cave
-//================= Description ===========================================
-//= Defeat Buwaya in his cave.
-//= Part of the "Secret in the Woods" quest.
-//================= Current Version =======================================
-//= 1.0
-//=========================================================================
-
-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();
- }
-
- .@party_id = getcharid(CHAR_ID_PARTY);
- .@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();
- }
- 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();
- break;
- case 2:
- .@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();
- } else {
- erasequest(4229);
- // fall through
- }
- .@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);
- }
- 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();
- }
- }
- } else {
- mes("[Guard]");
- mes("Let me talk with the party leader.");
- mes("Please call forth the leader.");
- close();
- }
-}
-
-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();
- }
- .@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();
- } else {
- erasequest(4229);
- // fall through
- }
- 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();
- } else {
- 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();
- }
-}
-
-1@ma_c,33,112,0 script #damage HIDDEN_WARP_NPC,7,7,{
- end;
-OnInstanceInit:
- initnpctimer();
- disablenpc(instance_npcname("#damage"));
- end;
-OnTimer1000:
- enablenpc(instance_npcname("#damage"));
- specialeffect(EF_POISONHIT);
- end;
-OnTimer2000:
- stopnpctimer();
- initnpctimer();
- disablenpc(instance_npcname("#damage"));
- end;
-OnTouch:
- 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?")) {
- 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"));
- end;
- case 2:
- mes("[Kidnapped People]");
- mes("Somthing is wrong here...");
- mes("Have you experienced this before?");
- close();
- }
- end;
-OnInstanceInit:
- disablenpc(instance_npcname("Kidnapped People#1"));
- end;
-OnEnable:
- 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?")) {
- 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();
- case 2:
- 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"));
- end;
-OnEnable:
- 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"));
- end;
-OnEnable:
- 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"), 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"));
- end;
-OnMyMobDead:
- 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"));
- end;
-OnEnable:
- 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);
- end;
-}
-
-1@ma_c,97,74,0 script #box_call HIDDEN_WARP_NPC,50,50,{
- end;
-OnInstanceInit:
- 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, 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");
- 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");
- end;
-OnTimer34000:
- enablenpc(instance_npcname("#box_call"));
- end;
-OnTimer35000:
- stopnpctimer();
- initnpctimer();
- disablenpc(instance_npcname("#box_call"));
- end;
-OnTouch:
- specialeffect(EF_GUIDEDATTACK, AREA, playerattached());
- warp(instance_mapname("1@ma_c"), 33, 112);
- end;
-OnDisable:
- 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)));
- end;
-OnEnable:
- specialeffect(EF_MAPPILLAR2);
- end;
-}
-1@ma_c,97,94,0 duplicate(#yunobi1) #yunobi2 HIDDEN_WARP_NPC
-1@ma_c,117,94,0 duplicate(#yunobi1) #yunobi3 HIDDEN_WARP_NPC
-1@ma_c,117,74,0 duplicate(#yunobi1) #yunobi4 HIDDEN_WARP_NPC
-1@ma_c,117,54,0 duplicate(#yunobi1) #yunobi5 HIDDEN_WARP_NPC
-1@ma_c,97,54,0 duplicate(#yunobi1) #yunobi6 HIDDEN_WARP_NPC
-1@ma_c,77,54,0 duplicate(#yunobi1) #yunobi7 HIDDEN_WARP_NPC
-1@ma_c,77,74,0 duplicate(#yunobi1) #yunobi8 HIDDEN_WARP_NPC
-1@ma_c,77,94,0 duplicate(#yunobi1) #yunobi9 HIDDEN_WARP_NPC
-
-1@ma_c,1,1,0 script #bunshin HIDDEN_WARP_NPC,{
- end;
-OnInstanceInit:
- initnpctimer();
- end;
-OnTimer58000:
- 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, C_SPRINGGREEN); //FW_NORMAL 12 0 0
- end;
-OnTimer62000:
- 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, C_SPRINGGREEN); //FW_NORMAL 12 0 0
- end;
-OnTimer64000:
- 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"), 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, C_SPRINGGREEN); //FW_NORMAL 12 0 0
- end;
-OnTimer105000:
- 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();
- }
- end;
-OnDisable:
- 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"), 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, C_SPRINGGREEN); //FW_NORMAL 12 0 0
- }
- end;
-}
-
-1@ma_c,3,3,0 script #exit_mob HIDDEN_WARP_NPC,{
- end;
-OnInstanceInit:
- initnpctimer();
- end;
-OnTimer60000:
- .@label$ = instance_npcname("#exit_mob")+"::OnMyMobDead";
- .@map$ = instance_mapname("1@ma_c");
- if (mobcount(.@map$, .@label$) < 30)
- .@amount = 10;
- else
- .@amount = 1;
- 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"));
- end;
-OnMyMobDead:
- end;
-}
-
-1@ma_c,28,57,0 script #cave_out WARPNPC,2,2,{
-OnInstanceInit:
- disablenpc(instance_npcname("#cave_out"));
- end;
-OnEnable:
- 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();
-}
-
-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"), 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
deleted file mode 100644
index 2b2117b93..000000000
--- a/npc/re/instances/EclageInterior.txt
+++ /dev/null
@@ -1,518 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) Dastgir
-//=
-//= 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/>.
-//=========================================================================
-//= Eclage Instance Script
-//================= Description ===========================================
-//= Eclage Interior Instance
-//================= Current Version =======================================
-//= 1.0
-//=========================================================================
-
-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();
- }
- 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();
- switch (select("Enter it.", "Forget it.")) {
- 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();
- }
- 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("[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();
- switch (select("Enter it.", "Forget it.")) {
- case 1:
- .@party_id = getcharid(CHAR_ID_PARTY);
-
- 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 (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", 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();
-}
-
-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();
- 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();
- 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)));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-}
-
-1@ecl,51,64,1 script Suspicious Creature#1 MOROCC_4_142,{
- end;
-}
-
-1@ecl,43,67,3 duplicate(Suspicious Creature#1) Suspicious Creature#2 MOROCC_4_142,0,0
-1@ecl,55,80,3 duplicate(Suspicious Creature#1) Suspicious Creature#3 MOROCC_4_142,0,0
-1@ecl,60,75,3 duplicate(Suspicious Creature#1) Suspicious Creature#4 MOROCC_4_142,0,0
-
-1@ecl,42,80,5 script Suspicious Creature#5 MOROCC_2_142,{
- end;
-
-OnInstanceInit:
- hideonnpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-}
-
-1@ecl,48,86,3 duplicate(Suspicious Creature#5) Suspicious Creature#6 MOROCC_2_142,0,0
-1@ecl,58,82,3 duplicate(Suspicious Creature#5) Suspicious Creature#7 MOROCC_2_142,0,0
-1@ecl,56,88,3 duplicate(Suspicious Creature#5) Suspicious Creature#8 MOROCC_2_142,0,0
-
-1@ecl,53,83,0 script #sndmaster HIDDEN_WARP_NPC,10,10,{
- end;
-
-OnInstanceInit:
- .mob_summoned = 0;
- disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-
-OnEnable:
- initnpctimer();
- end;
-
-OnReset:
- 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, C_YELLOW); //FW_NORMAL 12 0 0
- end;
-
-OnTimer2000:
- 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();
- 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, 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();
- 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");
- .mob_summoned = 1;
- close();
-}
-
-1@ecl,57,65,0 script #event HIDDEN_WARP_NPC,5,5,{
- end;
-OnTouch:
- 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");
- .mob_summoned = 1;
- close();
-OnMyMobDead:
- if (mobcount(instance_mapname("1@ecl"), instance_npcname("#event")+"::OnMyMobDead") == 0) {
- enablenpc(instance_npcname("#sndmaster"));
- donpcevent(instance_npcname("#sndmaster")+"::OnEnable");
- }
- end;
-OnInstanceInit:
- .mob_summoned = 0;
- end;
-}
-
-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();
- 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("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();
- 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]");
- 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();
-}
-
-1@ecl,147,30,3 script Nydhog#ecl01 4_F_NYDHOG,{
- 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();
- 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.");
- 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...");
- 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.");
- 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);
- end;
-}
diff --git a/npc/re/instances/HazyForest.txt b/npc/re/instances/HazyForest.txt
deleted file mode 100644
index 24e03b22e..000000000
--- a/npc/re/instances/HazyForest.txt
+++ /dev/null
@@ -1,1227 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//=
-//= 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/>.
-//=========================================================================
-//= Hazy Forest
-//================= Description ===========================================
-//= Cross through the Hazy Forest to reach the Bifrost.
-//= Contains the "Wandering Guardian" quest.
-//================= Current Version =======================================
-//= 1.1
-//=========================================================================
-
-//== Instance Creation =====================================
-bif_fild01,158,340,5 script Laphine Soldier#mist 4_M_FAIRYSOLDIER,{
-
- .@party_id = getcharid(CHAR_ID_PARTY);
- .@md_name$ = _("Mistwood Maze");
-
- mes("[Laphine Soldier]");
- mes("Are you going into the forest?");
- next();
- if (!.@party_id) {
- mes("[Laphine Soldier]");
- mes("Well, well, well, aren't you being too rash?");
- mes("Why don't you at least organize a party?");
- close();
- }
- .@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();
- select("You speak our language quite well, don't you?");
- mes("[Laphine Soldier]");
- mes("...Do I?");
- mes("Actually I'm not speaking your language.");
- mes("I'm speaking Laphine language.");
- next();
- mes("[Laphine Soldier]");
- mes("But it's one of the mysteries of Bifrost.");
- mes("That we can understand each other even if we speak different languages.");
- next();
- mes("[Laphine Soldier]");
- mes("To be able to talk with everybody...");
- mes("Perhaps that's the power of Bifrost.");
- close();
- } else if (.@playtime == 2) {
- mes("[Laphine Soldier]");
- mes("Great, great.");
- mes("Now the forest won't reject you.");
- mes("What are you going to do now?");
- erasequest(7211);
- } else {
- mes("[Laphine Soldier]");
- mes("You human adventurers are incredible.");
- mes("You're always going into the forest, where no one else dares to go.");
- next();
- mes("[Laphine Soldier]");
- mes("Phew. But I have to report to the authority");
- mes("everyone who goes into the forest, just in case.");
- next();
- mes("[Laphine Soldier]");
- mes("You'll get permission");
- mes("after you register.");
- mes("Are you going to venture into the Hazy Forest?");
- }
- next();
- switch(select("Venture into the Hazy Forest.", "Give up.")) {
- case 1:
- 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) {
- 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();
- case 2:
- mes("[Laphine Soldier]");
- mes("Well, you've made the right decision.");
- if (!.@playtime)
- mes("That's what's good for you.");
- close();
- }
- } else {
- mes("[Laphine Soldier]");
- mes("Where's your party leader?");
- mes("It's dangerous in there.");
- next();
- if (.@playtime == 2) {
- mes("[Laphine Soldier]");
- mes("I see you've been into the forest before.");
- mes("Okay, at least the forest won't reject you.");
- mes("However...");
- erasequest(7211);
- next();
- }
- mes("[Laphine Soldier]");
- mes("Put yourself in my shoes, the entrance guard, and let me meet the representative of your party.");
- mes("I have to discuss some things with him/her.");
- close();
- }
-}
-
-bif_fild01,161,355,0 script Log Tunnel 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();
- 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();
- }
- 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", 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();
- }
-}
-
-//== Instance Scripts ======================================
-1@mist,89,29,0 script #Whisper_mist CLEAR_NPC,1,1,{
- end;
-OnInstanceInit:
- enablenpc(instance_npcname("#Whisper_mist"));
- end;
-OnTouch:
- 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
- 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
- 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
- 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();
- end;
-}
-
-// 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();
- 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,247,123,0 script Tom's Garden Tree 4_CREEPER,{
- callfunc("F_Mora_Mist",
- "a25_a18-1",
- "Roaring Cry: Tom's bolt is broken! Watch out, Tomba! Watch out, Tomba!",
- "Tom");
- end;
-OnInstanceInit:
- 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,225,98,0 script Tomba's Garden Tree 4_CREEPER,{
- callfunc("F_Mora_Mist",
- "a27-2_af1-2",
- "Roaring Cry: Tomba's Garden Tree is gone with Tomba. Remi, what are you going to do now?",
- "Tomba");
- end;
-OnInstanceInit:
- monster(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,159,184,0 script Remi's Garden Tree 4_CREEPER,{
- callfunc("F_Mora_Mist",
- "a15-2_a4-1",
- "Roaring Cry: Remi, Remi's Garden Tree was chopped down- Rem, it's your turn next. Poor Rem!",
- "Remi");
- end;
-OnInstanceInit:
- monster(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,61,39,0 script Tired Rem's Garden Tree 4_CREEPER,{
- callfunc("F_Mora_Mist",
- "a4-2_a11",
- "Rem's Desperate Cry: Argh... Rem will sleep. Rem will sleep now, and won't wake up forever!",
- "Rem");
- end;
-OnInstanceInit:
- monster(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
- 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
- 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();
- end;
-OnMyMobDead:
- 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",
- "b4-2_b2",
- "Ron the Gardener's Cry: I'm getting off work! Don't look for Ron, the second gardener, any more!!",
- "Ron");
- end;
-OnInstanceInit:
- monster(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,285,225,0 script Rover's Garden Tree 4_CREEPER,{
- callfunc("F_Mora_Mist",
- "b7_bf1-2",
- "Roaring Whisper: Ron's, and Rover's trees were chopped down as well. Who is forcing his way into the forest? Who is it?",
- "Rover");
- end;
-OnInstanceInit:
- monster(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,161,316,0 script Mona's Garden Tree 4_CREEPER,{
- callfunc("F_Mora_Mist",
- "b31_b16",
- "Clamoring Whisper: Mona the Seedseeker's garden tree is gone! Mona is gone too! Namon will be okay, because he is brave, right? Namon, are you okay?",
- "Mona");
- end;
-OnInstanceInit:
- monster(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,204,299,0 script Namon's Garden Tree 4_CREEPER,{
- callfunc("F_Mora_Mist",
- "b27-3_bN-1",
- "Clamoring Whisper: Brave Namon met his fate not so bravely... *giggle*",
- "Namon");
- end;
-OnInstanceInit:
- 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,221,236,0 script Sad Neoron's Garden Tree 4_CREEPER,{
- callfunc("F_Mora_Mist",
- "b6-1_b33",
- "Lamenting Whisper: Sad Neoron has become cheerful! Spyder the Superior Spider, what are you going to do? What are you going to do now?",
- "Neoron");
- end;
-OnInstanceInit:
- monster(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,200,0 script Spyder's Garden Tree 4_CREEPER,{
- callfunc("F_Mora_Mist",
- "b5_b14",
- "Depressed Whisper: Now it's all over with the second deepest forest. Gardeners are dying out-",
- "Spyder");
- end;
-OnInstanceInit:
- monster(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
- 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
- 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
- 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();
- end;
-OnMyMobDead:
- 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",
- "c1_c13-1",
- "Tito's Cry: *sob* *sob* Tito's gone now! Tito's done for! Boo hoo!!",
- "Tito");
- end;
-OnInstanceInit:
- 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,324,325,0 script Pumba's Garden Tree 4_CREEPER,{
- callfunc("F_Mora_Mist",
- "c13-3_c4",
- "Roaring Whisper: Tito the Hard Worker was defeated! Stop playing and go to work, Tete! Start working!",
- "Pumba");
- end;
-OnInstanceInit:
- monster(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,280,344,0 script Tete's Garden Tree 4_CREEPER,{
- callfunc("F_Mora_Mist",
- "c19_c4",
- "Whisper: They are strong, strong indeed. What are we going to do now? Are there any gardeners left? Are there any?",
- "Tete");
- end;
-OnInstanceInit:
- monster(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",
- "#to_bif02",
- "Roaring Whisper: The forest will remember you! It will remember you, the one who broke the clippers of all the gardeners!",
- "Gardeners: We're not dead, yet!!!!", 1);
- end;
-OnInstanceInit:
- .@map$ = instance_mapname("1@mist");
- 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);
- 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
-1@mist,48,286,0 duplicate(Mysterious Flower#1) Mysterious Flower#5 CLEAR_NPC
-1@mist,54,277,0 duplicate(Mysterious Flower#1) Mysterious Flower#6 CLEAR_NPC
-1@mist,52,270,0 duplicate(Mysterious Flower#1) Mysterious Flower#7 CLEAR_NPC
-1@mist,62,268,0 duplicate(Mysterious Flower#1) Mysterious Flower#8 CLEAR_NPC
-1@mist,72,271,0 duplicate(Mysterious Flower#1) Mysterious Flower#9 CLEAR_NPC
-1@mist,72,276,0 duplicate(Mysterious Flower#1) Mysterious Flower#10 CLEAR_NPC
-1@mist,118,194,0 duplicate(Mysterious Flower#1) Mysterious Flower#11 CLEAR_NPC
-1@mist,122,204,0 duplicate(Mysterious Flower#1) Mysterious Flower#12 CLEAR_NPC
-1@mist,137,209,0 duplicate(Mysterious Flower#1) Mysterious Flower#13 CLEAR_NPC
-1@mist,144,203,0 duplicate(Mysterious Flower#1) Mysterious Flower#14 CLEAR_NPC
-1@mist,146,186,0 duplicate(Mysterious Flower#1) Mysterious Flower#15 CLEAR_NPC
-1@mist,142,182,0 duplicate(Mysterious Flower#1) Mysterious Flower#16 CLEAR_NPC
-1@mist,132,179,0 duplicate(Mysterious Flower#1) Mysterious Flower#17 CLEAR_NPC
-1@mist,123,184,0 duplicate(Mysterious Flower#1) Mysterious Flower#18 CLEAR_NPC
-1@mist,194,118,0 duplicate(Mysterious Flower#1) Mysterious Flower#19 CLEAR_NPC
-1@mist,188,109,0 duplicate(Mysterious Flower#1) Mysterious Flower#20 CLEAR_NPC
-1@mist,193,94,0 duplicate(Mysterious Flower#1) Mysterious Flower#21 CLEAR_NPC
-1@mist,205,92,0 duplicate(Mysterious Flower#1) Mysterious Flower#22 CLEAR_NPC
-1@mist,213,96,0 duplicate(Mysterious Flower#1) Mysterious Flower#23 CLEAR_NPC
-1@mist,216,103,0 duplicate(Mysterious Flower#1) Mysterious Flower#24 CLEAR_NPC
-1@mist,212,116,0 duplicate(Mysterious Flower#1) Mysterious Flower#25 CLEAR_NPC
-1@mist,207,120,0 duplicate(Mysterious Flower#1) Mysterious Flower#26 CLEAR_NPC
-1@mist,169,310,0 duplicate(Mysterious Flower#1) Mysterious Flower#27 CLEAR_NPC
-1@mist,172,296,0 duplicate(Mysterious Flower#1) Mysterious Flower#28 CLEAR_NPC
-1@mist,191,301,0 duplicate(Mysterious Flower#1) Mysterious Flower#30 CLEAR_NPC
-1@mist,195,301,0 duplicate(Mysterious Flower#1) Mysterious Flower#31 CLEAR_NPC
-1@mist,192,316,0 duplicate(Mysterious Flower#1) Mysterious Flower#32 CLEAR_NPC
-1@mist,187,320,0 duplicate(Mysterious Flower#1) Mysterious Flower#33 CLEAR_NPC
-1@mist,174,318,0 duplicate(Mysterious Flower#1) Mysterious Flower#34 CLEAR_NPC
-1@mist,308,136,0 duplicate(Mysterious Flower#1) Mysterious Flower#35 CLEAR_NPC
-1@mist,314,122,0 duplicate(Mysterious Flower#1) Mysterious Flower#36 CLEAR_NPC
-1@mist,321,118,0 duplicate(Mysterious Flower#1) Mysterious Flower#37 CLEAR_NPC
-1@mist,331,123,0 duplicate(Mysterious Flower#1) Mysterious Flower#38 CLEAR_NPC
-1@mist,335,126,0 duplicate(Mysterious Flower#1) Mysterious Flower#39 CLEAR_NPC
-1@mist,332,141,0 duplicate(Mysterious Flower#1) Mysterious Flower#40 CLEAR_NPC
-1@mist,328,144,0 duplicate(Mysterious Flower#1) Mysterious Flower#41 CLEAR_NPC
-1@mist,314,144,0 duplicate(Mysterious Flower#1) Mysterious Flower#42 CLEAR_NPC
-1@mist,238,224,0 duplicate(Mysterious Flower#1) Mysterious Flower#43 CLEAR_NPC
-1@mist,244,231,0 duplicate(Mysterious Flower#1) Mysterious Flower#44 CLEAR_NPC
-1@mist,257,232,0 duplicate(Mysterious Flower#1) Mysterious Flower#45 CLEAR_NPC
-1@mist,262,229,0 duplicate(Mysterious Flower#1) Mysterious Flower#46 CLEAR_NPC
-1@mist,265,216,0 duplicate(Mysterious Flower#1) Mysterious Flower#47 CLEAR_NPC
-1@mist,260,214,0 duplicate(Mysterious Flower#1) Mysterious Flower#48 CLEAR_NPC
-1@mist,252,206,0 duplicate(Mysterious Flower#1) Mysterious Flower#49 CLEAR_NPC
-1@mist,244,211,0 duplicate(Mysterious Flower#1) Mysterious Flower#50 CLEAR_NPC
-
-//== Wandering Guardian Quest ==============================
-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;
- }
- 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, 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, 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();
- }
- if (ep14_1_mistwoods == 0) {
- if (ep13_3_secret > 23) {
- mes("[Mysterious Young Man]");
- mes("You... I remember seeing you at the camp.");
- mes("The information you gave on Ahat was useful.");
- mes("Thanks!");
- next();
- mes("[Mysterious Young Man]");
- mes("But do you plan to pass through here?");
- mes("What good is it to go across Bifrost?");
- next();
- } else {
- mes("[Mysterious Young Man]");
- mes("Do you plan to pass through here?");
- mes("I will advise against it if you're just curious.");
- mes("It will only bring about your untimely death...");
- next();
- }
- mes("[Mysterious Young Man]");
- mes("If you are determined to pass through here,");
- mes("I will ask for your help with something.");
- next();
- select("Who are you?");
- mes("[Loki]");
- mes("Loki... from the Assassin's Guild.");
- mes("That's my name.");
- mes("And yours?");
- next();
- 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();
- switch(select("No, I haven't.", "Yes, I might have...")) {
- case 1:
- mes("[Loki]");
- mes("So you haven't.");
- mes("You're telling the truth.");
- next();
- break;
- case 2:
- mes("[Loki]");
- mes("Wait.");
- mes("(Loki comes closer.)");
- mes("... No.");
- mes("You're telling the truth.");
- next();
- break;
- }
- mes("[Loki]");
- mes("Now we have to say goodbye here.");
- mes("If you survive this forest, of course.");
- ep14_1_mistwoods = 2;
- setquest(7212);
- close();
- case 2:
- mes("[Loki]");
- mes("I understand.");
- mes("Step back if you aren't ready.");
- mes("This forest doesn't like strangers.");
- ep14_1_mistwoods = 1;
- close();
- }
- } else if (ep14_1_mistwoods == 1) {
- mes("[Loki]");
- mes("I told you - step back if you don't want to die.");
- mes("It's not easy going through the forest.");
- mes("It may cost you your life.");
- next();
- switch(select("Okay.", "What do you want?")) {
- case 1:
- mes("- When you step back,");
- mes("Loki nods slightly and then looks away. -");
- close();
- case 2:
- mes("[Loki]");
- mes("I'm looking for somebody.");
- mes("Have you ever seen a guard... a girl with purple hair?");
- next();
- switch(select("No, I haven't.", "Yes, I might have...")) {
- case 1:
- mes("[Loki]");
- mes("So you haven't.");
- mes("You're telling the truth.");
- next();
- break;
- case 2:
- mes("[Loki]");
- mes("Wait.");
- mes("(Loki comes closer.)");
- mes("... No.");
- mes("You're telling the truth.");
- next();
- break;
- }
- mes("[Loki]");
- mes("Now we have to say goodbye here.");
- mes("Hopefully, we will see each other again in Mora.");
- ep14_1_mistwoods = 2;
- setquest(7212);
- close();
- }
- } else if (ep14_1_mistwoods == 2) {
- mes("[Loki]");
- mes("I don't want to go with you.");
- mes("Hopefully, we will see each other again in Mora.");
- close();
- } else if (ep14_1_mistwoods == 3) {
- mes("[Loki]");
- mes("So we meet again.");
- mes("Are you used to this place?");
- mes("Come to the inn in Mora.");
- mes("I have something to give to you.");
- close();
- } else {
- mes("[Loki]");
- mes("We're seeing a lot of each other these days.");
- mes("It seems you are completely comfortable with the place.");
- mes("You'd better not be too proud of yourself.");
- close();
- }
- end;
-OnEnable:
- enablenpc(instance_npcname("Mysterious Young Man#mis"));
- end;
-OnDisable:
- 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();
- } else if (ep14_1_mistwoods == 2) {
- mes("[Loki]");
- mes("Is it you that took care of this unruly girl?");
- mes("I guess I have to thank you.");
- mes("You've calmed her down.");
- next();
- select("What's happening?", "This girl...?");
- mes("[Loki]");
- mes("You might be able to change your appearance, but you cannot change your unique, innate light.");
- mes("A scent strong enough to burn your nose.");
- next();
- mes("[Loki]");
- mes("This is Nydhogg, the Guardian of Yggdrasil,");
- mes("whom I was looking for.");
- mes("Now she won't wander around crazy any more.");
- next();
- select("What are you going to do now?");
- mes("[Loki]");
- mes("I'll wait for her to wake up and get out of this forest.");
- mes("I can manage it on my own.");
- mes("I'll see you in Mora.");
- ep14_1_mistwoods = 3;
- erasequest(7212);
- setquest(7213);
- close();
- } else if (ep14_1_mistwoods == 3) {
- mes("[Loki]");
- mes("I don't want to go with you.");
- mes("I can manage her on my own.");
- mes("If you have something to say, say it after we get out of the forest.");
- close();
- } else {
- mes("[Loki]");
- mes("I don't want to go with you.");
- mes("If you have something to say, say it after we get out of the forest.");
- close();
- }
- end;
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("Loki#mist"));
- end;
-OnEnable:
- 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();
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("Collapsed Girl#mist"));
- end;
-OnEnable:
- 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();
- } 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.");
- ep14_1_mistwoods = 4;
- close2();
- } else if (ep14_1_mistwoods == 4) {
- mes("- He seems to be deep in thought. -");
- close();
- } else {
- mes("[Nydhogg the Guardian]");
- mes("I haven't gotten all of my powers back.");
- mes("I'm sorry I can't protect you.");
- next();
- mes("[Nydhogg the Guardian]");
- mes("Loki said...");
- mes("that I won't cry from loneliness again,");
- mes("that I will always have new friends like you...");
- next();
- mes("[Nydhogg the Guardian]");
- mes("...I've lost everything, but I'm happy now.");
- close();
- }
-}
-
-mora,48,152,3 script Sharp Eyed Man 4_M_ROKI2,{
- 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();
- } else if (ep14_1_mistwoods == 3) {
- mes("[Loki]");
- mes("So you've passed through the forest.");
- mes("It seems Niddy has something to say to you.");
- close();
- } else if (ep14_1_mistwoods == 4) {
- mes("[Loki]");
- mes("Nydhogg was one of the guardians of the World Tree.");
- mes("But he abandoned his duties as a guardian when he gave in to Morroc's temptation.");
- next();
- mes("[Loki]");
- mes("Some fools performed a ritual to break the seal that held Morroc.");
- mes("But the ritual didn't work right. The servant of Morroc failed to break the seal.");
- next();
- mes("[Loki]");
- mes("But the seal is so weak that it can break open any time.");
- mes("It's Yggdrasil the World Tree's will that has kept the seal from breaking.");
- next();
- mes("[Nydhogg the Guardian]");
- mes("That's right. The power of the World Tree is linked to the whole world.");
- mes("When the bond between the guardians and Yggdrasil broke, Yggdrasil became unstable.");
- next();
- mes("[Nydhogg the Guardian]");
- mes("That's why all those disasters happened to Yggdrasil.");
- mes("As the World Tree became unstable, the influence it had on the seal grew weak.");
- next();
- mes("[Loki]");
- mes("And Morroc broke himself free from the seal.");
- mes("Although it seems like he used most of his powers just to break the seal...");
- next();
- mes("[Nydhogg the Guardian]");
- mes("It's all my fault.");
- mes("I couldn't break free from Morroc's temptation.");
- mes("For too... too long...");
- next();
- mes("[Nydhogg the Guardian]");
- mes("...I wanted to be relieved of my thousands of years of loneliness.");
- mes("I wasn't in my right mind then.");
- mes("It was none other than I that broke my bond with Yggdrasil.");
- next();
- mes("[Nydhogg the Guardian]");
- mes("I lost control of myself, and did what I shouldn't have done.");
- mes("The other side of me became a shadow and a reckless tyrant.");
- next();
- mes("[Nydhogg the Guardian]");
- mes("Facing the world, I realized...");
- mes("I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years.");
- next();
- mes("[Nydhogg the Guardian]");
- mes("That's how I was left alone.");
- mes("I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years.");
- next();
- mes("[Nydhogg the Guardian]");
- mes("So I became a sinner, forgotten to the world.");
- next();
- mes("[Loki]");
- mes("It's not too late.");
- mes("You're still a guardian.");
- mes("You still have things to do.");
- next();
- mes("[Nydhogg the Guardian]");
- mes("...Oh, yes. It's late, but I have to fulfill my duties as a guardian.");
- mes("Now I know. I'll destroy Morroc with my own hands.");
- mes("I will fulfill my duties as a guardian.");
- next();
- switch(select("You're not alone.", "Those are very important duties.")) {
- case 1:
- mes("[Nydhogg the Guardian]");
- mes("You're right.");
- mes("It may be why I haven't been forsaken - to realize that I'm not alone.");
- mes("You are a kind soul.");
- next();
- break;
- case 2:
- mes("[Nydhogg the Guardian]");
- mes("But this is my atonement.");
- mes("I'm happy, though.");
- mes("I don't have to fight the loneliness any more.");
- next();
- break;
- }
- mes("[Nydhogg the Guardian]");
- 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();
- } else {
- mes("[Loki]");
- mes("I'll be staying here for a while.");
- mes("We may meet again.");
- next();
- mes("[Loki]");
- mes("The day when Morroc reveals his despicable nature...");
- mes("I will be waiting for him.");
- close();
- }
-}
-
-//== Monster Spawns ========================================
-1@mist,1,1,0 script #Mist Mobs Respawn1 CLEAR_NPC,{
- end;
-OnInstanceInit:
- 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");
- if (.@num_mobs > 0)
- 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"), 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");
- if (.@num_mobs > 0)
- 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"), 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");
- if (.@num_mobs > 0)
- 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"), 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");
- if (.@num_mobs > 0)
- 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"), 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");
- if (.@num_mobs > 0)
- 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"), 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.");
- if (countitem(Mysterious_Seed)) {
- 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);
- end;
- case 2:
- mes("As you hold onto the Mysterious Flower Seeds tightly,");
- mes("the flower shook violently and then became calm again.");
- close();
- }
- }
- mes("It looks like it has some special use, but you're not sure what.");
- close();
-}
-
-1@mist,104,23,0 warp #to_bif01 1,1,bif_fild01,160,352
-
-1@mist,109,70,0 script a1_a2 WARPNPC,1,1,{
- end;
-OnTouch:
- if (!questprogress(7211, PLAYTIME))
- setquest(7211);
- warp(instance_mapname("1@mist"), 116, 40);
- end;
-}
-
-1@mist,113,40,0 warp a2_a7 1,1,1@mist,90,81
-1@mist,93,81,0 warp a7_a14 1,1,1@mist,108,152
-1@mist,111,154,0 warp a14_a24 1,1,1@mist,236,108
-1@mist,236,110,0 warp a24_a1 1,1,1@mist,106,69
-1@mist,161,67,0 warp a18-1_a22 1,1,1@mist,159,85
-1@mist,180,116,0 warp a23_a18-1 1,1,1@mist,164,66
-1@mist,180,63,0 warp a18-2_a9 1,1,1@mist,141,90
-1@mist,116,84,0 warp a8_a26 1,1,1@mist,222,133
-1@mist,220,133,0 warp a26_a27-1 1,1,1@mist,200,64
-1@mist,197,64,0 warp a27-1_a23 1,1,1@mist,177,116
-1@mist,146,194,0 warp af1-2_a27-2 1,1,1@mist,225,96
-1@mist,133,195,0 warp af1-1_af2-1 1,1,1@mist,202,110
-1@mist,202,107,0 warp af2-1_af1-1 1,1,1@mist,134,189
-1@mist,217,110,0 warp af2-2_a20-1 1,1,1@mist,240,56
-1@mist,240,54,0 warp a20-1_af2-2 1,1,1@mist,214,110
-1@mist,234,67,0 warp a20-2_a21 1,1,1@mist,239,80
-1@mist,242,77,0 warp a21_a15-1 1,1,1@mist,153,137
-1@mist,156,139,0 warp a15-1_a3 1,1,1@mist,123,55
-1@mist,124,51,0 warp a3_a20-1 1,1,1@mist,240,56
-1@mist,48,41,0 warp a4-1_a17 1,1,1@mist,174,165
-1@mist,171,165,0 warp a17_a16 1,1,1@mist,168,143
-1@mist,169,141,0 warp a16_a10 1,1,1@mist,101,107
-1@mist,99,107,0 warp a10_a4-2 1,1,1@mist,57,38
-1@mist,65,113,0 warp a11_a28 1,1,1@mist,218,151
-1@mist,221,151,0 warp a28_a13 1,1,1@mist,117,126
-1@mist,114,126,0 warp a13_a5 1,1,1@mist,36,62
-1@mist,61,88,0 warp a6_a19 1,1,1@mist,189,139
-1@mist,186,140,0 warp a19_a12 1,1,1@mist,98,126
-1@mist,101,126,0 warp a12_a29-1 1,1,1@mist,238,151
-1@mist,235,152,0 warp a29-1_af1-2 1,1,1@mist,144,194
-1@mist,254,151,0 warp a29-2E_b1 1,1,1@mist,271,164
-1@mist,275,211,0 warp b1_b13 1,1,1@mist,277,112
-1@mist,301,141,0 warp b14_b24 1,1,1@mist,99,232
-1@mist,99,230,0 warp b24_b25 1,1,1@mist,103,255
-1@mist,102,253,0 warp b25_b4-1 1,1,1@mist,215,177
-1@mist,212,177,0 warp b4-1_b1 1,1,1@mist,276,208
-1@mist,289,167,0 warp b2_b19 1,1,1@mist,152,219
-1@mist,149,219,0 warp b19_b20 1,1,1@mist,119,227
-1@mist,115,227,0 warp b20_b23 1,1,1@mist,230,353
-1@mist,233,353,0 warp b23_b7 1,1,1@mist,289,225
-1@mist,76,273,0 warp bf1-2_b7 1,1,1@mist,289,225
-1@mist,61,282,0 warp bf1-1_bf2-1 1,1,1@mist,256,220
-1@mist,252,220,0 warp bf2-1_bf1-1 1,1,1@mist,65,282
-1@mist,267,213,0 warp bf2-2_b28 1,1,1@mist,214,268
-1@mist,212,265,0 warp b28_b12 1,1,1@mist,288,266
-1@mist,285,266,0 warp b12_b21 1,1,1@mist,143,234
-1@mist,143,231,0 warp b21_b29 1,1,1@mist,222,281
-1@mist,223,279,0 warp b29_b31 1,1,1@mist,158,317
-1@mist,134,287,0 warp b30_b3 1,1,1@mist,293,195
-1@mist,295,197,0 warp b3_b10 1,1,1@mist,239,253
-1@mist,236,253,0 warp b10_b12 1,1,1@mist,288,266
-1@mist,111,203,0 warp b16_b34 1,1,1@mist,202,333
-1@mist,199,333,0 warp b34_b27-1 1,1,1@mist,203,251
-1@mist,206,249,0 warp b27-1_b22 1,1,1@mist,168,239
-1@mist,165,239,0 warp b22_b15 1,1,1@mist,89,173
-1@mist,177,265,0 warp b27-2_a14 1,1,1@mist,108,152
-1@mist,166,314,0 warp bN-1_b27-3 1,1,1@mist,206,297
-1@mist,197,299,0 warp bN-2_b17 1,1,1@mist,167,200
-1@mist,165,200,0 warp b17_bN-2 1,1,1@mist,193,299
-1@mist,86,173,0 warp b15_b32 1,1,1@mist,218,313
-1@mist,215,313,0 warp b32_b28 1,1,1@mist,214,268
-1@mist,230,324,0 warp b33_b6-1 1,1,1@mist,221,233
-1@mist,230,230,0 warp b6-2_b11 1,1,1@mist,263,261
-1@mist,263,258,0 warp b11_b9 1,1,1@mist,272,246
-1@mist,269,246,0 warp b9_b26 1,1,1@mist,143,265
-1@mist,140,265,0 warp b26_b5 1,1,1@mist,209,200
-1@mist,195,206,0 warp b18_b35 1,1,1@mist,169,341
-1@mist,166,341,0 warp b35_b36 1,1,1@mist,198,354
-1@mist,201,354,0 warp b36_b37-1 1,1,1@mist,83,224
-1@mist,87,224,0 warp b37-1_b35 1,1,1@mist,169,341
-1@mist,84,273,0 warp b37-2_c1 1,1,1@mist,98,287
-1@mist,111,298,0 warp c2_c3 1,1,1@mist,82,307
-1@mist,79,307,0 warp c3_c7 1,1,1@mist,284,89
-1@mist,281,89,0 warp c7_c12 1,1,1@mist,264,291
-1@mist,261,291,0 warp c12_c2 1,1,1@mist,115,298
-1@mist,326,275,0 warp c13-1_b13 1,1,1@mist,277,112
-1@mist,294,293,0 warp c13-2_c5 1,1,1@mist,78,330
-1@mist,81,330,0 warp c5_c17 1,1,1@mist,308,330
-1@mist,308,327,0 warp c17_c10 1,1,1@mist,309,165
-1@mist,306,165,0 warp c10_c13-2 1,1,1@mist,298,293
-1@mist,46,316,0 warp c4_c6 1,1,1@mist,113,328
-1@mist,95,328,0 warp c6_c9 1,1,1@mist,342,157
-1@mist,339,157,0 warp c9_c16 1,1,1@mist,343,328
-1@mist,343,325,0 warp c16_c8-2 1,1,1@mist,346,120
-1@mist,344,123,0 warp c8-2_c19 1,1,1@mist,277,343
-1@mist,256,313,0 warp c18_c15 1,1,1@mist,343,307
-1@mist,342,305,0 warp c15_cKEY 1,1,1@mist,332,121
-1@mist,335,120,0 warp cKEY_c18 1,1,1@mist,259,313
-1@mist,317,89,0 warp c8-1_c14 1,1,1@mist,339,284
-1@mist,339,281,0 warp c14_c11-1 1,1,1@mist,332,172
-1@mist,329,171,0 warp c11-1_c8-2 1,1,1@mist,346,120
-1@mist,301,237,0 warp b8_b2 1,1,1@mist,289,170
-
-//- Disable Garden Tree warps -
-// Custom, but saves processing and lines.
-1@mist,1,1,0 script #mist_warp_init 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"));
- end;
-}
-1@mist,247,123,0 warp a25_a18-1 1,1,1@mist,164,66 //Tom
-1@mist,225,98,0 warp a27-2_af1-2 1,1,1@mist,144,194 //Tomba
-1@mist,159,184,0 warp a15-2_a4-1 1,1,1@mist,49,37 //Remi
-1@mist,61,39,0 warp a4-2_a11 1,1,1@mist,68,113 //Rem
-1@mist,230,179,0 warp b4-2_b2 1,1,1@mist,289,170 //Ron
-1@mist,285,225,0 warp b7_bf1-2 1,1,1@mist,72,274 //Rover
-1@mist,161,316,0 warp b31_b16 1,1,1@mist,108,203 //Mona
-1@mist,204,299,0 warp b27-3_bN-1 1,1,1@mist,169,314 //Namon
-1@mist,221,236,0 warp b6-1_b33 1,1,1@mist,233,324 //Neoron
-1@mist,206,200,0 warp b5_b14 1,1,1@mist,298,142 //Spyder
-1@mist,95,287,0 warp c1_c13-1 1,1,1@mist,323,276 //Tito
-1@mist,324,325,0 warp c13-3_c4 1,1,1@mist,49,316 //Pumba
-1@mist,280,344,0 warp c19_c4 1,1,1@mist,49,316 //Tete
-1@mist,345,186,0 warp #to_bif02 1,1,bif_fild02,151,121 //The Gardeners' Tree
diff --git a/npc/re/instances/MalangdoCulvert.txt b/npc/re/instances/MalangdoCulvert.txt
deleted file mode 100644
index d61509511..000000000
--- a/npc/re/instances/MalangdoCulvert.txt
+++ /dev/null
@@ -1,1122 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//=
-//= 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/>.
-//=========================================================================
-//= Malangdo Culvert
-//================= Description ===========================================
-//= Clean the culverts and defeat the Coelacanth.
-//= Daily and weekly quests are available.
-//= Contains a normal mode and hard mode.
-//================= Current Version =======================================
-//= 1.1
-//=========================================================================
-
-//== 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 (MaxWeight - Weight < 1000) {
- 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();
- }
- 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)) {
- .@status[.@i] = 2;
- .@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:");
- } 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;
- 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();
- }
- 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();
- 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();
- }
- 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"));
- }
- 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"));
- }
- 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"));
- }
- 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"));
- }
- default:
- 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>);
-L_GiveQuest:
- 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!");
- break;
- case 3:
- 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!");
- break;
- }
- 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 (MaxWeight - Weight < 1000) {
- 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("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 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 {
- // Reward: 2x B Grade Coin
- 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 {
- // Reward: 1x A Grade Coin
- 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 {
- // Reward: 1x Sea God's Wrath
- 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 {
- // Reward: 5x Sea God's Wrath
- 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("I don't see any completed mission!");
- close();
-
-L_EraseQuest:
- for(.@j = 0; .@j<getargcount(); ++.@j) {
- if (questprogress(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();
-
-// callsub(L_CheckQuest, <quest ID>, <monster>, <reward item ID>, <reward item amount>);
-L_CheckQuest:
- 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;
-}
-
-//== 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();
- }
- 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("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();
- 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("(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();
- 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!");
- in_canal_n = 1;
- 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();
- }
- .@party_id = getcharid(CHAR_ID_PARTY);
- .@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();
- }
- .@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.")) {
- case 1:
- mes("[Missing, the Cleaner]");
- mes("What a rookie.");
- close();
- case 2:
- .@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);
- }
- 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);
- }
- }
- if (select("Enter Culvert", "Cancel") == 2)
- end;
- 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);
- } else if (.@playtime == 2) {
- 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();
- }
- mes("The memorial dungeon Culvert does not exist.");
- mes("The party leader has not reserved entrance to the dungeon yet.");
- close();
- }
- 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();
- }
- 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();
- }
- '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();
- 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("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();
- case 3:
- mes("[Missing, the Cleaner]");
- mes("I told you not to play with me~!");
- close();
- }
- end;
-}
-
-1@pump,84,105,0 script Culvert Entrance#i WARPNPC,3,3,{
- end;
-OnInstanceInit:
- disablenpc(instance_npcname("Culvert Entrance#i"));
- end;
-OnTouch:
- if (BaseLevel >= 140)
- warp(instance_mapname("2@pump"), 38, 88);
- else
- 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("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!")) {
- case 1:
- 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!");
- 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("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();
- 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();
- }
- close();
-OnInstanceInit:
- 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();
-OnInstanceInit:
- 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();
- end;
-OnAddSeaweed:
- .@map$ = instance_mapname("1@pump");
- 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");
- else
- 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");
- .@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"));
- 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);
- 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");
- end;
-OnTimer45000:
-OnTimer95000:
-OnTimer145000:
-OnTimer195000:
-OnTimer245000:
-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);
- end;
-OnTimer50000:
-OnTimer100000:
-OnTimer150000:
- donpcevent(instance_npcname("Monster Hole#n")+"::OnSpawn");
- end;
-OnTimer200000:
-OnTimer250000:
-OnTimer300000:
-OnTimer350000:
-OnTimer400000:
-OnTimer450000:
- .@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");
- else
- 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$, 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");
- if (.@mob_dead_num >= 6)
- donpcevent(instance_npcname("Missing, the Cleaner#n")+"::OnFail");
- else
- 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);
- if (.@i$ == "n")
- .@n = 6;
- else if (.@i$ == "h")
- .@n = 10;
- donpcevent(instance_npcname("#Culvert_"+.@i$+rand(1, .@n))+"::OnEnable");
- end;
-OnClear:
- .@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");
- end;
-}
-
-1@pump,36,111,4 script #Culvert_n1 CLEAR_NPC,14,14,{ //temporary workaround for ALL_SAMEMAP
- progressbar(sprintf("0x%x", C_YELLOW), 10);
- stopnpctimer();
- disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-OnInstanceInit:
- disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-OnEnable:
- 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;
- }
- 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);
- for(.@i = 0; .@i<$@partymembercount; ++.@i) {
- if (attachrid(.@partymemberaid[.@i])) {
- if (strcharinfo(PC_MAP) == .@map$)
- viewpoint(0, .@x, .@y, .@index, C_YELLOW);
- detachrid();
- }
- }
- initnpctimer();
- end;
-OnMyMobDead:
- end;
-OnClear:
- 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)));
- end;
-OnTouch:
- 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
-1@pump,75,80,4 duplicate(#Culvert_n1) #Culvert_n5 CLEAR_NPC,14,14
-1@pump,58,101,4 duplicate(#Culvert_n1) #Culvert_n6 CLEAR_NPC,14,14
-
-1@pump,1,1,4 script Boss Creation#n FAKE_NPC,{
- end;
-OnInstanceInit:
- disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-OnEnable:
- enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- initnpctimer();
- end;
-OnTimer100:
- .@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);
- else if (.@i$ == "h")
- 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);
- end;
-OnTimer10000:
- 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);
- .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- if (rand(1, 100) > 50) {
- if (.@i$ == "n")
- 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"), 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"), COELACANTH_N_A, 1, .@label$);
- else if (.@i$ == "h")
- 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, 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"));
- if (.@i$ == "n") {
- 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 = 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, 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);
- 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();
- } 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("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)));
- end;
-}
-
-1@pump,32,100,0 script Culvert Entrance#n WARPNPC,3,3,{
- end;
-OnInstanceInit:
- disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-OnTouch:
- 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"), HYDRA, 20);
- end;
-}
-
-//== Instance: Hard Mode ===================================
-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();
-OnStart:
- 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"), 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");
- else
- 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");
- .@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"));
- 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);
- 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");
- end;
-OnTimer35000:
-OnTimer75000:
-OnTimer115000:
-OnTimer155000:
-OnTimer195000:
-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);
- end;
-OnTimer40000:
-OnTimer80000:
-OnTimer120000:
- donpcevent(instance_npcname("Monster Hole#h")+"::OnSpawn");
- end;
-OnTimer160000:
-OnTimer200000:
-OnTimer240000:
-OnTimer280000:
-OnTimer320000:
-OnTimer360000:
- .@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");
- else
- 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);
- end;
-OnTimer425000:
- 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");
- else
- 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(sprintf("0x%x", C_YELLOW), 15);
- stopnpctimer();
- disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-OnInstanceInit:
- disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-OnEnable:
- 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;
- }
- 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");
- 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)));
- end;
-OnTouch:
- specialeffect(EF_MAPPILLAR2);
- end;
-}
-2@pump,79,109,4 duplicate(#Culvert_h1) #Culvert_h2 CLEAR_NPC,14,14
-2@pump,114,114,4 duplicate(#Culvert_h1) #Culvert_h3 CLEAR_NPC,14,14
-2@pump,98,98,4 duplicate(#Culvert_h1) #Culvert_h4 CLEAR_NPC,14,14
-2@pump,62,96,4 duplicate(#Culvert_h1) #Culvert_h5 CLEAR_NPC,14,14
-2@pump,57,70,4 duplicate(#Culvert_h1) #Culvert_h6 CLEAR_NPC,14,14
-2@pump,47,49,4 duplicate(#Culvert_h1) #Culvert_h7 CLEAR_NPC,14,14
-2@pump,81,63,4 duplicate(#Culvert_h1) #Culvert_h8 CLEAR_NPC,14,14
-2@pump,100,74,4 duplicate(#Culvert_h1) #Culvert_h9 CLEAR_NPC,14,14
-2@pump,115,50,4 duplicate(#Culvert_h1) #Culvert_h10 CLEAR_NPC,14,14
-
-2@pump,1,1,4 duplicate(Monster Hole#n) Monster Hole#h FAKE_NPC
-2@pump,1,1,4 duplicate(Boss Creation#n) Boss Creation#h FAKE_NPC
-2@pump,39,88,4 duplicate(Missing, the Cleaner#no) Missing, the Cleaner#ho 4_CAT_SAILOR2
-2@pump,38,100,0 duplicate(Culvert Entrance#n) Culvert Entrance#h WARPNPC,3,3
-
-//MD_Putmob "2@pump" 0 0 0 0 20 HYDRA 0 0 2
-2@pump,1,1,4 duplicate(Hydra#n) Hydra#h FAKE_NPC
diff --git a/npc/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt
deleted file mode 100644
index 44b5f1e61..000000000
--- a/npc/re/instances/OldGlastHeim.txt
+++ /dev/null
@@ -1,2803 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2013-2018 Hercules Dev Team
-//= Copyright (C) Ridley
-//= Copyright (C) Exneval
-//= Copyright (C) Euphy
-//= Copyright (C) Heris
-//= Copyright (C) Ziu
-//=
-//= 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/>.
-//=========================================================================
-//= Old Glast Heim
-//================= Description ===========================================
-//= Discover the history of events that took place in the Glast Heim castle
-//= and how it ended up in ruins.
-//================= Current Version =======================================
-//= 1.2
-//=========================================================================
-
-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();
- }
- if (!questprogress(12316)) {
- mes("[Hugin]");
- mes("A long time ago, this castle did not look like this.");
- next();
- mes("[Hugin]");
- mes("Ah I'm sorry. I'm muttering in front of a stranger.");
- next();
- mes("[Hugin]");
- mes("My name is Hugin. I'm studying the dimensional gap between time and space.");
- next();
- select("There's something like that here?");
- mes("[Hugin]");
- mes("Have you ever wondered about the history of Glast Heim?");
- 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();
- mes("[Hugin]");
- mes("Time will reveal the true answers if we look in the right places.");
- 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();
- }
- mes("[Hugin]");
- mes("Actually, dimensional time travel is possible but I'm so afraid to go there.");
- next();
- mes("[Hugin]");
- mes("Yes! It might be possible for you.");
- next();
- mes("[Hugin]");
- mes("Do you want to time travel?");
- 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();
- }
- mes("[Hugin]");
- mes("I knew that you would understand what I said. Well, please tell what you gonna do.");
- setquest(12316);
- next();
- }
- mes("[Hugin]");
- mes("Umm? Did you see me at another place? I don't think so. What about this time?");
- next();
- if (!questprogress(12317, PLAYTIME)) {
- .@party_id = getcharid(CHAR_ID_PARTY);
- .@p_name$ = getpartyname(.@party_id);
- .@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();
- }
- if (!questprogress(12318, HUNTING))
- setquest(12318);
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2))
- .@menu1$ = _("Generate Time Gap");
- else
- .@menu1$ = "";
- switch (select(.@menu1$, "Enter Old Glast Heim", "Cancel")) {
- case 1:
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id, 2))
- end;
- .@instance = instance_create(.@md_name$, .@party_id);
- 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);
- }
- mes("[Hugin]");
- mes("The time gap was created. When you're ready, talk to me again.");
- 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();
- }
- 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);
- end;
- case 3:
- 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();
- mes("[Hugin]");
- mes("Staying healthy is important so please take a break and come back again later.");
- close();
- } else {
- mes("^0000FFAll trace of access to Old Glast Heim have been removed. Now you can talk with Hugin again.^000000");
- erasequest(12317);
- if (questprogress(12318))
- erasequest(12318);
- if (questprogress(12319))
- erasequest(12319);
- close();
- }
-}
-
-// Floor 1
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-1@gl_k,149,41,6 script Varmundt#ghinstance1 4_M_BARMUND,{
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
- cutin("gl_barmund2", 2);
- mes("[Varmundt]");
- mes("Where's your leader? I need his help.");
- close2();
- cutin("gl_barmund2", 255);
- end;
- }
- cutin("gl_barmund1", 2);
- mes("[Varmundt]");
- mes("Are you the one ^0000FFHerico^000000 sent to help me?");
- npctalk(_("Are you the one Herico sent to help me?"));
- 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();
- 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();
- select("Himelmez...");
- mesf("[%s]", strcharinfo(PC_NAME));
- mes("Who is Himelmez?");
- unittalk(getcharid(CHAR_ID_ACCOUNT), _("Who is Himelmez?"));
- next();
- cutin("gl_barmund3", 2);
- mes("[Varmundt]");
- mes("Herico didn't tell you?");
- npctalk(_("Herico didn't tell you?"));
- 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();
- 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();
- 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();
- cutin("gl_barmund2", 255);
- donpcevent(instance_npcname("Varmundt#ghinstance1")+"::OnDisable");
- end;
-
-OnInstanceInit:
- donpcevent(instance_npcname("Varmundt#ghinstance1")+"::OnEnable");
- end;
-
-OnDisable:
- hideonnpc(instance_npcname("Varmundt#ghinstance1"));
- hideoffnpc(instance_npcname("Heinrich#ghinstance1"));
- hideoffnpc(instance_npcname("Varmundt#ghinstance2"));
- end;
-
-OnEnable:
- 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;
- }
- close();
-OnDisable:
- hideonnpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-OnEnable:
- hideoffnpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-}
-
-1@gl_k,154,54,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#2 4_F_KHALITZBURG
-1@gl_k,145,59,6 duplicate(Khalitzburg Knight#1) White Knight#3 4_WHITEKNIGHT
-1@gl_k,154,59,3 duplicate(Khalitzburg Knight#1) White Knight#4 4_WHITEKNIGHT
-1@gl_k,145,64,6 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#5 4_F_KHALITZBURG
-1@gl_k,154,64,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#6 4_F_KHALITZBURG
-1@gl_k,145,69,6 duplicate(Khalitzburg Knight#1) White Knight#7 4_WHITEKNIGHT
-1@gl_k,154,69,3 duplicate(Khalitzburg Knight#1) White Knight#8 4_WHITEKNIGHT
-1@gl_k,145,74,6 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#9 4_F_KHALITZBURG
-1@gl_k,154,74,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#10 4_F_KHALITZBURG
-1@gl_k,145,79,6 duplicate(Khalitzburg Knight#1) White Knight#11 4_WHITEKNIGHT
-1@gl_k,154,79,3 duplicate(Khalitzburg Knight#1) White Knight#12 4_WHITEKNIGHT
-1@gl_k,145,84,6 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#13 4_F_KHALITZBURG
-1@gl_k,154,84,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#14 4_F_KHALITZBURG
-1@gl_k,145,89,6 duplicate(Khalitzburg Knight#1) White Knight#15 4_WHITEKNIGHT
-1@gl_k,154,89,3 duplicate(Khalitzburg Knight#1) White Knight#16 4_WHITEKNIGHT
-1@gl_k,145,94,6 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#17 4_F_KHALITZBURG
-1@gl_k,154,94,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#18 4_F_KHALITZBURG
-1@gl_k,145,99,6 duplicate(Khalitzburg Knight#1) White Knight#19 4_WHITEKNIGHT
-1@gl_k,154,99,3 duplicate(Khalitzburg Knight#1) White Knight#20 4_WHITEKNIGHT
-1@gl_k,145,104,6 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#21 4_F_KHALITZBURG
-1@gl_k,154,104,3 duplicate(Khalitzburg Knight#1) Khalitzburg Knight#22 4_F_KHALITZBURG
-
-1@gl_k,149,100,6 script Heinrich#ghinstance1 4_M_HEINRICH,{
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
- cutin("gl_heinrich2", 2);
- mes("[Heinrich]");
- mes("Where is your leader? I must talk to him.");
- close2();
- cutin("gl_heinrich2", 255);
- end;
- }
- cutin("gl_heinrich2", 2);
- select("Sir. Heinrich. Varmundt...");
- 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();
- 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();
- mes("[Heinrich]");
- mes("What is it? Something wrong with the castle?");
- npctalk(_("What is it? Something wrong with the castle?"));
- 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();
- 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();
- 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();
- 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();
- 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();
- 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();
- 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();
- donpcevent(instance_npcname("Heinrich#ghinstance1")+"::OnDisable");
- donpcevent(instance_npcname("Heinrich#ghinstance2")+"::OnEnable");
- donpcevent(instance_npcname("Himelmez#ghinstance1")+"::OnEnable");
- donpcevent(instance_npcname("#talkinstance1")+"::OnEnable");
- mapannounce(instance_mapname("1@gl_k"), _("????: Muahahahaha~!"), bc_map, C_YELLOW, FW_NORMAL, 18);
- cutin("gl_heinrich1", 255);
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Heinrich#ghinstance1"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Heinrich#ghinstance1"));
- end;
-}
-
-1@gl_k,152,97,3 script Varmundt#ghinstance2 4_M_BARMUND,{
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Varmundt#ghinstance2"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Varmundt#ghinstance2"));
- end;
-}
-
-1@gl_k,149,97,6 script Heinrich#ghinstance2 4_M_HEINRICH,{
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Heinrich#ghinstance2"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Heinrich#ghinstance2"));
- end;
-}
-
-1@gl_k,149,100,6 script Heinrich#ghinstance3 4_M_HEINRICH,{
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Heinrich#ghinstance3"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Heinrich#ghinstance3"));
- end;
-}
-
-1@gl_k,149,89,1 script Himelmez#ghinstance1 4_F_HIMEL,{
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Himelmez#ghinstance1"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Himelmez#ghinstance1"));
- end;
-}
-
-// Control Timer
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-1@gl_k,0,0,0 script #talkinstance1 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#talkinstance1"));
- end;
-
-OnEnable:
- enablenpc(instance_npcname("#talkinstance1"));
- initnpctimer();
- end;
-
-OnTimer1500:
- npctalk(_("Who are you?"), instance_npcname("Heinrich#ghinstance2"));
- end;
-
-OnTimer4500:
- npctalk(_("Well well~ Am I interrupting you? Weren't you expecting me?"), instance_npcname("Himelmez#ghinstance1"));
- end;
-
-OnTimer10000:
- npctalk(_("Himelmez!! Already!"), instance_npcname("Varmundt#ghinstance2"));
- end;
-
-OnTimer17500:
- npctalk(_("My name is Lisa Kahn Himelmez. Master of Dullahan, Dead man's Valkyrie, that's what they call me."), instance_npcname("Himelmez#ghinstance1"));
- end;
-
-OnTimer22000:
- npctalk(_("Aren't you a little too feminine to be the Ruler of death? We are not afraid of you..."), instance_npcname("Heinrich#ghinstance2"));
- end;
-
-OnTimer28500:
- npctalk(_("Let's see if you can relax like that after you find out where your king is."), instance_npcname("Himelmez#ghinstance1"));
- end;
-
-OnTimer36000:
- npctalk(_("What?"), instance_npcname("Heinrich#ghinstance2"));
- end;
-
-OnTimer41000:
- npctalk(_("Hmm, now I have your attention do I not?"), instance_npcname("Himelmez#ghinstance1"));
- end;
-
-OnTimer54000:
- npctalk(_("It's a pity to meet you in a situation like this."), instance_npcname("Himelmez#ghinstance1"));
- end;
-
-OnTimer59000:
- npctalk(_("My king is visiting the Rune-Midgarts royal family. He's not back yet."), instance_npcname("Heinrich#ghinstance2"));
- end;
-
-OnTimer66500:
- npctalk(_("And now you are trying to trick me, what has happened to him?!"), instance_npcname("Heinrich#ghinstance2"));
- end;
-
-OnTimer71500:
- npctalk(_("Well~ I would love to sit down and explain for you, but I'm kind of busy today~"), instance_npcname("Himelmez#ghinstance1"));
- end;
-
-OnTimer78000:
- npctalk(_("I have business to take care of. My minions will treat you well enough for me~"), instance_npcname("Himelmez#ghinstance1"));
- end;
-
-OnTimer84500:
- npctalk(_("She probably already knows where the Ymir's heart piece is."), instance_npcname("Heinrich#ghinstance2"));
- donpcevent(instance_npcname("Himelmez#ghinstance1")+"::OnDisable");
- end;
-
-OnTimer90500:
- npctalk(_("All Khalitzburg and White Knights should follow me now..."), instance_npcname("Heinrich#ghinstance2"));
- 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)));
- }
- 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"), 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"), MG_KHALITZBURG, 1, .@label$);
- unittalk($@mobid[0], "Kkkrrrruughgh...");
- monster(.@map$, 145, 64, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- unittalk($@mobid[0], _("Sir. Heinrich. Save me..."));
- monster(.@map$, 154, 64, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- unittalk($@mobid[0], _("I miss my sister..."));
- monster(.@map$, 145, 74, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- unittalk($@mobid[0], _("Don't leave me alone, help me."));
- monster(.@map$, 154, 74, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- unittalk($@mobid[0], "Aaarrrrrhhhh");
- monster(.@map$, 145, 84, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- unittalk($@mobid[0], _("I am so thirsty."));
- monster(.@map$, 154, 84, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- unittalk($@mobid[0], _("Oh...No...I can't die yet..."));
- monster(.@map$, 145, 94, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- unittalk($@mobid[0], _("I feel sick to my stomach urrgg"));
- monster(.@map$, 154, 94, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- unittalk($@mobid[0], _("Can someone..."));
- monster(.@map$, 145, 104, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- unittalk($@mobid[0], "Arrgg... My body");
- monster(.@map$, 154, 104, _("Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- unittalk($@mobid[0], _("My throat is burning!"));
- end;
-
-OnTimer94000:
- npctalk(_("My men... This can't be happening!"), instance_npcname("Heinrich#ghinstance2"));
- end;
-
-OnTimer96500:
- npctalk(_("Sir. Heinrich, they're all monsters. You need to give them rest!"), instance_npcname("Varmundt#ghinstance2"));
- end;
-
-OnTimer100000:
- npctalk(_("I'm so sorry..."), instance_npcname("Heinrich#ghinstance2"));
- end;
-
-OnTimer103000:
- npctalk(_("I am sorry, my knights! Forgive me!"), instance_npcname("Heinrich#ghinstance2"));
- end;
-
-OnTimer106000:
- mapannounce(instance_mapname("1@gl_k"), _("Sir. Heinrich: Death to all!"), bc_map, C_YELLOW, FW_NORMAL, 18);
- end;
-
-OnTimer109000:
- mapannounce(instance_mapname("1@gl_k"), _("Sir. Heinrich: Go back to the darkness!"), bc_map, C_YELLOW, FW_NORMAL, 18);
- end;
-
-OnTimer109500:
- 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");
- 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");
- 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");
- 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");
- 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");
- end;
-
-OnTimer112500:
- npctalk(_("I killed my own men..."), instance_npcname("Heinrich#ghinstance3"));
- end;
-
-OnTimer115500:
- npctalk(_("Sir. Heinrich! We don't have much time!"), instance_npcname("Varmundt#ghinstance2"));
- end;
-
-OnTimer118500:
- npctalk(_("If you hurry now, there's a chance!"), instance_npcname("Varmundt#ghinstance2"));
- end;
-
-OnTimer121500:
- npctalk(_("Varmundt is right. Now is not the time for mourning."), instance_npcname("Heinrich#ghinstance3"));
- end;
-
-OnTimer124500:
- npctalk(_("I have a request to you followers."), instance_npcname("Heinrich#ghinstance3"));
- end;
-
-OnTimer127500:
- npctalk(_("Himelmez can turn living beings into monsters."), instance_npcname("Heinrich#ghinstance3"));
- end;
-
-OnTimer130500:
- npctalk(_("But, there might still be survivors here."), instance_npcname("Heinrich#ghinstance3"));
- end;
-
-OnTimer134500:
- npctalk(_("Destroy the monsters and find any survivors."), instance_npcname("Heinrich#ghinstance3"));
- end;
-
-OnTimer138500:
- npctalk(_("Varmundt and I will chase Himelmez."), instance_npcname("Heinrich#ghinstance3"));
- end;
-
-OnTimer143500:
- npctalk(_("Very well, Varmundt. Let's find Himelmez."), instance_npcname("Heinrich#ghinstance3"));
- end;
-
-OnTimer147500:
- 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");
- 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");
- end;
-
-OnMyMobDead:
- end;
-}
-
-1@gl_k,145,54,6 script .#ghinstance1 HIDDEN_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-
-OnEnable:
- enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-
-OnEffect1:
- specialeffect(EF_GRANDCROSS);
- specialeffect(EF_LEXAETERNA);
- end;
-}
-
-1@gl_k,154,54,3 duplicate(.#ghinstance1) .#ghinstance2 HIDDEN_NPC
-1@gl_k,145,59,6 duplicate(.#ghinstance1) .#ghinstance3 HIDDEN_NPC
-1@gl_k,154,59,3 duplicate(.#ghinstance1) .#ghinstance4 HIDDEN_NPC
-1@gl_k,145,64,6 duplicate(.#ghinstance1) .#ghinstance5 HIDDEN_NPC
-1@gl_k,154,64,3 duplicate(.#ghinstance1) .#ghinstance6 HIDDEN_NPC
-1@gl_k,145,69,6 duplicate(.#ghinstance1) .#ghinstance7 HIDDEN_NPC
-1@gl_k,154,69,3 duplicate(.#ghinstance1) .#ghinstance8 HIDDEN_NPC
-1@gl_k,145,74,6 duplicate(.#ghinstance1) .#ghinstance9 HIDDEN_NPC
-1@gl_k,154,74,3 duplicate(.#ghinstance1) .#ghinstance10 HIDDEN_NPC
-1@gl_k,145,79,6 duplicate(.#ghinstance1) .#ghinstance11 HIDDEN_NPC
-1@gl_k,154,79,3 duplicate(.#ghinstance1) .#ghinstance12 HIDDEN_NPC
-1@gl_k,145,84,6 duplicate(.#ghinstance1) .#ghinstance13 HIDDEN_NPC
-1@gl_k,154,84,3 duplicate(.#ghinstance1) .#ghinstance14 HIDDEN_NPC
-1@gl_k,145,89,6 duplicate(.#ghinstance1) .#ghinstance15 HIDDEN_NPC
-1@gl_k,154,89,3 duplicate(.#ghinstance1) .#ghinstance16 HIDDEN_NPC
-1@gl_k,145,94,6 duplicate(.#ghinstance1) .#ghinstance17 HIDDEN_NPC
-1@gl_k,154,94,3 duplicate(.#ghinstance1) .#ghinstance18 HIDDEN_NPC
-1@gl_k,145,99,6 duplicate(.#ghinstance1) .#ghinstance19 HIDDEN_NPC
-1@gl_k,154,99,3 duplicate(.#ghinstance1) .#ghinstance20 HIDDEN_NPC
-1@gl_k,145,104,6 duplicate(.#ghinstance1) .#ghinstance21 HIDDEN_NPC
-1@gl_k,154,104,3 duplicate(.#ghinstance1) .#ghinstance22 HIDDEN_NPC
-1@gl_k,149,200,3 warp treasureroom#out 1,1,1@gl_k,269,264
-
-1@gl_k,96,80,0 script #ghinstancewarp1 WARPNPC,1,2,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-
-OnEnable:
- 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;
- }
- end;
-}
-
-1@gl_k,90,80,0 duplicate(#ghinstancewarp1) #ghinstancewarp2 WARPNPC,2,2
-1@gl_k,202,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp3 WARPNPC,2,2
-1@gl_k,206,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp4 WARPNPC,2,2
-1@gl_k,228,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp5 WARPNPC,2,2
-1@gl_k,222,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp6 WARPNPC,2,2
-1@gl_k,150,284,0 duplicate(#ghinstancewarp1) #ghinstancewarp7 WARPNPC,2,2
-2@gl_k,145,123,0 duplicate(#ghinstancewarp1) #ghinstancewarp8 WARPNPC,2,2
-2@gl_k,136,122,0 duplicate(#ghinstancewarp1) #ghinstancewarp9 WARPNPC,2,2
-2@gl_k,154,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp10 WARPNPC,2,2
-2@gl_k,165,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp11 WARPNPC,2,2
-2@gl_k,150,163,0 duplicate(#ghinstancewarp1) #ghinstancewarp12 WARPNPC,2,2
-2@gl_k,150,167,0 duplicate(#ghinstancewarp1) #ghinstancewarp13 WARPNPC,2,2
-2@gl_k,150,32,0 duplicate(#ghinstancewarp1) #ghinstancewarp14 WARPNPC,2,2
-1@gl_k,69,168,0 duplicate(#ghinstancewarp1) #ghinstancewarp15 WARPNPC,2,2
-
-// Sector 1 Mobs
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-1@gl_k,0,0,0 script #ghmemorialmob01 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#ghmemorialmob01"));
- end;
-
-OnEnable:
- 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$);
- areamonster(.@map$, 67, 39, 12, 6, _("Corrupted Monk"), MG_WRAITH, 20, .@label$);
- areamonster(.@map$, 67, 39, 12, 6, _("Grand Chamberlain in pain"), MG_GHOUL, 3, .@label$);
- areamonster(.@map$, 32, 75, 51, 58, _("Corrupted Steward"), MG_ZOMBIE, 6, .@label$);
- areamonster(.@map$, 45, 84, 6, 137, _("Corrupted Steward"), MG_ZOMBIE, 12, .@label$);
- end;
-
-OnMyMobDead:
- .@map$ = instance_mapname("1@gl_k");
- .@label$ = instance_npcname("#ghmemorialmob01")+"::OnMyMobDead";
- .@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");
- }
- end;
-}
-
-1@gl_k,17,51,3 script Altar boy Domun#clearGH 4_M_KID1,{
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
- mes("[Altar boy Domun]");
- mes("Save me, save me, please...");
- close();
- }
- mes("[Altar boy Domun]");
- mes("Save me! Save me!!!");
- npctalk(_("Save me! Save me!!!"));
- 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();
- 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();
- 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();
- 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();
- mes("[Altar boy Domun]");
- mes("To the east passage?\r"
- "Alone?\r"
- "How?");
- npctalk(_("Altar boy Domun : To the east passage? Alone? How?"));
- 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();
- 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");
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Altar boy Domun#clearGH"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Altar boy Domun#clearGH"));
- end;
-}
-
-// Sector 2 Mobs
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-1@gl_k,0,0,0 script #ghmemorialmob02 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#ghmemorialmob02"));
- end;
-
-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);
- areamonster(.@map$, 241, 113, 291, 19, _("Outraged Refiner"), MG_GHOUL, 12, .@label$);
- areamonster(.@map$, 241, 113, 291, 19, _("Decomposed Blacksmith"), MG_ZOMBIE, 12, .@label$);
- areamonster(.@map$, 227, 217, 291, 135, _("Outraged Refiner"), MG_GHOUL, 12, .@label$);
- areamonster(.@map$, 227, 217, 291, 135, _("Decomposed Blacksmith"), MG_ZOMBIE, 12, .@label$);
- end;
-
-OnMyMobDead:
- .@map$ = instance_mapname("1@gl_k");
- .@label$ = instance_npcname("#ghmemorialmob02")+"::OnMyMobDead";
- .@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");
- }
- end;
-}
-
-1@gl_k,291,145,3 script Holgren the Destroyer 4_F_JOB_BLACKSMITH,{
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
- mes("[Holgren the Destroyer]");
- mes("Are you human?");
- close();
- }
- mes("[Holgren the Destroyer]");
- mes("Die!! You shall die!!!");
- npctalk(_("Holgren the Destroyer : Die!! You shall die!!!"));
- 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();
- mes("[Holgren the Destroyer]");
- mes("It's only me alive.");
- npctalk(_("Holgren the Destroyer : It's only me alive."));
- 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();
- 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();
- 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();
- 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");
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Holgren the Destroyer"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Holgren the Destroyer"));
- end;
-}
-
-// Tramp Mobs
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-1@gl_k,221,82,3 script A dead man#GHtramp1 4_M_DIEMAN,4,4,{
- 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;
- 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)));
- end;
-
-OnMyMobDead:
- end;
-
-OnInstanceInit:
-OnEnable:
- enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-
-OnDisable:
- disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-}
-
-1@gl_k,213,63,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp2 4_M_DIEMAN,4,4
-1@gl_k,230,50,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp3 4_M_DIEMAN,4,4
-1@gl_k,222,39,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp4 4_M_DIEMAN,4,4
-1@gl_k,214,27,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp5 4_M_DIEMAN,4,4
-1@gl_k,223,17,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp6 4_M_DIEMAN,4,4
-1@gl_k,235,16,4 duplicate(A dead man#GHtramp1) A dead man#GHtramp7 4_M_DIEMAN,4,4
-1@gl_k,251,20,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp8 4_M_DIEMAN,4,4
-1@gl_k,240,43,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp9 4_M_DIEMAN,4,4
-1@gl_k,271,19,1 duplicate(A dead man#GHtramp1) A dead man#GHtramp10 4_M_DIEMAN,4,4
-1@gl_k,246,62,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp11 4_M_DIEMAN,4,4
-1@gl_k,282,48,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp12 4_M_DIEMAN,4,4
-1@gl_k,285,81,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp13 4_M_DIEMAN,4,4
-1@gl_k,241,86,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp14 4_M_DIEMAN,4,4
-1@gl_k,249,101,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp15 4_M_DIEMAN,4,4
-1@gl_k,276,106,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp16 4_M_DIEMAN,4,4
-1@gl_k,252,120,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp17 4_M_DIEMAN,4,4
-1@gl_k,258,150,1 duplicate(A dead man#GHtramp1) A dead man#GHtramp18 4_M_DIEMAN,4,4
-1@gl_k,255,157,6 duplicate(A dead man#GHtramp1) A dead man#GHtramp19 4_M_DIEMAN,4,4
-1@gl_k,261,164,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp20 4_M_DIEMAN,4,4
-1@gl_k,269,173,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp21 4_M_DIEMAN,4,4
-1@gl_k,280,167,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp22 4_M_DIEMAN,4,4
-1@gl_k,293,161,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp23 4_M_DIEMAN,4,4
-1@gl_k,226,96,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp24 4_M_DIEMAN,4,4
-1@gl_k,222,119,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp25 4_M_DIEMAN,4,4
-1@gl_k,233,123,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp26 4_M_DIEMAN,4,4
-2@gl_k,147,203,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp27 4_M_DIEMAN,4,4
-2@gl_k,141,222,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp28 4_M_DIEMAN,4,4
-2@gl_k,167,225,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp29 4_M_DIEMAN,4,4
-2@gl_k,145,236,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp30 4_M_DIEMAN,4,4
-2@gl_k,143,260,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp31 4_M_DIEMAN,4,4
-2@gl_k,170,259,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp32 4_M_DIEMAN,4,4
-2@gl_k,143,197,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp33 4_M_DIEMAN,4,4
-2@gl_k,155,195,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp34 4_M_DIEMAN,4,4
-2@gl_k,154,188,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp35 4_M_DIEMAN,4,4
-2@gl_k,153,214,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp36 4_M_DIEMAN,4,4
-2@gl_k,172,233,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp37 4_M_DIEMAN,4,4
-2@gl_k,176,245,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp38 4_M_DIEMAN,4,4
-
-// Sector 3 Mobs
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-1@gl_k,0,0,0 script #ghmemorialmob03 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#ghmemorialmob03"));
- end;
-
-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);
- areamonster(.@map$, 17, 259, 53, 180, _("Hungry Palace Guard"), MG_RAYDRIC, 11, .@label$);
- areamonster(.@map$, 17, 259, 53, 180, _("Outraged Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
- areamonster(.@map$, 62, 281, 73, 186, _("Hungry Palace Guard"), MG_RAYDRIC, 11, .@label$);
- areamonster(.@map$, 62, 281, 73, 186, _("Outraged Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
- areamonster(.@map$, 74, 251, 109, 224, _("Corrupted Palace Guard"), MG_RAYDRIC, 11, .@label$);
- areamonster(.@map$, 74, 251, 109, 224, _("Wandering Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
- areamonster(.@map$, 108, 281, 231, 234, _("Corrupted Palace Guard"), MG_RAYDRIC, 11, .@label$);
- areamonster(.@map$, 108, 281, 231, 234, _("Wandering Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
- end;
-
-OnMyMobDead:
- .@map$ = instance_mapname("1@gl_k");
- .@label$ = instance_npcname("#ghmemorialmob03")+"::OnMyMobDead";
- .@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");
- }
- end;
-}
-
-// 1st MVP
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-1@gl_k,0,0,0 script #ghmemorialmob04 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- 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");
- unittalk($@mobid[0], _("Grrrrrrhh~~~"));
- end;
-
-OnMyMobDead:
- .@map$ = instance_mapname("1@gl_k");
- 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");
- 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");
- }
- end;
-}
-
-1@gl_k,150,257,3 script #GHMclear3 HIDDEN_NPC,9,9,{
- end;
-
-OnTouch:
- donpcevent(instance_npcname("#controlGH3")+"::OnEnable");
- specialeffect(EF_BASH);
- donpcevent(instance_npcname("#GHMclear3")+"::OnDisable");
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#GHMclear3"));
- end;
-
-OnEnable:
- 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();
- end;
-}
-
-1@gl_k,0,0,0 script #controlGH3 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#controlGH3"));
- end;
-
-OnEnable:
- enablenpc(instance_npcname("#controlGH3"));
- initnpctimer();
- end;
-
-OnTimer3000:
- npctalk(_("Guess you are either lucky or powerful, to make it this far."), instance_npcname("Himelmez#ghinstance2"));
- end;
-
-OnTimer6000:
- npctalk(_("But, it doesn't matter."), instance_npcname("Himelmez#ghinstance2"));
- end;
-
-OnTimer9000:
- npctalk(_("You will all die here."), instance_npcname("Himelmez#ghinstance2"));
- end;
-
-OnTimer12000:
- npctalk(_("Himelmez! We will not let you get away from us!"), instance_npcname("Heinrich#ghinstance4"));
- end;
-
-OnTimer15000:
- npctalk(_("Ha ha ha, worry about yourself. You think I am alone here?"), instance_npcname("Himelmez#ghinstance2"));
- end;
-
-OnTimer18000:
- npctalk(_("Sir. Heinrich! I sense something strange and strong coming!"), instance_npcname("Varmundt#ghinstance3"));
- end;
-
-OnTimer21000:
- npctalk(_("What... These are!"), instance_npcname("Heinrich#ghinstance4"));
- end;
-
-OnTimer24000:
- npctalk(_("I will go on my way while my new toy entertains you."), instance_npcname("Himelmez#ghinstance2"));
- end;
-
-OnTimer27000:
- npctalk(_("Fare well~, hope to see you again sometime, Heinrich."), instance_npcname("Himelmez#ghinstance2"));
- end;
-
-OnTimer28000:
- donpcevent(instance_npcname("Himelmez#ghinstance2")+"::OnDisable");
- end;
-
-OnTimer31000:
- npctalk(_("Sir. Varmundt! Help those adventurers. I will go after Himelmez!"), instance_npcname("Heinrich#ghinstance4"));
- end;
-
-OnTimer32000:
- donpcevent(instance_npcname("Heinrich#ghinstance4")+"::OnDisable");
- end;
-
-OnTimer35000:
- mapannounce(instance_mapname("1@gl_k"), _("An echoing comes from deep inside of the knight's shrine."), bc_map, C_WHITE);
- end;
-
-OnTimer38000:
- 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);
- mes("[Heinrich]");
- mes("Himelmez... I will never forget what you've done to my men.");
- close2();
- cutin("gl_heinrich1", 255);
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Heinrich#ghinstance4"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Heinrich#ghinstance4"));
- end;
-}
-
-1@gl_k,150,257,3 script Himelmez#ghinstance2 4_F_HIMEL,{
- 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);
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Himelmez#ghinstance2"));
- end;
-
-OnEnable:
- 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);
- mes("[Varmundt]");
- mes("This item has extraordinary aura with it. Can be very useful for someone special.");
- 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);
- end;
- }
- 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);
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Varmundt#ghinstance3"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Varmundt#ghinstance3"));
- end;
-}
-
-// Floor 2
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-2@gl_k,148,67,1 script Heinrich#ghinstance5 4_M_HEINRICH,{
- cutin("gl_heinrich1", 2);
- mes("[Heinrich]");
- mes("Himelmez's closed space covers everywhere...");
- close2();
- cutin("gl_heinrich1", 255);
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Heinrich#ghinstance5"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Heinrich#ghinstance5"));
- end;
-}
-
-2@gl_k,151,71,7 script Varmundt#ghinstance4 4_M_BARMUND,{
- 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);
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Varmundt#ghinstance4"));
- end;
-}
-
-2@gl_k,150,67,0 script #effectGH01 HIDDEN_NPC,10,10,{
- end;
-
-OnTouch:
- if ('touch) {
- 'touch = 0;
- specialeffect(EF_BASH);
- donpcevent(instance_npcname("#controlGH4")+"::OnEnable");
- }
- end;
-
-OnEffect:
- specialeffect(EF_LORD);
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#effectGH01"));
- end;
-
-OnEnable:
- enablenpc(instance_npcname("#effectGH01"));
- 'touch = 1; // Only activate OnTouch once
- end;
-}
-
-2@gl_k,0,0,0 script #controlGH4 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#controlGH4"));
- end;
-
-OnEnable:
- 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");
- end;
-
-OnTimer6000:
- npctalk(_("This is Himelmez's closed space. We blocked each area and aisle."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer9000:
- npctalk(_("We tried to break it down but it's really strong."), instance_npcname("Heinrich#ghinstance5"));
- end;
-
-OnTimer12000:
- npctalk(_("Step back. Let me try to dispel the magic."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer15000:
- donpcevent(instance_npcname("#effectGH01")+"::OnEffect");
- end;
-
-OnTimer18000:
- donpcevent(instance_npcname("#effectGH01")+"::OnDisable");
- npctalk(_("I think that part of closed space is broke down."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer21000:
- npctalk(_("I have never seen this closed space."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer24000:
- npctalk(_("Himelmez hides stone chains in undead people's body."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer27000:
- npctalk(_("Maybe this closed space is maintained with these stone chains."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer30000:
- npctalk(_("If you want to break it, you have to kill one of those who have a stone chain."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer33000:
- npctalk(_("But, we can't recognize who has a stone chain so, we have to purify everything."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer36000:
- npctalk(_("It is inexcusable behavior."), instance_npcname("Heinrich#ghinstance5"));
- end;
-
-OnTimer39000:
- npctalk(_("I already exterminated all my soldiers and maybe more..."), instance_npcname("Heinrich#ghinstance5"));
- end;
-
-OnTimer42000:
- npctalk(_("Commander..."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer45000:
- npctalk(_("Commander! You need to be strong."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer48000:
- npctalk(_("Our enemy is not human."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer51000:
- npctalk(_("Even though you deny it, they'll never turn back to human."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer54000:
- npctalk(_("..."), instance_npcname("Heinrich#ghinstance5"));
- end;
-
-OnTimer57000:
- npctalk(_("Well, let's go then."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer60000:
- npctalk(_("And you guys, just take a break and follow us."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer63000:
- npctalk(_("It could be hard fighting so, stay strong."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-OnTimer66000:
- npctalk(_("Ok, it's time to begin Heinrich."), instance_npcname("Varmundt#ghinstance4"));
- end;
-
-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");
- end;
-
-OnTimer70000:
- stopnpctimer();
- donpcevent(instance_npcname("#controlGH4")+"::OnDisable");
- end;
-}
-
-2@gl_k,0,0,0 script #ghmemorialmob05 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#ghmemorialmob05"));
- end;
-
-OnEnable:
- 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$);
- areamonster(.@map$, 124, 20, 31, 162, _("Archer of Death"), MG_RAYDRIC_ARCHER, 8, .@label$);
- areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 8, .@label$);
- areamonster(.@map$, 124, 20, 31, 162, _("Suffered Khalitzburg"), MG_KHALITZBURG, 8, .@label$);
- areamonster(.@map$, 124, 20, 31, 162, _("Bloody Knight"), MG_BLOODY_KNIGHT, 8, .@label$);
- 'MyMobs = 80;
- end;
-
-OnMyMobDead:
- .@map$ = instance_mapname("2@gl_k");
- '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");
- } else {
- .@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
- switch (rand(5)) {
- case 0:
- 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"), MG_RAYDRIC_ARCHER, 1, .@label$);
- break;
- case 2:
- 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"), MG_KHALITZBURG, 1, .@label$);
- break;
- case 4:
- areamonster(.@map$, 124, 20, 31, 162, _("Bloody Knight"), MG_BLOODY_KNIGHT, 1, .@label$);
- break;
- }
- }
- end;
-}
-
-2@gl_k,0,0,0 script #ghmemorialmob06 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#ghmemorialmob06"));
- end;
-
-OnDisable2:
- stopnpctimer();
- disablenpc(instance_npcname("#ghmemorialmob06"));
- end;
-
-OnEnable:
- enablenpc(instance_npcname("#ghmemorialmob06"));
- donpcevent(instance_npcname("#ghmemorialmob06")+"::OnSpawn");
- end;
-
-OnSpawn:
- 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);
- 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$);
- areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Corrupted Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
- areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Suffered Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Bloody Knight"), MG_BLOODY_KNIGHT, 1, .@label$);
- }
- end;
-
-OnTimer92000:
- stopnpctimer();
- donpcevent(instance_npcname("#ghmemorialmob06")+"::OnSpawn");
- end;
-}
-
-2@gl_k,0,0,0 script #ghmemorialmob07 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- 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");
- end;
-
-OnMyMobDead:
- .@map$ = instance_mapname("2@gl_k");
- 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");
- }
- end;
-}
-
-2@gl_k,0,0,0 script #ghmemorialmob08 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#ghmemorialmob08"));
- end;
-
-OnEnable:
- enablenpc(instance_npcname("#ghmemorialmob08"));
- .@map$ = instance_mapname("2@gl_k");
- .@label$ = instance_npcname("#ghmemorialmob08")+"::OnMyMobDead";
- 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;
-
-OnMyMobDead:
- .@map$ = instance_mapname("2@gl_k");
- '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");
- } else {
- .@label$ = instance_npcname("#ghmemorialmob08")+"::OnMyMobDead";
- switch (rand(5)) {
- case 0:
- areamonster(.@map$, 175, 163, 265, 18, _("Corrupted Palace Guard"), MG_RAYDRIC, 1, .@label$);
- break;
- case 1:
- areamonster(.@map$, 175, 163, 265, 18, _("Wandering Archer"), MG_RAYDRIC_ARCHER, 1, .@label$);
- break;
- case 2:
- areamonster(.@map$, 175, 163, 265, 18, _("Corrupted Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
- break;
- case 3:
- areamonster(.@map$, 175, 163, 265, 18, _("Suffered Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
- break;
- case 4:
- areamonster(.@map$, 175, 163, 265, 18, _("Bloody Knight"), MG_BLOODY_KNIGHT, 1, .@label$);
- break;
- }
- }
- end;
-}
-
-2@gl_k,0,0,0 script #ghmemorialmob09 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#ghmemorialmob09"));
- end;
-
-OnEnable:
- 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) {
- 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");
- }
- end;
-}
-
-2@gl_k,0,0,0 script #ghmemorialmob10 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#ghmemorialmob10"));
- end;
-
-OnEnable:
- 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();
- end;
-
-OnTimer6000:
- unittalk($@mobid[0], _("I don't want... I don't want to kill anyone. Uhuuuuuh"));
- end;
-
-OnTimer12000:
- unittalk($@mobid[0], _("Please kill me! Please!"));
- end;
-
-OnTimer18000:
- unittalk($@mobid[0], _("Eeeeee...eee...die... die..."));
- end;
-
-OnTimer24000:
- unittalk($@mobid[0], _("Demolition... Death!..."));
- 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");
- for (.@i = 1; .@i <= 8; .@i++)
- 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);
- mes("[Heinrich]");
- mes("What are you decorating Himelmez!");
- close2();
- cutin("gl_heinrich1", 255);
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Heinrich#ghinstance6"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Heinrich#ghinstance6"));
- end;
-}
-
-2@gl_k,162,250,1 script Varmundt#ghinstance5 4_M_BARMUND,{
- cutin("gl_barmund2", 2);
- mes("[Varmundt]");
- mes("Can't take off this bridle...");
- close2();
- cutin("gl_barmund2", 255);
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Varmundt#ghinstance5"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Varmundt#ghinstance5"));
- end;
-}
-
-2@gl_k,158,252,3 script Himelmez#ghinstance4 4_F_HIMEL,{
- 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);
- end;
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Himelmez#ghinstance4"));
- end;
-}
-
-2@gl_k,150,179,0 script #controlGH6 HIDDEN_NPC,2,2,{
- end;
-
-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");
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#controlGH6"));
- end;
-
-OnEnable:
- enablenpc(instance_npcname("#controlGH6"));
- end;
-}
-
-2@gl_k,158,252,1 script Himelmez#ghinstance3 4_F_HIMEL,7,7,{
- end;
-
-OnTouch:
- 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"));
- end;
-
-OnEnable:
- enablenpc(instance_npcname("Himelmez#ghinstance3"));
- end;
-}
-
-2@gl_k,158,255,3 script Gerhalt#ghinstance1 4_LEVITATEMAN,{
- mes("[Gerhalt]");
- mes("Uuuuu... Khhhah!\r"
- "Just run away with the commander!");
- close();
-
-OnInstanceInit:
-OnDisable:
- hideonnpc(instance_npcname("Gerhalt#ghinstance1"));
- end;
-
-OnEnable:
- hideoffnpc(instance_npcname("Gerhalt#ghinstance1"));
- end;
-
-OnTalk3: /*Unused*/
- npctalk(_("Gerhalt : You can make my body but you can't take my soul Himelmez!"));
- end;
-
-OnEffect1:
- specialeffect(EF_BARRIER);
- end;
-
-OnEffect2:
- specialeffect(EF_CHAINCOMBO);
- end;
-
-OnEffect3:
- specialeffect(EF_MAPPILLAR2);
- end;
-
-OnEffect4:
- specialeffect(EF_MAPPILLAR);
- end;
-
-OnEffect5:
- specialeffect(EF_LORD);
- end;
-}
-
-2@gl_k,0,0,0 script #controlGH5 FAKE_NPC,{
- end;
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("#controlGH5"));
- end;
-
-OnEnable:
- enablenpc(instance_npcname("#controlGH5"));
- initnpctimer();
- end;
-
-OnTimer3000:
- npctalk(_("Amazing~ I thought that you were not even close to getting here..."), instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnTimer6000:
- npctalk(_("Gerhalt : Kkkkah! Run away! I can't endure anymore!"), instance_npcname("Gerhalt#ghinstance1"));
- end;
-
-OnTimer9000:
- npctalk(_("Gerhalt!"), instance_npcname("Heinrich#ghinstance6"));
- end;
-
-OnTimer15000:
- npctalk(_("What are you doing to my soldier Himelmez!"), instance_npcname("Heinrich#ghinstance6"));
- end;
-
-OnTimer18000:
- npctalk(_("Hoo hoo, I already found a piece of Ymir's heart Heinrich."), instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnTimer21000:
- npctalk(_("If he did not bother me, it would have been faster."), instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnTimer24000:
- npctalk(_("Gerhalt : Commandant... Come on, you need to run away from here... Ugh."), instance_npcname("Gerhalt#ghinstance1"));
- end;
-
-OnTimer27000:
- npctalk(_("Really? What makes you think so?"), instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnTimer30000:
- npctalk(_("Himelmez! You already made what you want so there is no more need for a sacrifice!"), instance_npcname("Heinrich#ghinstance6"));
- end;
-
-OnTimer33000:
- npctalk(_("Let him go! I don't need to see anyone else suffer!"), instance_npcname("Heinrich#ghinstance6"));
- end;
-
-OnTimer36000:
- npctalk(_("Let him go? I think... No..."), instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnTimer39000:
- npctalk(_("Besides, this is your last surviving soldier Heinrich."), instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnTimer42000:
- npctalk(_("He made life difficult for me."), instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnTimer45000:
- npctalk(_("He is perfectly fit for my new creation Amdarais."), instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnTimer48000:
- npctalk(_("I'll never forgive you."), instance_npcname("Heinrich#ghinstance6"));
- end;
-
-OnTimer51000:
- npctalk(_("Uh uh~ I'm so scared."), instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnTimer54000:
- npctalk(_("Anyway, we will have a chance to see because we need to talk more."), instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnTimer57000:
- npctalk(_("So long boys."), instance_npcname("Himelmez#ghinstance4"));
- end;
-
-OnTimer60000:
- donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnEffect1");
- end;
-
-OnTimer63000:
- donpcevent(instance_npcname("Himelmez#ghinstance4")+"::OnDisable");
- end;
-
-OnTimer65000:
- donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnEffect3");
- end;
-
-OnTimer66000:
- 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");
- end;
-
-OnTimer70000:
- 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");
- end;
-
-OnTimer73000:
- mapannounce(instance_mapname("2@gl_k"), _("Gerhalt's body changing."), bc_map, C_WHITE);
- end;
-
-OnTimer76000:
- donpcevent(instance_npcname("Gerhalt#ghinstance1")+"::OnEffect5");
- end;
-
-OnTimer80000:
- donpcevent(instance_npcname("#ghmemorialmob10")+"::OnEnable");
- stopnpctimer();
- donpcevent(instance_npcname("#controlGH5")+"::OnDisable");
- end;
-}
-
-2@gl_k,158,241,1 script Hugin#ghinstance1 4_M_SAGE_C,{
- 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);
- if (gh_instance == 1) {
- getitem(Temporal_Crystal, 1);
- getitem(Coagulated_Spell, 1);
- } else {
- getitem(Temporal_Crystal, 5);
- getitem(Coagulated_Spell, 5);
- gh_instance = 1;
- }
- getexp(350000, 350000);
- next();
- mes("[Hugin]");
- mes("Varmundt's time is stopped by me. And your time will be distorted soon.");
- 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();
- mes("[Hugin]");
- mes("However, we will never overlook his behavior now and forever...");
- next();
- mes("[Hugin]");
- mes("Now, let me remove your memory. If you see me again, that will be brand new.");
- specialeffect(EF_FREEZE, AREA, playerattached());
- close2();
- getmapxy(.@map$, .@x, .@y, UNITTYPE_PC);
- 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();
- 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")) {
- case 1:
- mes("[Hugin]");
- mes("Really? This place will be broke down so, please look around quickly.");
- close();
- case 2:
- close2();
- warp("glast_01", 204, 270);
- end;
- }
- }
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("Hugin#ghinstance1"));
- end;
-
-OnEnable:
- enablenpc(instance_npcname("Hugin#ghinstance1"));
- end;
-}
-
-// Treasure Room
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-// TODO: Need script command makeitem2
-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();
- }
- .@map$ = instance_mapname("1@gl_k");
- warp(.@map$, 149, 193);
- end;
-}
-
-1@gl_k,129,136,0 script Strange crack#1 HIDDEN_NPC,{
- 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);
- if (.@random_ == 4) {
- //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"));
- end;
-
-OnEnable:
- 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);
- .@random = rand(1, 4);
- .@random_ = rand(1, 4);
- 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);
- }
- 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"));
- end;
-
-OnEnable:
- 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);
- .@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);
- if (.@random_ == 4) {
- //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"));
- end;
-
-OnEnable:
- 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);
- .@random = rand(1, 4);
- .@random_ = rand(1, 4);
- 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);
- }
- 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"));
- end;
-
-OnEnable:
- 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);
- .@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);
- if (.@random_ == 4) {
- //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"));
- end;
-
-OnEnable:
- 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);
- .@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);
- if (.@random_ == 4) {
- //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"));
- end;
-
-OnEnable:
- 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);
- .@random = rand(1, 4);
- 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"));
- end;
-
-OnEnable:
- 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);
- .@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);
- // FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'
-
-OnInstanceInit:
-OnDisable:
- disablenpc(instance_npcname("Strange crack#8"));
- end;
-
-OnEnable:
- enablenpc(instance_npcname("Strange crack#8"));
- end;
-}
-
-// Merchant, and Trade NPC - Get Temporal Boots --> exchange to Temporal_*_Boots
-// Upon trade all refines got removed
-// Uses Temporal_Crystal
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-glast_01,210,273,5 script Hugin's Butler 1_F_04,{
- 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();
- }
- 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();
- mes("[Hugin's Butler]");
- mes("What would you like me to do young adventurer?");
- 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();
- }
- 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();
- 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();
- }
- 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();
- }
- 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();
- }
- 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);
- .@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();
- case 2:
- case 3:
- case 4:
- case 5:
- 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();
- 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();
- }
- mes("[Hugin's Butler]");
- mes("Ok, come back again when you are sure.");
- close();
- }
- }
-}
-
-// Enchant NPC - Coagulated Spell to enchants on 4th slot. First one to pick --> upgraded --> additional random enchant on 3rd slot
-// Adding a socket on the Craftsman NPC will remove the 3rd and 4th slot enchants of the Temporal_*_Boots
-// Enchanting can fail, the 3th slot random one is guaranteed
-// Refine remains
-// 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();
- if (MaxWeight - Weight < 1000) {
- mes("Your bag is too heavy. Reduce some weight and come back.");
- 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();
- 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();
- 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();
- 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();
- mes("[Hugin's Magic Master]");
- mes("I don't give out effect randomly. You can pick which effect you want for the item.");
- 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();
- 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();
- 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();
- 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();
- mes("[Hugin's Magic Master]");
- mes("Phew... Anyways, that's all for basic enchant information. Now you should see for yourself.");
- close();
- }
- .@part = EQI_SHOES;
- if (!getequipisequiped(.@part)) {
- mes("[Hugin's Magic Master]");
- mes("Are you wearing the item?");
- 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 %
- .@random = rand(1, 100);
- switch (.@equip_id) {
- case Temporal_Str_Boots:
- case Temporal_Int_Boots:
- case Temporal_Agi_Boots:
- case Temporal_Vit_Boots:
- case Temporal_Dex_Boots:
- case Temporal_Luk_Boots:
- case Temporal_Str_Boots_:
- case Temporal_Int_Boots_:
- case Temporal_Agi_Boots_:
- case Temporal_Vit_Boots_:
- case Temporal_Dex_Boots_:
- case Temporal_Luk_Boots_:
- if (.@card3 == 0) { //4th slot 1st try enchanting
- .@cost = .@enchant_cost[0];
- .@scs = .@enchant_rate[0];
- .@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();
- .@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();
- case 2:
- .@enchant = .@enchant1st[.@select - 2];
- break;
- case 3:
- .@enchant = .@enchant1st[.@select - 2];
- break;
- case 4:
- .@enchant = .@enchant1st[.@select - 2];
- break;
- case 5:
- .@enchant = .@enchant1st[.@select - 2];
- break;
- case 6:
- .@enchant = .@enchant1st[.@select - 2];
- break;
- case 7:
- .@enchant = .@enchant1st[.@select - 2];
- break;
- }
- } else {
- if (.@card3 == .@enchant1st[0] || .@card3 == .@enchant1st[1] || .@card3 == .@enchant1st[2] ||
- .@card3 == .@enchant1st[3] || .@card3 == .@enchant1st[4] || .@card3 == .@enchant1st[5]) {
- .@cost = .@enchant_cost[1];
- .@scs = .@enchant_rate[1];
- .@number = 2;
- } else if (.@card3 == .@enchant2nd[0] || .@card3 == .@enchant2nd[1] || .@card3 == .@enchant2nd[2] ||
- .@card3 == .@enchant2nd[3] || .@card3 == .@enchant2nd[4] || .@card3 == .@enchant2nd[5]) {
- .@cost = .@enchant_cost[2];
- .@scs = .@enchant_rate[2];
- .@number = 3;
- } else if (.@card3 == .@enchant3rd[0] || .@card3 == .@enchant3rd[1] || .@card3 == .@enchant3rd[2] ||
- .@card3 == .@enchant3rd[3] || .@card3 == .@enchant3rd[4] || .@card3 == .@enchant3rd[5]) {
- .@cost = .@enchant_cost[3];
- .@scs = .@enchant_rate[3];
- .@number = 4;
- } else if (.@card3 == .@enchant4th[0] || .@card3 == .@enchant4th[1] || .@card3 == .@enchant4th[2] ||
- .@card3 == .@enchant4th[3] || .@card3 == .@enchant4th[4] || .@card3 == .@enchant4th[5]) {
- .@card2 = getequipcardid(.@part, 2);
- .@cost = .@enchant_cost[4];
- .@scs = .@enchant_rate[4];
- if (.@card2 != 0) {
- 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();
- }
- // 3rd slot random enchanting
- switch (.@card3) {
- case Fighting_Spirit7:
- case Expert_Archer4:
- case Spell5:
- case MHP2:
- case Attack_Delay_4:
- case Luck6:
- .@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();
- 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();
- if (select("Quit", "Effect Upgrade!") == 1) {
- mes("[Hugin's Magic Master]");
- mes("Ok, come back when you are ready.");
- 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();
- }
- if (.@random > .@scs) {
- mes("Arrggg, we failed. Better luck next time.");
- specialeffect(EF_PHARMACY_FAIL, AREA, playerattached());
- delitem(Coagulated_Spell, .@cost);
- delequip(.@part);
- close();
- }
- 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();
- }
- }
- // 4th slot 2nd try enchanting
- if (.@card3 == .@enchant1st[0])
- .@enchant = .@enchant2nd[0];
- else if (.@card3 == .@enchant1st[1])
- .@enchant = .@enchant2nd[1];
- else if (.@card3 == .@enchant1st[2])
- .@enchant = .@enchant2nd[2];
- else if (.@card3 == .@enchant1st[3])
- .@enchant = .@enchant2nd[3];
- else if (.@card3 == .@enchant1st[4])
- .@enchant = .@enchant2nd[4];
- else if (.@card3 == .@enchant1st[5])
- .@enchant = .@enchant2nd[5];
- // 4th slot 3rd try enchanting
- if (.@card3 == .@enchant2nd[0])
- .@enchant = .@enchant3rd[0];
- else if (.@card3 == .@enchant2nd[1])
- .@enchant = .@enchant3rd[1];
- else if (.@card3 == .@enchant2nd[2])
- .@enchant = .@enchant3rd[2];
- else if (.@card3 == .@enchant2nd[3])
- .@enchant = .@enchant3rd[3];
- else if (.@card3 == .@enchant2nd[4])
- .@enchant = .@enchant3rd[4];
- else if (.@card3 == .@enchant2nd[5])
- .@enchant = .@enchant3rd[5];
- // 4th slot 4th try enchanting
- if (.@card3 == .@enchant3rd[0])
- .@enchant = .@enchant4th[0];
- else if (.@card3 == .@enchant3rd[1])
- .@enchant = .@enchant4th[1];
- else if (.@card3 == .@enchant3rd[2])
- .@enchant = .@enchant4th[2];
- else if (.@card3 == .@enchant3rd[3])
- .@enchant = .@enchant4th[3];
- else if (.@card3 == .@enchant3rd[4])
- .@enchant = .@enchant4th[4];
- else if (.@card3 == .@enchant3rd[5])
- .@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();
- if (select("Quit", "Effect Upgrade!") == 1) {
- mes("[Hugin's Magic Master]");
- mes("Ok, come back when you are ready.");
- 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();
- }
- if (.@random > .@scs) {
- mes("Arrggg, we failed. Better luck next time.");
- 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();
- }
- 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();
- }
- if (.@random > .@scs) {
- mes("Arrggg, we failed. Better luck next time.");
- specialeffect(EF_PHARMACY_FAIL, AREA, playerattached());
- delitem(Coagulated_Spell, .@cost);
- delequip(.@part);
- close();
- }
- 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();
-}
-
-// Socket NPC - Corrupted_Charm or Temporal_Crystal to add card slot
-// After the boots were slotted, you can still enchant, but slotting removes any enchants and refines applied before.
-// Item Used: Corrupted_Charm, Temporal_Crystal
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-glast_01,210,270,0 script Hugin's Craftsman 4_F_JOB_BLACKSMITH,{
- disable_items();
- if (MaxWeight - Weight < 1000) {
- mes("Your bag is too heavy. Reduce some weight and come back.");
- 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();
- mes("[Hugin's Craftsman]");
- mes("I can try putting a slot into your boots. But there is some ^FF0000risk of failing.^000000");
- 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();
- mes("[Hugin's Craftsman]");
- mes("But, it's possible to ^FF0000fail and break the item^000000. Is that ok?");
- 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();
- }
- .@part = EQI_SHOES;
- if (!getequipisequiped(.@part)) {
- mes("[Hugin's Craftsman]");
- mes("Are you sure you are wearing the item?");
- close();
- }
- .@equip_id = getequipid(.@part);
- switch (.@equip_id) {
- case Temporal_Str_Boots:
- case Temporal_Int_Boots:
- case Temporal_Agi_Boots:
- case Temporal_Vit_Boots:
- case Temporal_Dex_Boots:
- case Temporal_Luk_Boots:
- 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();
- if (select("Cancel", "I am ok with it!") == 1) {
- mes("[Hugin's Craftsman]");
- mes("Ok, come back anytime you want.");
- 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();
- if (select("Cancel", "I understand. Try to slot it.") == 1) {
- mes("[Hugin's Craftsman]");
- mes("Ok, come back anytime you want.");
- 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
- .@select = select("Cancel", "Temporal Crystal", "Contaminated Magic");
- switch (.@select) {
- case 1:
- mes("[Hugin's Craftsman]");
- mes("Come back anytime you want.");
- close();
- case 2:
- case 3:
- .@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();
- }
- }
- .@random = rand(1, 100);
- if (.@random > .@chance) {
- mes("[Hugin's Craftsman]");
- mes("Arrggg, we failed. Better luck next time.");
- 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);
- 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();
- 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();
- }
-}
-
-// Knight Cards
-// White Knight Card cost 70 red coagulated spells or 3000 blue coagulated spells
-// 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();
- mes("[White Knight]"); // custom
- if (MaxWeight - Weight < 1000) {
- mes("Your bag is too heavy. Reduce some weight and come back.");
- 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);
- .@select = select("Cancel", "^0000FFUse Coagulated Spell^000000", "^FF0000Use Contaminated Magic^000000");
- switch (.@select) {
- case 1:
- mes("[White Knight]");
- mes("Come back any time.");
- close();
- case 2:
- case 3:
- .@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();
- }
- delitem(.@item, .@cost);
- getitem(White_Knightage_Card, 1);
- close();
- }
-}
-
-glast_01,192,273,3 script Khalitzburg Knight#1a 4_F_KHALITZBURG,{
- disable_items();
- mes("[Khalitzburg Knight]"); // custom
- if (MaxWeight - Weight < 1000) {
- mes("Your bag is too heavy. Reduce some weight and come back.");
- 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);
- .@select = select("Cancel", "^0000FFUse Coagulated Spell^000000", "^FF0000Use Contaminated Magic^000000");
- switch (.@select) {
- case 1:
- mes("[Khalitzburg Knight]");
- mes("Come back any time.");
- close();
- case 2:
- case 3:
- .@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();
- }
- delitem(.@item, .@cost);
- getitem(Khali_Knightage_Card, 1);
- close();
- }
-}
diff --git a/npc/re/instances/WolfchevLaboratory.txt b/npc/re/instances/WolfchevLaboratory.txt
deleted file mode 100644
index 3bbb74ad1..000000000
--- a/npc/re/instances/WolfchevLaboratory.txt
+++ /dev/null
@@ -1,3274 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2014-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//=
-//= 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/>.
-//=========================================================================
-//= Wolfchev's Laboratory
-//================= Description ===========================================
-//= Defeat Wolfchev's human experimentations.
-//================= Current Version =======================================
-//= 1.0.2
-//=========================================================================
-
-//== Giacomo Girolam =======================================
-lighthalzen,303,303,6 script Giacomo Girolamo#kiup2 4_M_KHMAN,3,3,{
- if ((MaxWeight - Weight) < 1000 || !checkweight(Knife, 1)) {
- mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000";
- close;
- }
- if (lhz_boss > 30) {
- if (!lght_duk01) {
- if (Sex == SEX_MALE) {
- emotion e_pif, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "....a guy....?";
- next;
- mes "[Giacomo Girolamo]";
- mes "Ah! Hey! Man!";
- next;
- select("What's up?");
- emotion e_what, 1;
- mes "[Giacomo Girolamo]";
- mes "Have you ever heard of horrific human experimentation committed in Rekenber Corporation whose head office is here in Lighthalzen?";
- next;
- select("Whaaat?! human experimentation?");
- emotion e_omg, 1;
- mes "[Giacomo Girolamo]";
- mes "Yea! human experimentation!!";
- mes "There are a lot of rumors that horrible human experimentation is actually performed, but these people in the slum....don't want to believe that due to the welfare movement from Rekenber.";
- next;
- emotion e_swt2, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Well! and those rich people, seem to know something but they never mention that...";
- next;
- mes "[Giacomo Girolamo]";
- mes "Ahh!! And this is a secret that just SOME PEOPLE know. I heard that from Rekenber Lab.,.. a person named...um...Wol....";
- next;
- emotion e_hmm, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Anyway!! A scientist named Wolf.. something suddenly got sacked. and he must be related with this rumor, I think...";
- next;
- select("You mean... Wolfchev?");
- emotion e_gasp, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Ohhhh?! yeah Wolfchev!! That's right, the name was Wolfchev.. The mad scientist..";
- next;
- emotion e_ok, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "I suppose you can then understand the story faster... I am sure that he's involved in the rumor. I swear.";
- next;
- mes "[Giacomo Girolamo]";
- mes "By the way..what about you? Is there anything that you know about him?";
- next;
- if(select("Pretend you know nothing.", "Tell him what you know.") == 1) {
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "Not really. I've ever heard of his name, but I don't know anything about him..";
- next;
- mes "[Giacomo Girolamo]";
- mes "Hm.... You sound suspicious, dude! huh?";
- next;
- } else {
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "He happens to research into Human 'Homunculus' without telling that to Rekenber Corp., and there was a whistle-blower who reported to the corp. so he was fired.";
- next;
- emotion e_no1, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Oh! Man..! You seem to know pretty much! By any chance, are you concerned with Rekenber??";
- next;
- emotion e_dots;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "... .... ...";
- next;
- }
- emotion e_hmm, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Don't worry. I didn't mean anything.";
- next;
- mes "[Giacomo Girolamo]";
- mes "Well! I am just curious only because some people in the slum and some adventurers were missing,";
- mes "and I heard that Rekenber was doing human experimentation with those missing people. Hope you don't get me wrong.";
- next;
- lght_duk01 = 1;
- setquest 5109;
- mes "Actually, it is not a funny rumor.";
- mes "Should investigate the lab where the experiment was carried out.";
- close;
- } else {
- emotion e_lv, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Oh! What a beautiful lady!!";
- next;
- emotion e_what, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "How come a beauty is here, in a place with dangerous rumor?";
- next;
- switch(select("Walking..", "To hang out..", "Shopping..")) {
- case 1:
- mes "[Giacomo Girolamo]";
- mes "Ahh.. Lady, you are so graceful even when you are just walking.....";
- next;
- break;
- case 2:
- mes "[Giacomo Girolamo]";
- mes "Lady. You are a dignified lady even if you hang out in this poor town...";
- next;
- break;
- case 3:
- mes "[Giacomo Girolamo]";
- mes "Ahh.. Lady.. Shopping in the slum!!.. Are you a type who needs to look around every single shop?";
- next;
- break;
- }
- }
- select("... .... ... ....");
- mes "[Giacomo Girolamo]";
- mes "Well, how dare I ask you and be interested in what the lady does...";
- next;
- emotion e_ok, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "I just hope that the lady gets out of this town with dangerous rumors..";
- next;
- select("Dangerous rumors?");
- emotion e_what, 1;
- mes "[Giacomo Girolamo]";
- mes "Ah... Lady may not have heard of the rumor.";
- next;
- mes "[Giacomo Girolamo]";
- mes "Recently, some people from this town, actually from the slum...and some adventurers are missing...";
- next;
- mes "[Giacomo Girolamo]";
- mes "and then the rumor came up, since disappearance cases happen pretty often, that Rekenber is committing a horrible human experimentation in their secret lab.";
- next;
- select("Excuse me?! human experimentation?");
- emotion e_omg, 1;
- mes "[Giacomo Girolamo]";
- mes "Yea! human experimentation!!";
- mes "There are a lot of rumors that horrible human experimentation is actually performed, but these people in the slum....don't want to believe that due to the welfare movement from Rekenber.";
- next;
- mes "[Giacomo Girolamo]";
- mes "Well! the rich people either want to believe..I think.. Ah!! And couple of weeks ago. um. what's his name? Wolfchev??";
- next;
- mes "[Giacomo Girolamo]";
- mes "Anyway!! that research got fired from the lab. I think he must be involved with this rumor.";
- next;
- mes "[Giacomo Girolamo]";
- mes "So, please, lady. Please don't be in a place like this and stay in safe ways.";
- next;
- lght_duk01 = 1;
- setquest 5109;
- mes "............ It seems a pretty serious matter.";
- mes "Should investigate the lab where the experiment was carried out.";
- close;
- } else {
- mes "[Giacomo Girolamo]";
- if (Sex == SEX_MALE) {
- emotion e_paper, "Giacomo Girolamo#kiup2";
- mes "Take care yourself and don't disappear!";
- } else {
- emotion e_lv2, "Giacomo Girolamo#kiup2";
- mes "Be careful, Lady.";
- }
- close;
- }
- } else {
- if (Sex == SEX_MALE) {
- emotion e_ho, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Only those beautiful ladies are the reason of my life~!";
- mes "I, Giacomo Girolamo Casanova de Seingalt am never interested in guys like you though!!";
- next;
- emotion e_an, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "but I can listen to you...you wanna say anything to me?";
- next;
- switch(select("No..?", "About ladies..", "You Womanizer!!", "Envy you...", "What's the rumor lately?")) {
- case 1:
- emotion e_hmm, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Hey you, get out of my way then..";
- close;
- case 2:
- emotion e_an, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "I don't feel like talking about my precious ladies making fun of them. You do it with your friends.";
- close;
- case 3:
- mes "[Giacomo Girolamo]";
- mes "Hey.. Excuse me!!! but I'm not a 'Womanizer', I am just a person who adores ladies.";
- next;
- emotion e_ok, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Of course..... Yea... If I'm a womanizer, all the men on earth are too! I'm just Casanova. umhahahaha.";
- close;
- case 4:
- emotion e_what, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Haa.. Do you....? not have any woman but your sister and mother around you?";
- next;
- mes "[Giacomo Girolamo]";
- mes "... .... ...";
- next;
- emotion e_swt2, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Oh...... sorry.. I got your point....";
- close;
- case 5:
- mes "[Giacomo Girolamo]";
- mes "You.. are not like how you seem? Interesting..";
- next;
- mes "[Giacomo Girolamo]";
- mes "Yea, actually recently a lot of people from the slum and some wandering adventurers got disappeared. and I don't know why.";
- next;
- mes "[Giacomo Girolamo]";
- mes "You gotta be careful too..";
- close;
- }
- } else {
- emotion e_what, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Hey, lady?";
- next;
- mes "[Giacomo Girolamo]";
- switch(rand(1,10)) {
- case 1:
- mes "Wasn't it painful when you fell down from Heaven, my Angel?";
- next;
- break;
- case 2:
- mes "You must be tired. Because you are always wandering my mind.";
- next;
- break;
- case 3:
- mes "Are you not tired of walking around in my dream last night?";
- next;
- break;
- case 4:
- mes "Excuse me. But I think I lost my heart. Could you please borrow me yours?";
- next;
- break;
- case 5:
- mes "Do you believe in love at first sight?? Or can we start again..?";
- next;
- break;
- case 6:
- mes "I am so sorry but, can you kiss with a person who just met?? Noo? Ok then let me introduce myself.";
- next;
- break;
- case 7:
- mes "I'm so lost here since it's the first time. Can you let me know which is the way to your heart?";
- next;
- break;
- case 8:
- mes "Give me a map please.. To get a way....I'm fallen in your eyes.";
- next;
- break;
- case 9:
- mes "Your eyes....I wanna be forever there.";
- next;
- break;
- case 10:
- mes "I promise that I will be your everything in any case, in any difficult situation.";
- next;
- break;
- }
- emotion e_lv2, "Giacomo Girolamo#kiup2";
- mes "[Giacomo Girolamo]";
- mes "Today is the first day we met, but I love you, Lady <3 ";
- next;
- mes "[Giacomo Girolamo]";
- mes "And I am telling you this because I'm just worried about you. You need to get out of this town which is full of disappearance cases.";
- close;
- }
- }
-
- OnTouch:
- if (!lght_duk01)
- emotion (Sex == SEX_MALE? e_pif : e_lv2), "Giacomo Girolamo#kiup2";
- end;
-}
-
-//== Weird Old Man (Rewards) ===============================
-lighthalzen,342,291,4 script Weird old man#Bio4Reward 4_M_EINOLD,{
- if ((MaxWeight - Weight) < 2800 || !checkweight(Knife, 1)) {
- mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000";
- close;
- }
- mes "[Weird old man]";
- mes "Phew, those young people nowadays, are so rude and have no manners.";
- next;
- if(select("Ignore him", "Talk with him") == 1) {
- mes "[Weird old man]";
- mes "You, Very bad young man!";
- close;
- }
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "Sir, Are you alright??";
- next;
- mes "[Weird old man]";
- mes "....?? You are not like other young people. You have good manners! You know what happened to me..?";
- next;
- switch(rand(1,2)) {
- case 1:
- mes "[Weird old man]";
- mes "I was on the way to visit my son who lives in Rune Midgarts. It's really far away, so I took the airplane, and..";
- next;
- mes "[Weird old man]";
- mes "those young people...so noisy.... I was standing but non of them offered me a seat..and they were just talking in loud voices which bothered everyone.";
- next;
- mes "[Weird old man]";
- mes "I could lecture them if I were 10 years younger than now..";
- next;
- mes "[Weird old man]";
- mes "Pffff.. Never like the time passing....";
- next;
- mes "[Weird old man]";
- mes "So, you... what would you do??";
- next;
- mes "[Weird old man]";
- mes "In an open, public place, you are supposed to stay quiet to the destination and offer your seat to the elderly and the infirm.";
- next;
- break;
- case 2:
- mes "[Weird old man]";
- mes "I was on the way to visit my son who lives in Rune Midgarts. It's really far away, so I took the airplane, and..";
- next;
- mes "[Weird old man]";
- mes "those young people...so noisy.... I was standing but non of them offered me a seat..and they were just talking in loud voices which bothered everyone.";
- next;
- mes "[Weird old man]";
- mes "I could lecture them if I were 10 years younger than now..";
- next;
- mes "[Weird old man]";
- mes "Pffff.. Never like the time passing....";
- next;
- mes "[Weird old man]";
- mes "So, you... what would you do??";
- next;
- mes "[Weird old man]";
- mes "In an open, public place, you are supposed to stay quiet to the destination and offer your seat to the elderly and the infirm. Right?";
- next;
- mes "[Weird old man]";
- mes "Isn't that right?!";
- next;
- switch(rand(1,2)) {
- case 1:
- mes "[Weird old man]";
- mes "Oh, and then! you know what...?";
- next;
- mes "[Weird old man]";
- mes "Once I was walking in the town, and some boy were spitting on the street, and were bothering girls who were passing by...tut tut!";
- next;
- mes "[Weird old man]";
- mes "The world is going to the dogs.. How will it be?? It was even a day time when they were doing it..tut tut.";
- next;
- switch(rand(1,2)) {
- case 1:
- mes "[Weird old man]";
- mes "Oh, and then! you know what...?";
- next;
- break;
- case 2:
- mes "[Weird old man]";
- mes "Oh, and then! you know what...?";
- next;
- mes "[Weird old man]";
- mes "Lately young people are not so patient!!!!";
- next;
- mes "[Weird old man]";
- mes "That often, they say they will quit.. they say they can't more. How will they live all the lift with that kind of mentality..tut tut.";
- next;
- mes "[Weird old man]";
- mes "It's not easy to find a job, it is very difficult to be hired. But then they even cannot stand a week there, and leave the work already.";
- next;
- mes "[Weird old man]";
- mes "How impatient and irresponsible!!";
- next;
- mes "[Weird old man]";
- mes "Oh, and then! you know what...?";
- next;
- break;
- }
- case 2:
- mes "[Weird old man]";
- mes "Oh, and then! you know what...?";
- next;
- break;
- }
- }
- mes "^E7A43DThe old man talked over and over again.^000000";
- next;
- mes "[Weird old man]";
- mes "Hm......You are not like common young people, you seem pretty patient too. I like that!!!";
- next;
- mes "[Weird old man]";
- mes "Now I am just an old, weak man but when I was young, I was a famous merchant in the town.";
- next;
- mes "[Weird old man]";
- mes "It's been a while since I stopped the business,";
- mes "but a former client of mine contacted me and asked me";
- next;
- mes "[Weird old man]";
- mes "If I could get him some unknown objects named 'Will of Warrior', 'Thirst for Blood', 'Chill of the Dead'.";
- next;
- mes "[Weird old man]";
- mes "I liked your politeness which is not like most of young people, so if you get me those, I will dare to give you some stuffs that I consider as my treasures.";
- next;
- while(1) {
- switch(select("When I gather them, I will come back", "Show me the armors", "Show me the weapons")) {
- case 1:
- mes "[Weird old man]";
- mes "OK, young man. See you later";
- close;
- case 2:
- mes "[Weird old man]";
- mes "So, you are interested in armors.";
- next;
- mes "[Weird old man]";
- mes "These are the armors I have.";
- next;
- for(.@i = 1; .@i < 8; .@i++) {
- if(((.@i == 1 || .@i == 5) && (countitem(Will_Of_Warrior) >= 100) && (countitem(Blood_Thirst) >= 50) && (countitem(Goast_Chill) >= 35)) ||
- ((.@i == 2 || .@i == 3) && (countitem(Will_Of_Warrior) >= 100) && (countitem(Blood_Thirst) >= 50) && (countitem(Goast_Chill) >= 22)) ||
- ((.@i == 4 || .@i == 7) && (countitem(Will_Of_Warrior) >= 300) && (countitem(Blood_Thirst) >= 300) && (countitem(Goast_Chill) >= 400)) ||
- ((.@i == 6) && (countitem(Will_Of_Warrior) >= 100) && (countitem(Blood_Thirst) >= 50) && (countitem(Goast_Chill) >= 30))) {
- .@armor$[.@i] = "^0000FF";
- } else {
- .@armor$[.@i] = "^FF0000";
- }
- }
- while(1) {
- switch(select(
- "Show me other items.",
- ""+.@armor$[1]+"Giant Shield^000000",
- ""+.@armor$[2]+"Ancient Book of Geffenia-Water^000000",
- ""+.@armor$[3]+"Bible of Promise(2nd Vol.)^000000",
- ""+.@armor$[4]+"Salvage Cape^000000",
- ""+.@armor$[5]+"Assassin's Handcuffs^000000",
- ""+.@armor$[6]+"Green Operating Gown^000000",
- ""+.@armor$[7]+"Ancient Gold Decoration^000000"
- )) {
- case 1:
- mes "[Weird old man]";
- mes "Have a look.";
- next;
- .@break = 1;
- break;
- case 2:
- mes "<<Giant Shield[1]>>";
- mes "Decrease 5% of Damage from Large Monsters, if Refine Lv is 9, decrease 5% more of the Damage.";
- mes "Shield / Def 130 / Weight 280 / Required Lv 100 / Socket 1 / for 3rd Swordman Classes";
- callsub L_Reward, Giant_Shield, 100, 50, 35;
- break;
- case 3:
- mes "<<Ancient Book of Geffenia-Water[1]>>";
- mes "INT + 1, MDEF + 2. If Original INT point is 120, MATK + 10, MHP + 800.";
- mes "When equipping with Lacryma Stick, the casting % from Storm Gust, Frost Misty and Jack frost will discount equivalent to 4 times Refine Lv.";
- mes "Shield / Def 30 / Weight 100 / Required Lv 100 / Socket 1 / for Warlock";
- callsub L_Reward, Geffenia_Book_Water, 100, 50, 22;
- break;
- case 4:
- mes "<<Bible of Promise(2nd Vol.)[1]>>";
- mes "MDEF + 5, Allow to use 'Odin's Power'(Lv 2). Increase 5% more for Heal skill.";
- mes "Shield / Def 20 / Weight 50 / Required Lv 140 / Socket 1 / for Archbishop";
- callsub L_Reward, Bible_Of_Promise2, 100, 50, 22;
- break;
- case 5:
- mes "<<Salvage Cape[0]>>";
- mes "Allow to use 'Cicada Skin Shed'(Lv 1). Cool time for this skill will be 30 seconds. When equiping it, SP consumption for using any skill will be doubled, When taking it off, SP - 1200.";
- mes "Garment / Def 1 / Weight 40 / Required Lv 130 / Socket 0 / for Archbishop";
- callsub L_Reward, Salvage_Cape, 300, 300, 400;
- break;
- case 6:
- mes "<<Assassin's Handcuffs[1]>>";
- mes "MSP + 20, CRI + 3. When equipping with Krishna, ATK + 50, ATK power from 'Sonic Blow' 50% increased, FLEE - 30. When equipping with Cakram CRI + 4, Critical ATK power 40% increased, MHP - 10%.";
- mes "Accessory / Def 3 / Weight 40 / Required Lv 100 / Socket 1 / for Guillotine Cross";
- callsub L_Reward, Assassin_Handcuffs, 100, 50, 35;
- break;
- case 7:
- mes "<<Green Operating Gown[1]>>";
- mes "DEX + 1, MSP + 30. Equipping with Scalpel will let to drop 'Immortal Heart', 'Alcohol' with a certain chance when hunting Human, Animal type monsters. Refine Lv affects the drop rate.";
- mes "Armor / Def 66 / Weight 66 / Required Lv 100 / Socket 1 / for Generic";
- callsub L_Reward, Green_Operation_Coat, 100, 50, 30;
- break;
- case 8:
- mes "<<Ancient Gold Decoration>>";
- mes "If the base Lv is 150, All State + 2. for Swordman, Merchant, Thief classes ATK + 8%, for Magician, Acolyte classes MATK + 8%, Heal Power + 7%, for Archer classes DEX + 3, Long Distance ATK power + 10%.";
- mes "Helm / Def 7 / Location - Upper / Weight 40 / Required Lv 100 / Socket 1 / for 3rd Job Classes ";
- callsub L_Reward, Ancient_Gold_Deco, 300, 300, 400;
- break;
- }
- if(.@break)
- break;
- }
- case 3:
- mes "[Weird old man]";
- mes "So, you are interested in weapons.";
- next;
- mes "[Weird old man]";
- mes "These are the weapons I've got.";
- next;
- for(.@i = 1; .@i < 15; .@i++) {
- if(((.@i == 1) && (countitem(Will_Of_Warrior) >= 50) && (countitem(Blood_Thirst) >= 100) &&
- (countitem(Goast_Chill) >= 10)) ||
- ((.@i == 2) && (countitem(Will_Of_Warrior) >= 50) && (countitem(Blood_Thirst) >= 100) &&
- (countitem(Goast_Chill) >= 85)) ||
- ((.@i == 3 || .@i == 4 || (.@i >= 8 && .@i < 11) || .@i >= 12) && (countitem(Will_Of_Warrior) >= 50) &&
- (countitem(Blood_Thirst) >= 100) && (countitem(Goast_Chill) >= 35)) ||
- ((.@i == 5 || .@i == 7 || .@i == 11) && (countitem(Will_Of_Warrior) >= 50) && (countitem(Blood_Thirst) >= 100)
- && (countitem(Goast_Chill) >= 40)) ||
- ((.@i == 6) && (countitem(Will_Of_Warrior) >= 300) && (countitem(Blood_Thirst) >= 300) &&
- (countitem(Goast_Chill) >= 400))) {
- .@weapon$[.@i] = "^0000FF";
- } else {
- .@weapon$[.@i] = "^FF0000";
- }
- }
- while(1) {
- switch(select(
- "Show me other items.",
- ""+.@weapon$[1]+"Agent Katar^000000",
- ""+.@weapon$[2]+"Guillotine Katar^000000",
- ""+.@weapon$[3]+"Ygnus Stale^000000",
- ""+.@weapon$[4]+"End Sektura^000000",
- ""+.@weapon$[5]+"Cannon Spear^000000",
- ""+.@weapon$[6]+"Giant Lance^000000",
- ""+.@weapon$[7]+"Chilly Spell Book^000000",
- ""+.@weapon$[8]+"Recovery Light^000000",
- ""+.@weapon$[9]+"Aztoe Nail^000000",
- ""+.@weapon$[10]+"Scarletto Nail^000000",
- ""+.@weapon$[11]+"Bloody Cross^000000",
- ""+.@weapon$[12]+"Catapult^000000",
- ""+.@weapon$[13]+"Big CrossBow^000000",
- ""+.@weapon$[14]+"Creeper Bow^000000"
- )) {
- case 1:
- mes "[Weird old man]";
- mes "Have a look.";
- next;
- .@break = 1;
- break;
- case 2:
- mes "<<Agent Katar[1]>>";
- mes "Every 2 Original LUK points gets additional 1 HIT point";
- mes "Katar / ATK 170 / Weight 120 / Weapon Lv 3 / Required Lv 100 / Socket 1 / for Guillotine Cross";
- callsub L_Reward, Agent_Katar, 50, 100, 10;
- break;
- case 3:
- mes "<<Guillotine Katar[1]>>";
- mes "DEX + 2. FLEE - 30. 50% more damage to Human monsters. Add 30% more damage for Cross Impact skill.";
- mes "Katar / ATK 200 / Weight 150 / Weapon Lv 4 / Required Lv 140 / Socket 1 / for Guillotine Cross";
- callsub L_Reward, Guillotine_Katar, 50, 100, 85;
- break;
- case 4:
- mes "<<Ygnus Stale[1]>>";
- mes "When doing short distance attack, Chance of inflicting o rreceiving Burn status when dealing physical damage.";
- mes "Two-Handed Axe / ATK 250 / Weight 190 / Fire Property / Weapon Lv 4 / Required Lv 95 / Socket 1 / for High Swordman/Merchant Classes";
- callsub L_Reward, Ygnus_Stale, 50, 100, 35;
- break;
- case 5:
- mes "<<End Sektura[1]>>";
- mes "When doing short distance attack, cast Freezing to the player and to the enemy with a certain chance.";
- mes "Two-Handed Axe / ATK 250 / Weight 190 / Water Property / Weapon Lv 4 / Required Lv 95 / Socket 1 / for High Swordman/Merchant Classes";
- callsub L_Reward, End_Sektura, 50, 100, 35;
- break;
- case 6:
- mes "<<Cannon Spear[1]>>";
- mes "MSP - 100, Increases 10% of Damage impacted with Cannon Spear, Additional ATK power of Cannon Spear equivalent to 3 times Refine Lv.";
- mes "One-Handed Spear / ATK 180 / Weight 160 / Weapon Lv 4 / Required Lv 100 / Socket 1 / for Royal Guard";
- callsub L_Reward, Cannon_Spear, 50, 100, 40;
- break;
- case 7:
- mes "<<Giant Lance[0]>>";
- mes "ASPD - 10, When it's taken off, the character gets SP - 600. 20 more seconds of Delay time exists before using back the Clashing Spiral. If the original STR points are 120, + ATK 300.";
- mes "Two-Handed Lance / ATK 20 / Weight 2000 / Weapon Lv 4 / Required Lv 140 / Socket 0 / for Rune Knight";
- callsub L_Reward, Giant_Lance, 300, 300, 400;
- break;
- case 8:
- mes "<<Chilly Spell Book[2]>>";
- mes "MATK + 160, DEX + 1. Increases ATK % of Cold Bolt, Diamond Dust equivalent to 3 times Refine Lv, also SP consumption from those skills increased equivalent to 5 times Refine Lv. Undestroyable.";
- mes "Book / ATK 100 / Weight 100 / Water Property / Weapon Lv 4 / Required Lv 100 / Socket 2 / for Sorcerer";
- callsub L_Reward, Chilly_Spell_Book, 50, 100, 40;
- break;
- case 9:
- mes "<<Recovery Light[1]>>";
- mes "MATK + 160. Depending on its Refine Lv, Heal Ability and SP consumption for the skill increased. Indestructible.";
- mes "One-Handed Staff / ATK 30 / Weight 40 / Saint Property / Weapon Lv 4 / Required Lv 110 / Socket 1 / for Archbishop.";
- callsub L_Reward, Recovery_Light, 50, 100, 35;
- break;
- case 10:
- mes "<<Aztoe Nail[0]>>";
- mes "MATK + 80. For Physical Melee Attack, cast Freezing to the target with a certain chance. The chance is affected by Refine Lv.";
- mes "Dagger / ATK 160 / Weight 50 / Wind Property / Weapon Lv 4 / Required Lv 110 / Socket 0 / for High Swordman/Merchant/Theif Classes";
- callsub L_Reward, Aztoe_Nail, 50, 100, 35;
- break;
- case 11:
- mes "<<Scarletto Nail[0]>>";
- mes "MATK + 80. For Physical Melee Attack, cast Stone curse to the target with a certain chance. The chance is affected by Refine Lv.";
- mes "Dagger / ATK 160 / Weight 50 / Fire Property / Weapon Lv 4 / Required Lv 110 / Socket 0 / for High Swordman/Merchant/Theif Classes";
- callsub L_Reward, Scarletto_Nail, 50, 100, 35;
- break;
- case 12:
- mes "<<Bloody Cross[0]>>";
- mes "For Physical Melee Attack, autocast 'Hell Inferno'(Lv 1) with a certain chance. The chance is affected by Refine Lv.";
- mes "Mace / ATK 170 / Weight 150 / Darkness Property / Weapon Lv 4 / Required Lv 100 / Socket 0 / for High Acolyte Classes";
- callsub L_Reward, Bloody_Cross, 50, 100, 40;
- break;
- case 13:
- mes "<<Catapult[2]>>";
- mes "Increases ATK % of 'Triangle Shot' equivalent to 2 times Refine Lv, Also SP consumption from the skill increased.";
- mes "Bow / ATK 150 / Weight 110 / Weapon Lv 4 / Required Lv 100 / Socket 2 / for Shadow Chaser";
- callsub L_Reward, Catapult, 50, 100, 35;
- break;
- case 14:
- mes "<<Big CrossBow[2]>>";
- mes "Increases ATK % of 'Arrow Storm' equivalent to 5 times Refine Lv. Also SP consumption from the skill increased, If the Original AGI points are 120, ASPD + 1.";
- mes "Bow / ATK 160 / Weight 90 / Weapon Lv 4 / Required Lv 110 / Socket 2 / for Ranger";
- callsub L_Reward, Big_CrossBow, 50, 100, 35;
- break;
- case 15:
- mes "<<Creeper Bow[2]>>";
- mes "DEX + 1, For Physical Attack, auto-cast 'Fiber Lock'(Lv 1) with a certain chance.";
- mes "Bow / ATK 150 / Weight 150 / Weapon Lv 3 / Required Lv 120 / Socket 2 / for 3rd Archer Classes";
- callsub L_Reward, Creeper_Bow, 50, 100, 35;
- break;
- }
- if(.@break)
- break;
- }
- }
- }
-
- L_Reward:
- next;
- mes ""+getarg(1)+" Will of Warrior, "+getarg(2)+" Thirst for Blood, "+getarg(3)+" Chill of the Dead are needed for the exchange";
- next;
- if(countitem(Will_Of_Warrior) >= getarg(1) && countitem(Blood_Thirst) >= getarg(2) && countitem(Goast_Chill) >= getarg(3)) {
- if(select("Don't exchange", "Exchange") == 1) {
- mes "[Weird old man]";
- mes "Okay..";
- close;
- }
- emotion e_swt2, "Weird old man#Bio4Reward";
- progressbar "FF00FF", 2;
- delitem Will_Of_Warrior, getarg(1);
- delitem Blood_Thirst, getarg(2);
- delitem Goast_Chill, getarg(3);
- getitem getarg(0), 1;
- mes "[Weird old man]";
- mes "There you go. Visit me sometimes and we could talk.";
- close;
- }
- return;
-}
-
-//== Sorcerer (Rewards) ====================================
-lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
- if ((MaxWeight - Weight) < 1200 || !checkweight(Knife, 1)) {
- mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000";
- close;
- }
- disable_items;
- mes "[Pudding]";
- mes "... .... ...";
- next;
- switch(select("Umba umba humbaa", "What are you doing here?", "Which are the equipments found so far?", "Here you are, Sir.")) {
- case 1:
- emotion e_an;
- mes "[Pudding]";
- mes "Hey, excuse me, but I'm not from Umbala! You are so rude.";
- close2;
- enable_items;
- end;
- case 2:
- mes "[Pudding]";
- mes "As you can see, I'm a training Sorcerer, and my name is Pudding.";
- next;
- select("....?");
- emotion e_an;
- mes "[Pudding]";
- mes "... What's that face? I'm starting to feel unpleasant..";
- next;
- emotion e_ok;
- mes "[Pudding]";
- mes "Couple of days ago, while I was undergoing discipline, I felt a strange, bizzare tinge. So I followed that and it brought me here.";
- next;
- select("I see.");
- mes "[Pudding]";
- mes "OK, let me continue. I am so bothered if you disturb me while I'm talking.";
- next;
- mes "[Pudding]";
- mes "And I entered to the laboratory here in order to investigate, and oh gosh! I found those monsters which were like doppelgangers from 'Geffen Dungeon'. It was full of them.";
- next;
- mes "[Pudding]";
- mes "From those monsters, I could find rare items like '^F2766EWill of Warrior^000000' '^952420Thirst for Blood^000000' '^88C6F7Chill of the Dead^000000' which you cannot find from any other place.";
- next;
- emotion e_what, "Sorcerer#Bio4Reward";
- mes "[Pudding]";
- mes "And after many hours of research on my own, I finally figured out a way to use those items. Do you wanna know?";
- next;
- switch(select("Oh....pardon?!", "Of course, I really wanna know.")) {
- case 1:
- emotion e_omg, 1;
- emotion e_an, "Sorcerer#Bio4Reward";
- mes "[Pudding]";
- mes "Oh my! You fell asleep after you asked me something? Well, anyway I feel lazy to explain again so I will just continue.";
- next;
- break;
- case 2:
- emotion e_heh, "Sorcerer#Bio4Reward";
- mes "[Pudding]";
- mes "Good, I am content that you are listening to my story carefully. Then I will keep explaining.";
- next;
- break;
- }
- mes "[Pudding]";
- mes "Those '^F2766EWill of Warrior^000000' and '^952420Thirst for Blood^000000'..... are aggresive but warm materials.";
- next;
- mes "[Pudding]";
- mes "So '^F2766EWill of Warrior^000000' can dwell a special power to the 4th slot of an equipment,";
- next;
- mes "[Pudding]";
- mes "and '^952420Thirst for Blood^000000' can dwell a special power to the 3rd slot.";
- next;
- mes "[Pudding]";
- mes "Whereas!!!";
- mes "'^88C6F7Chill of the Dead^000000' is a cold type material.";
- mes "which allows to return the power from '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000' so it let the equipment to be 'ZERO'.";
- next;
- mes "[Pudding]";
- mes "What do you say? Doesn't it sound interesting? But, there's a problem...";
- next;
- mes "[Pudding]";
- mes "Since those materials can only be found from the monsters in the Lab., the special power also can be dwelt into certain equipments which can be obtained from the Lab.";
- next;
- select("So what's the conclusion?");
- emotion e_what, 1;
- emotion e_an;
- mes "[Pudding]";
- mes "Gee.. I told you not to cut while I talk, didn't I? Well, I will answer that becuase that's important.";
- next;
- mes "[Pudding]";
- mes "If you bring me 10 '^F2766EWill of Warrior^000000' or 10 '^952420Thirst for Blood^000000', I will dwell some power to certain equipments that you can find in the Lab..";
- next;
- mes "[Pudding]";
- mes "And if you are not satisfied with the power you got, bring me 10 '^88C6F7Chill of the Dead^000000', and I will take off that power.";
- next;
- mes "[Pudding]";
- mes "WHat do you say? Having both options.....quite nice, huh?";
- next;
- mes "[Pudding]";
- mes "If you obtain '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000', and obtain also equipment which is capable to accept their power, bring them to me. I will be waiting.";
- close2;
- enable_items;
- end;
- case 3:
- mes "[Pudding]";
- mes "Hm.... Equipment which are discovered so far are....";
- next;
- mes "- checking -";
- mes "Pudding takes some paper out from a pocket.";
- next;
- mes "[Pudding]";
- mes "Let me see.. the equipments discovered until now are....";
- mes "6 Armors, 14 Weapons.";
- next;
- while(1) {
- switch(select("Ok, I don't have to know more.", "6 Armors", "14 Weapons")) {
- case 1:
- mes "[Pudding]";
- mes "If you obtain '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000', and obtain also equipment which is capable to accept their power, bring them to me. I will be waiting.";
- close2;
- enable_items;
- end;
- case 2:
- mes "< Armor List >";
- mes "Giant Shield[1]";
- mes "Acient Book of Geffenia-Water[1]";
- mes "Bible of Promise(2nd Vol.)[1]";
- mes "Salvage Cape[0]";
- mes "Assassin's Handcuffs[1]";
- mes "Green Operating Gown[1]";
- mes "Ancient Gold Decoration[1]";
- next;
- mes "[Pudding]";
- mes "So far these are the Armors discovered. Do you wanna see other things?";
- next;
- break;
- case 3:
- mes "< Weapon List >";
- mes "Agent Katar[1]";
- mes "Guillotine Katar[1]";
- mes "Ygnus Stale[1]";
- mes "End Sektura[1]";
- mes "Cannon Spear[1]";
- mes "Giant Lance[0]";
- mes "Chilly Spell Book[2]";
- mes "Recovery Light[1]";
- mes "Aztoe Nail[0]";
- mes "Scarletto Nail[0]";
- mes "Bloody Cross[0]";
- mes "Catapult[2]";
- mes "Big CrossBow[2]";
- mes "Creeper Bow[2]";
- next;
- mes "[Pudding]";
- mes "So far these are the Weapons discovered. Do you wanna see other things?";
- next;
- break;
- }
- }
- case 4:
- emotion e_flash;
- mes "[Pudding]";
- mes "Ohhhhh Have you brought them?";
- next;
- break;
- }
- mes "[Pudding]";
- mes "OKAY! In which equipment you want to dwell the power?";
- next;
- setarray .@parts[0], EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_TOP;
- for(.@i = 0; .@i < 7; .@i++) {
- if(!getequipisequiped(.@parts[.@i])) {
- switch(.@i) {
- case 0:
- .@equipped$[.@i] = "^999999Armor-[Not equipped]^000000";
- break;
- case 1:
- .@equipped$[.@i] = "^999999Left Hand-[Not equipped]^000000";
- break;
- case 2:
- .@equipped$[.@i] = "^999999Right Hand-[Not equipped]^000000";
- break;
- case 3:
- .@equipped$[.@i] = "^999999Garment-[Not equipped]^000000";
- break;
- case 4:
- .@equipped$[.@i] = "^999999Accessory-[Not equipped]^000000";
- break;
- case 5:
- .@equipped$[.@i] = "^999999Accessory-[Not equipped]^000000";
- break;
- case 6:
- .@equipped$[.@i] = "^999999Helm-[Not equipped]^000000";
- break;
- }
- } else {
- .@equipped$[.@i] = getequipname(.@parts[.@i]);
- }
- }
- switch(select("I changed my mind.", .@equipped$[0], .@equipped$[1], .@equipped$[2], .@equipped$[3], .@equipped$[4],
- .@equipped$[5], .@equipped$[6])) {
- case 1:
- mes "[Pudding]";
- mes "Well, I was looking forward to doing it, but I cannot help then.";
- close2;
- enable_items;
- end;
- case 2:
- if(!getequipisequiped(EQI_ARMOR)) {
- mes "[Pudding]";
- mes "Hey..Where is the armor?";
- close2;
- enable_items;
- end;
- }
- .@position = EQI_ARMOR;
- break;
- case 3:
- if(!getequipisequiped(EQI_HAND_L)) {
- mes "[Pudding]";
- mes "Well.. You are not equipping anything on the left hand.";
- close2;
- enable_items;
- end;
- }
- .@position = EQI_HAND_L;
- break;
- case 4:
- if(!getequipisequiped(EQI_HAND_R)) {
- mes "[Pudding]";
- mes "Well.. You are not equipping anything on the right hand.";
- close2;
- enable_items;
- end;
- }
- .@position = EQI_HAND_R;
- break;
- case 5:
- if(!getequipisequiped(EQI_GARMENT)) {
- mes "[Pudding]";
- mes "Um.... Where's your robe?";
- close2;
- enable_items;
- end;
- }
- .@position = EQI_GARMENT;
- break;
- case 6:
- if(!getequipisequiped(EQI_ACC_L)) {
- mes "[Pudding]";
- mes ".....Where's the accessory?";
- close2;
- enable_items;
- end;
- }
- .@position = EQI_ACC_L;
- break;
- case 7:
- if(!getequipisequiped(EQI_ACC_R)) {
- mes "[Pudding]";
- mes ".....Where's the accessory?";
- close2;
- enable_items;
- end;
- }
- .@position = EQI_ACC_R;
- break;
- case 8:
- if(!getequipisequiped(EQI_HEAD_TOP)) {
- mes "[Pudding]";
- mes "Hey.. Are you not wearing any Helm?";
- close2;
- enable_items;
- end;
- }
- .@position = EQI_HEAD_TOP;
- break;
- }
- .@refine_count = getequiprefinerycnt(.@position);
- .@equip_item = getequipid(.@position);
- .@lhz_max_num = 4000;
- if(.@equip_item == Agent_Katar || .@equip_item == Guillotine_Katar || .@equip_item == Ygnus_Stale ||
- .@equip_item == End_Sektura || .@equip_item == Cannon_Spear || .@equip_item == Giant_Lance ||
- .@equip_item == Aztoe_Nail || .@equip_item == Scarletto_Nail || .@equip_item == Bloody_Cross) {
- .@type = 1;
- if(.@equip_item == Giant_Lance)
- .@lhz_max_num = 4200;
- } else if (.@equip_item == Catapult || .@equip_item == Big_CrossBow || .@equip_item == Creeper_Bow) {
- .@type = 2;
- } else if (.@equip_item == Chilly_Spell_Book || .@equip_item == Recovery_Light) {
- .@type = 3;
- } else if (.@equip_item== Giant_Shield || .@equip_item == Geffenia_Book_Water || .@equip_item == Bible_Of_Promise2 ||
- .@equip_item == Salvage_Cape || .@equip_item == Assassin_Handcuffs || .@equip_item == Green_Operation_Coat ||
- .@equip_item == Ancient_Gold_Deco) {
- .@type = 4;
- if(.@equip_item == Salvage_Cape || .@equip_item == Ancient_Gold_Deco)
- .@lhz_max_num = 4200;
- } else {
- mes "[Pudding]";
- mes "Before! I need to check if this equipment can accept the power.";
- next;
- specialeffect(EF_SPHERE, AREA, playerattached());
- progressbar "ffff00", 2;
- 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'.";
- close2;
- enable_items;
- end;
- }
- emotion e_ho;
- mes "[Pudding]";
- mes "OHHH.. This equipment could accept the power of '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000'.";
- next;
- if (countitem(Will_Of_Warrior) >= 10)
- .@menu_in$[1] = "Dwell the power of '^F2766EWill of Warrior^000000'";
- else
- .@menu_in$[1] = "Not enough ^999999'Will of Warrior'^000000";
-
- if (countitem(Blood_Thirst) >= 10)
- .@menu_in$[2] = "Dwell the power of '^952420Thirst for Blood^000000'";
- else
- .@menu_in$[2] = "Not enough ^999999'Thirst for Blood'^000000";
-
- if (countitem(Goast_Chill) >= 10)
- .@menu_in$[3] = "Consume the '^88C6F7Chill of the Dead^000000'";
- else
- .@menu_in$[3] = "Not enough ^999999'Chill of the Dead'^000000";
- mes "[Pudding]";
- mes "OK! Which power do you want to dwell in your equipment?";
- next;
- switch(select("I say no! I don't need that!!", .@menu_in$[1], .@menu_in$[2], .@menu_in$[3])) {
- case 1:
- mes "[Pudding]";
- mes "Ohhh.. I was looking forward to doing it, but it's all up to you......";
- close2;
- enable_items;
- end;
- case 2:
- if (countitem(Will_Of_Warrior) < 10) {
- mes "[Pudding]";
- mes "Not enough '^F2766EWill of Warrior^000000', You need to bring 10 '^F2766EWill of Warrior^000000'";
- close2;
- enable_items;
- end;
- }
- else if (getequipcardid(.@position, 3) > 0) {
- mes "[Pudding]";
- mes "This equipment already got the power of '^F2766EWill of Warrior^000000'.";
- close2;
- enable_items;
- end;
- } else {
- .@socket_type = 4;
- }
- break;
- case 3:
- if (countitem(Blood_Thirst) < 10) {
- mes "[Pudding]";
- mes "Not enough '^952420Thirst for Blood^000000', You need to bring 10 '^952420Thirst for Blood^000000'";
- close2;
- enable_items;
- end;
- }
- else if (getequipcardid(.@position, 2) > 0) {
- mes "[Pudding]";
- mes "This equipment already got the power of '^952420Thirst for Blood^000000'.";
- close2;
- enable_items;
- end;
- } else {
- .@socket_type = 3;
- }
- break;
- case 4:
- //---------- Enchant Removal Script ----------//
- if (countitem(Goast_Chill) < 10) {
- .@menu_clear$[1] = "^999999Not enough 'Chill of the Dead'^000000";
- .@menu_clear$[2] = "^999999Not enough 'Chill of the Dead'^000000";
- .@4thzptsodyd = 1;
- .@3thzptsodyd = 1;
- } else {
- if (getequipcardid(.@position, 3) > 0) {
- .@menu_clear$[1] = "Remove the power of '^F2766EWill of Warrior^000000'";
- } else {
- .@menu_clear$[1] = "^999999There's no power to remove^000000";
- .@4thzptsodyd = 1;
- }
- if (getequipcardid(.@position, 2) > 0) {
- .@menu_clear$[2] = "Remove the power of '^952420Thirst for Blood^000000'";
- } else {
- .@menu_clear$[2] = "^999999There's no power to remove^000000";
- .@3thzptsodyd = 1;
- }
- }
- mes "[Pudding]";
- mes "Alright, which power do you want to remove?";
- next;
- .@menu = select("No, I don't wannna remove any.", .@menu_clear$[1], .@menu_clear$[2]);
- switch(.@menu){
- case 1:
- mes "[Pudding]";
- mes "Really? Ok. I got it..";
- close2;
- enable_items;
- end;
- case 2:
- case 3:
- if (countitem(Goast_Chill) < 10) {
- mes "[Pudding]";
- mes "Not enough '^88C6F7Chill of the Dead^000000', You need to bring 10 '^88C6F7Chill of the Dead^000000'";
- close2;
- enable_items;
- end;
- }
- if ( (.@menu==3 && .@3thzptsodyd == 1) || (.@menu==2 && .@4thzptsodyd == 1) ) {
- mes "[Pudding]";
- mes "This equipment didn't get any special power.";
- close2;
- enable_items;
- end;
- }
- setarray .@equip_card[0], getequipcardid(.@position,0), getequipcardid(.@position,1), getequipcardid(.@position,2), getequipcardid(.@position,3);
- if (.@menu==2){ .@equip_card[3] = 0; }
- else { .@equip_card[2] = 0; }
- .@equip_item = getequipid(.@position);
- specialeffect(EF_BEGINSPELL2, AREA, getnpcid("Sorcerer#Bio4Reward"));
- progressbar "ffff00", 2;
- 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];
- mes "[Pudding]";
- if(.@menu==3)
- mes "The power of '^952420Thirst for Blood^000000' has been perfectly removed.";
- else
- mes "The power of '^F2766EWill of Warrior^000000' has been perfectly removed.";
- close2;
- enable_items;
- end;
- }
- }
- mes "[Pudding]";
- mes "Before I dwell the power, let me explain to you cautions.";
- next;
- mes "[Pudding]";
- mes "While dwelling the power of '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000', the equipment would be not capable to accept that and will be destryed..";
- next;
- mes "[Pudding]";
- mes "^9D2628If the equipment is destroyed, you will also lose the cards you inserted in it, and the refine Lv will be removed too.^000000";
- next;
- mes "[Pudding]";
- mes "Alright. will you really wish to dwell the power into the equipment?";
- next;
- if(select("Wait, I will think again.", "Sure, carry on.") == 1) {
- mes "[Pudding]";
- mes "OK. I will be hoping to see you again.";
- close2;
- enable_items;
- end;
- }
- mes "[Pudding]";
- mes "I wish you made a correct decision...";
- next;
- if(.@socket_type >= 3) {
- switch(.@type){
- case 1:
- // Short Distance
- .@i = rand(1, .@lhz_max_num);
- if (.@i < 401) .@enchant = Strength1;
- else if (.@i < 441) .@enchant = Strength2;
- else if (.@i < 445) .@enchant = Strength3;
- else if (.@i < 845) .@enchant = Agility1;
- else if (.@i < 885) .@enchant = Agility2;
- else if (.@i < 889) .@enchant = Agility3;
- else if (.@i < 1289) .@enchant = Vitality1;
- else if (.@i < 1329) .@enchant = Vitality2;
- else if (.@i < 1333) .@enchant = Vitality3;
- else if (.@i < 1523) .@enchant = Inteligence1;
- else if (.@i < 1542) .@enchant = Inteligence2;
- else if (.@i < 1544) .@enchant = Inteligence3;
- else if (.@i < 1844) .@enchant = Dexterity1;
- else if (.@i < 1874) .@enchant = Dexterity2;
- else if (.@i < 1877) .@enchant = Dexterity3;
- else if (.@i < 2067) .@enchant = Luck1;
- else if (.@i < 2086) .@enchant = Luck2;
- else if (.@i < 2088) .@enchant = Luck3;
- else if (.@i < 2491) .@enchant = 0;
- else if (.@i < 2891) .@enchant = Fighting_Spirit1;
- else if (.@i < 2931) .@enchant = Fighting_Spirit2;
- else if (.@i < 2935) .@enchant = Fighting_Spirit3;
- else if (.@i < 3125) .@enchant = Spell1;
- else if (.@i < 3144) .@enchant = Spell2;
- else if (.@i < 3146) .@enchant = Spell3;
- else if (.@i < 3148) .@enchant = Atk_Speed1;
- else if (.@i < 3348) .@enchant = Sharp1;
- else if (.@i < 3368) .@enchant = Sharp2;
- else if (.@i < 3370) .@enchant = Sharp3;
- else if (.@i < 3560) .@enchant = Expert_Archer1;
- else if (.@i < 3579) .@enchant = Expert_Archer2;
- else if (.@i < 3581) .@enchant = Expert_Archer3;
- else .@enchant = 0;
- break;
- case 2:
- // Long Distance
- .@i = rand(1, .@lhz_max_num);
- if (.@i < 191) .@enchant = Strength1;
- else if (.@i < 210) .@enchant = Strength2;
- else if (.@i < 212) .@enchant = Strength3;
- else if (.@i < 612) .@enchant = Agility1;
- else if (.@i < 652) .@enchant = Agility2;
- else if (.@i < 656) .@enchant = Agility3;
- else if (.@i < 846) .@enchant = Vitality1;
- else if (.@i < 865) .@enchant = Vitality2;
- else if (.@i < 867) .@enchant = Vitality3;
- else if (.@i < 1167) .@enchant = Inteligence1;
- else if (.@i < 1197) .@enchant = Inteligence2;
- else if (.@i < 1200) .@enchant = Inteligence3;
- else if (.@i < 1600) .@enchant = Dexterity1;
- else if (.@i < 1640) .@enchant = Dexterity2;
- else if (.@i < 1644) .@enchant = Dexterity3;
- else if (.@i < 1834) .@enchant = Luck1;
- else if (.@i < 1853) .@enchant = Luck2;
- else if (.@i < 1855) .@enchant = Luck3;
- else if (.@i < 2258) .@enchant = 0;
- else if (.@i < 2448) .@enchant = Fighting_Spirit1;
- else if (.@i < 2467) .@enchant = Fighting_Spirit2;
- else if (.@i < 2469) .@enchant = Fighting_Spirit3;
- else if (.@i < 2669) .@enchant = Spell1;
- else if (.@i < 2689) .@enchant = Spell2;
- else if (.@i < 2691) .@enchant = Spell3;
- else if (.@i < 2693) .@enchant = Atk_Speed1;
- else if (.@i < 3093) .@enchant = Sharp1;
- else if (.@i < 3133) .@enchant = Sharp2;
- else if (.@i < 3137) .@enchant = Sharp3;
- else if (.@i < 3537) .@enchant = Expert_Archer1;
- else if (.@i < 3577) .@enchant = Expert_Archer2;
- else if (.@i < 3581) .@enchant = Expert_Archer3;
- else .@enchant = 0;
- break;
- case 3:
- .@i = rand(1, .@lhz_max_num);
- if (.@i < 301) .@enchant = Strength1;
- else if (.@i < 331) .@enchant = Strength2;
- else if (.@i < 334) .@enchant = Strength3;
- else if (.@i < 534) .@enchant = Agility1;
- else if (.@i < 554) .@enchant = Agility2;
- else if (.@i < 556) .@enchant = Agility3;
- else if (.@i < 956) .@enchant = Vitality1;
- else if (.@i < 996) .@enchant = Vitality2;
- else if (.@i < 1000) .@enchant = Vitality3;
- else if (.@i < 1400) .@enchant = Inteligence1;
- else if (.@i < 1440) .@enchant = Inteligence2;
- else if (.@i < 1444) .@enchant = Inteligence3;
- else if (.@i < 1844) .@enchant = Dexterity1;
- else if (.@i < 1884) .@enchant = Dexterity2;
- else if (.@i < 1888) .@enchant = Dexterity3;
- else if (.@i < 2078) .@enchant = Luck1;
- else if (.@i < 2097) .@enchant = Luck2;
- else if (.@i < 2099) .@enchant = Luck3;
- else if (.@i < 2502) .@enchant = 0;
- else if (.@i < 2692) .@enchant = Fighting_Spirit1;
- else if (.@i < 2711) .@enchant = Fighting_Spirit2;
- else if (.@i < 2713) .@enchant = Fighting_Spirit3;
- else if (.@i < 3113) .@enchant = Spell1;
- else if (.@i < 3153) .@enchant = Spell2;
- else if (.@i < 3157) .@enchant = Spell3;
- else if (.@i < 3159) .@enchant = Atk_Speed1;
- else if (.@i < 3349) .@enchant = Sharp1;
- else if (.@i < 3368) .@enchant = Sharp2;
- else if (.@i < 3370) .@enchant = Sharp3;
- else if (.@i < 3560) .@enchant = Expert_Archer1;
- else if (.@i < 3579) .@enchant = Expert_Archer2;
- else if (.@i < 3581) .@enchant = Expert_Archer3;
- else .@enchant = 0;
- break;
- case 4:
- // Armor
- .@i = rand(1, .@lhz_max_num);
- if (.@i < 301) .@enchant = Strength1;
- else if (.@i < 331) .@enchant = Strength2;
- else if (.@i < 334) .@enchant = Strength3;
- else if (.@i < 634) .@enchant = Agility1;
- else if (.@i < 664) .@enchant = Agility2;
- else if (.@i < 667) .@enchant = Agility3;
- else if (.@i < 967) .@enchant = Vitality1;
- else if (.@i < 997) .@enchant = Vitality2;
- else if (.@i < 1000) .@enchant = Vitality3;
- else if (.@i < 1300) .@enchant = Inteligence1;
- else if (.@i < 1330) .@enchant = Inteligence2;
- else if (.@i < 1333) .@enchant = Inteligence3;
- else if (.@i < 1633) .@enchant = Dexterity1;
- else if (.@i < 1663) .@enchant = Dexterity2;
- else if (.@i < 1666) .@enchant = Dexterity3;
- else if (.@i < 1966) .@enchant = Luck1;
- else if (.@i < 1996) .@enchant = Luck2;
- else if (.@i < 1999) .@enchant = Luck3;
- else if (.@i < 2399) .@enchant = 0;
- else if (.@i < 2549) .@enchant = Mdef2;
- else if (.@i < 2599) .@enchant = Mdef4;
- else if (.@i < 2609) .@enchant = Mdef6;
- else if (.@i < 2614) .@enchant = Mdef8;
- else if (.@i < 2616) .@enchant = Mdef10;
- else if (.@i < 2766) .@enchant = Def3;
- else if (.@i < 2866) .@enchant = Def6;
- else if (.@i < 2876) .@enchant = Def9;
- else if (.@i < 2878) .@enchant = Def12;
- else if (.@i < 3278) .@enchant = 0;
- else if (.@i < 3428) .@enchant = Evasion1;
- else if (.@i < 3478) .@enchant = Evasion3;
- else if (.@i < 3488) .@enchant = Evasion6;
- else if (.@i < 3498) .@enchant = SP50;
- else if (.@i < 3734) .@enchant = HP100;
- else if (.@i < 3834) .@enchant = HP200;
- else if (.@i < 3884) .@enchant = HP300;
- else .@enchant = 0;
- break;
- }
- 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, getnpcid("Sorcerer#Bio4Reward"));
- progressbar "ffff00", 2;
- if (.@socket_type == 3)
- delitem Blood_Thirst, 10;
- else
- delitem Will_Of_Warrior, 10;
- delequip .@position;
- if (.@enchant == 0) {
- 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.";
- close2;
- enable_items;
- end;
- } else {
- 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]";
- mes "Fortunately the power of "+((.@socket_type==3)?"'^952420Thirst for Blood^000000'":"'^F2766EWill of Warrior^000000'")+" has been dwelt well in your equipment..";
- close2;
- enable_items;
- end;
- }
- }
- enable_items;
- end;
-}
-
-//== Warp portal to the 4th Floor ==========================
-lhz_dun03,239,78,1 script lhz_dun03_lhz_dun04 WARPNPC,1,1,{
- end;
-
- OnTouch:
- if (lght_duk01 > 0 && lght_duk01 < 6) {
- mes "In order to investigate human experimentation, I had to go down whilst I didn't want to because of gruesome sound.";
- close2;
- if (lght_duk01 < 3) {
- warp "que_lhz", 245, 56;
- } else if (lght_duk01 == 3) {
- warp "que_lhz", 96, 136;
- } else {
- warp "que_lhz", 148, 215;
- }
- } else {
- if (lhz_boss < 31) {
- mes "- Whistling sound -";
- mes "From below, there comes a gruesome sound mingling with the wind.";
- close2;
- }
- warp "lhz_dun04", 245, 56;
- }
- end;
-}
-
-//== Warp Portal to the 3rd Floor ==========================
-lhz_dun04,244,61,1 warp lhz_dun04_lhz_dun03 1,1,lhz_dun03,240,75
-
-//== Inside the Lab ========================================
-que_lhz,242,50,0 script #01Startpoint FAKE_NPC,3,3,{
- end;
-
- OnInit:
- initnpctimer;
- end;
-
- OnTimer60000:
- mapannounce "que_lhz", "Man's whisper: Pl.. please.. save me.. I don't wanna die.. wouaaaa..", bc_map, "0x7DCBF0";
- end;
-
- OnTimer120000:
- mapannounce "que_lhz", "Woman's whisper: .. Save.. aaaah.. us...", bc_map, "0x7DCBF0";
- end;
-
- OnTimer180000:
- mapannounce "que_lhz", "Kid's whisper: Bawwww~ Where am I? Mama......aaaa....", bc_map, "0x7DCBF0";
- end;
-
- OnTimer240000:
- mapannounce "que_lhz", "Oldman's whisper: Kirk...hel...help......", bc_map, "0x7DCBF0";
- end;
-
- OnTimer300000:
- stopnpctimer;
- initnpctimer;
- end;
-
- OnTouch:
- if (lght_duk01 == 1) {
- mes "I arrived at a research facility which seems it has been used till these days.";
- next;
- mes "There are some destroyed part, but the basic facility seem fine.";
- next;
- lght_duk01 = 2;
- mes "Get around a little more..";
- close;
- }
- end;
-}
-
-//== Wolfchev ==============================================
-que_lhz,206,74,4 script Researcher#02 4_LGTSCIENCE,3,3,{
- end;
-
- OnTouch:
- if (lght_duk01 == 2) {
- emotion e_omg, 1;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "You!!!! are Wolfchev?";
- next;
- emotion e_gg, "Researcher#02";
- mes "[Wolfchev]";
- mes "A Human! kaahaha. People tend to hate this place, why are you here?";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "You!!! I heard that you were committing human experimentation. Wolfchev!!";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "And I see that you are still committing that!!!";
- next;
- emotion e_gg, "Researcher#02";
- mes "[Wolfchev]";
- mes "Kihihihi. I can see that you know something about me. Is that you who accused me?";
- mes "How dare you come back to me after you did that. Kihihih";
- next;
- mes "[Wolfchev]";
- mes "I feel good to see a human";
- mes "in a long time, but I gotta go. Kihihihi.";
- next;
- mes "- Wolfchev ran away giving a awkward laughing sound. -";
- next;
- erasequest 5109;
- setquest 5110;
- lght_duk01 = 3;
- emotion e_omg, 1;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "Whoa! Wolfchev, stop!";
- close2;
- warp "que_lhz", 96, 136;
- }
- end;
-}
-
-//== Wolfchev ==============================================
-que_lhz,94,119,4 script Researcher#03 4_LGTSCIENCE,{
- if ((MaxWeight - Weight) < 1000 || !checkweight(Knife, 1)) {
- mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000";
- close;
- }
- if (lght_duk01 == 3) {
- emotion e_swt2, "Researcher#03";
- mes "[Wolfchev]";
- mes "(Gasping) Pshaw... you are still following me. Hey, why do you keep following me?";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "Wolfchev.. You said before. that you are doing research for everybody.";
- next;
- mes "[Wolfchev]";
- mes "I might have said that.... so what?";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "But, your experiment seem really dangerous. How come this is what everybody wants?";
- next;
- emotion e_gg, "Researcher#03";
- mes "[Wolfchev]";
- mes "Everyone has a desire to be stronger and wants to dominate others so those other people obey and admire you. Do you not have that desire?";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "... .... ...";
- next;
- mes "[Wolfchev]";
- mes "If you want to save yourself, should stop following me. Bugger off.";
- next;
- mes "Wolfchev is again running away with a strange sound.";
- next;
- lght_duk01 = 4;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "Awwww!! You!! running away again..... Stop!";
- close2;
- warp "que_lhz", 148, 215;
- }
- end;
-}
-
-//== Wolfchev ==============================================
-que_lhz,147,224,4 script Researcher#04 4_LGTSCIENCE,{
- if ((MaxWeight - Weight) < 1000 || !checkweight(Knife, 1)) {
- mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000";
- close;
- }
- if (lght_duk01 == 4) {
- mes "[Wolfchev]";
- mes "You are pretty persistent, aren't you? Or I think.......that you like me, huh? Kihihii.";
- next;
- emotion e_dots;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "... .... ...";
- next;
- specialeffect EF_SIGHTRASHER;
- mes "Wolfchev mocked you at your silence and pressed a button in his hand. Then guinea pigs woken up around him.";
- next;
- for(.@i = 1; .@i < 9; .@i++)
- donpcevent "Human Guinea pig#0"+.@i+"::OnEnable";
- mes "[Wolfchev]";
- mes "Again.. it's time to say goodbye.";
- next;
- emotion e_gasp, "Researcher#04";
- mes "[Wolfchev]";
- mes "Well! May be....";
- next;
- mes "[Wolfchev]";
- mes "If you come to me for the experimentation, I can treat you better.";
- next;
- donpcevent "#Eventctrl::OnEnable";
- progressbar "FF00FF", 5;
- emotion e_omg, "Researcher#04";
- mes "[Wolfchev]";
- mes "Oh my,... What happened?";
- next;
- donpcevent "#Eventctrl::OnEnable2";
- for(.@i = 1; .@i < 9; .@i++)
- donpcevent "Human Guinea pig#0"+.@i+"::OnDisable";
- mes "[Wolfchev]";
- mes "No! Don't come to me! Don't!!";
- next;
- lght_duk01 = 5;
- mes "First of all, I gotta handle those guinea pigs!";
- close;
- } else if (lght_duk01 == 5) {
- .@i = rand(1,3);
- if (.@i == 2) {
- mes "Wolfchev is confused and has no idea now since those monsters are attacking him too.";
- next;
- specialeffect EF_STUNATTACK;
- specialeffect EF_STUNATTACK;
- mes "- Hit him to wake him up -";
- next;
- specialeffect EF_DARKBREATH;
- emotion e_no;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "Hey Dude! Anyway let's get out of here first! Isn't there any place where they cannot reach?";
- next;
- mes "[Wolfchev]";
- mes "Oooops.. then my....my lab....to my lab...";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "Your lab?? Okay, where's that?";
- next;
- mes "[Wolfchev]";
- mes "to the north....... . Not so far from here..";
- next;
- erasequest 5110;
- setquest 5111;
- lght_duk01 = 6;
- mes "Go to '^0000FFWolfchev's Lab^000000' at the 12 o'clock direction...";
- close;
- } else {
- emotion e_spin, "Researcher#04";
- mes "Wolfchev is confused and has no idea now since those monsters are attacking him too.";
- close;
- }
- } else if (lght_duk01 == 6) {
- mes "Go to '^0000FFWolfchev's Lab^000000' at the 12 o'clock direction...";
- close;
- }
- end;
-}
-
-//== Warp to lhz_dun04 from Wolfchev's Lab =================
-que_lhz,148,251,0 script #Move2lab FAKE_NPC,12,0,{
- end;
-
- OnTouch:
- if (lght_duk01 == 6) {
- mes "I arrived at '^0000FFWolfchev's Lab^000000'.";
- close2;
- warp "lhz_dun04", 148, 269;
- end;
- } else {
- mes "I still have something to do with Wolfchev.";
- close;
- }
-}
-
-//== Event Controller ======================================
-que_lhz,1,1,0 script #Eventctrl FAKE_NPC,{
- end;
-
- OnEnable:
- initnpctimer;
- end;
-
- OnEnable2:
- monster "que_lhz", 139, 232, "Human Guinea pig", QUEST_CHEN, 1, "#Eventctrl::OnMyMobDead";
- monster "que_lhz", 147, 232, "Human Guinea pig", QUEST_CHEN, 1, "#Eventctrl::OnMyMobDead";
- monster "que_lhz", 156, 232, "Human Guinea pig", QUEST_CHEN, 1, "#Eventctrl::OnMyMobDead";
- monster "que_lhz", 156, 224, "Human Guinea pig", QUEST_CHEN, 1, "#Eventctrl::OnMyMobDead";
- monster "que_lhz", 156, 215, "Human Guinea pig", QUEST_CHEN, 1, "#Eventctrl::OnMyMobDead";
- monster "que_lhz", 147, 215, "Human Guinea pig", QUEST_CHEN, 1, "#Eventctrl::OnMyMobDead";
- monster "que_lhz", 139, 215, "Human Guinea pig", QUEST_CHEN, 1, "#Eventctrl::OnMyMobDead";
- monster "que_lhz", 139, 224, "Human Guinea pig", QUEST_CHEN, 1, "#Eventctrl::OnMyMobDead";
- end;
-
- OnTimer1000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#01"));
- specialeffect EF_BEGINASURA, "Human Guinea pig#01";
- end;
-
- OnTimer2000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#02"));
- specialeffect EF_BEGINASURA, "Human Guinea pig#02";
- end;
-
- OnTimer3000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#03"));
- specialeffect EF_BEGINASURA, "Human Guinea pig#03";
- end;
-
- OnTimer4000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#04"));
- specialeffect EF_BEGINASURA, "Human Guinea pig#04";
- end;
-
- OnTimer5000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#05"));
- specialeffect EF_BEGINASURA, "Human Guinea pig#05";
- end;
-
- OnTimer6000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#06"));
- specialeffect EF_BEGINASURA, "Human Guinea pig#06";
- end;
-
- OnTimer7000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#07"));
- specialeffect EF_BEGINASURA, "Human Guinea pig#07";
- end;
-
- OnTimer8000:
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid("#08"));
- specialeffect EF_BEGINASURA, "Human Guinea pig#08";
- stopnpctimer;
- end;
-
- OnMyMobDead:
- if(mobcount("que_lhz", "#Eventctrl::OnMyMobDead") < 4)
- killmonster "que_lhz", "#Eventctrl::OnMyMobDead";
-}
-
-que_lhz,139,232,0 script #01 FAKE_NPC,{ end; }
-que_lhz,147,232,0 script #02 FAKE_NPC,{ end; }
-que_lhz,156,232,0 script #03 FAKE_NPC,{ end; }
-que_lhz,156,224,0 script #04 FAKE_NPC,{ end; }
-que_lhz,156,215,0 script #05 FAKE_NPC,{ end; }
-que_lhz,147,215,0 script #06 FAKE_NPC,{ end; }
-que_lhz,139,215,0 script #07 FAKE_NPC,{ end; }
-que_lhz,139,224,0 script #08 FAKE_NPC,{ end; }
-
-//== Human Guinea pigs =====================================
-que_lhz,140,231,1 script Human Guinea pig#01 CHEN,{
- end;
-
- OnInit:
- disablenpc strnpcinfo(NPC_NAME);
- end;
-
- OnEnable:
- enablenpc strnpcinfo(NPC_NAME);
- end;
-
- OnDisable:
- specialeffect EF_FLASHER;
- disablenpc strnpcinfo(NPC_NAME);
- end;
-}
-
-que_lhz,147,231,0 duplicate(Human Guinea pig#01) Human Guinea pig#02 CHEN
-que_lhz,155,231,7 duplicate(Human Guinea pig#01) Human Guinea pig#03 CHEN
-que_lhz,155,224,6 duplicate(Human Guinea pig#01) Human Guinea pig#04 CHEN
-que_lhz,155,216,5 duplicate(Human Guinea pig#01) Human Guinea pig#05 CHEN
-que_lhz,147,216,4 duplicate(Human Guinea pig#01) Human Guinea pig#06 CHEN
-que_lhz,140,216,3 duplicate(Human Guinea pig#01) Human Guinea pig#07 CHEN
-que_lhz,140,224,2 duplicate(Human Guinea pig#01) Human Guinea pig#08 CHEN
-
-//== Wolfchev ==============================================
-lhz_dun04,151,276,3 script Researcher#memo 4_LGTSCIENCE,{
- if ((MaxWeight - Weight) < 1000 || !checkweight(Knife, 1)) {
- mes "^FF0000You cannot continue the process due to possessing too many belongings.^000000";
- close;
- }
- .@killed_bosses = true;
- for(.@quest_id = 5113; .@quest_id <= 5125; .@quest_id++) {
- if(questprogress(.@quest_id, HUNTING) != 2){
- .@killed_bosses = false;
- break;
- }
- }
- if (lght_duk01 < 6) {
- mes "[Researcher]";
- mes "What! Do you have any business here?";
- next;
- if(select("Yes I do!!", "Umm.. No..") == 1) {
- mes "[Researcher]";
- mes "Why don't stop staring at other's laboratory, and be on your way?";
- close;
- }
- mes "[Researcher]";
- mes "Stop wondering here, and be on your way. Will you? Khh Khh.";
- close;
- } else if (lght_duk01 == 6) {
- mes "It seems experimental creatures cannot come near the laboratory, just like Wolfchev said.";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "Hey, is there any way to stop those creatures? You should know something, you made those things!";
- next;
- mes "[Wolfchev]";
- mes "Urrgg.. I didn't expect them to loose control like that...";
- next;
- mes "[Wolfchev]";
- mes "What is wrong with this whole thing?";
- next;
- mes "[Wolfchev]";
- mes "Urr.. I think they will ruin my whole laboratory!";
- next;
- emotion e_loud, 1;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "Hey! Wolfchev!!";
- next;
- mes "[Wolfchev]";
- mes "You!? Hey, please stop them!";
- mes "Creatures are ^9f6077organically connected with same job field^000000.";
- next;
- mes "[Wolfchev]";
- mes "There is one special creature being their ^46B951boss position^000000...";
- mes "If you could deactivate that creature, all ^A1BB44slave creatures^000000 walking around here will stop moving right away.";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "Boss creature?";
- mes "Hey! Wolfchev! Where is that ^46B951Boss creature^000000?";
- next;
- mes "[Wolfchev]";
- mes "Inside.. of laboratory.. It should be waken up now. It's sad to destroy my life of work, but I can't take this any more.. ...";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "How can I get into the Wolfchev's laboratory?";
- next;
- mes "[Wolfchev]";
- mes "Oh.. Wait!";
- mes "I will help you get in there.";
- next;
- mes "[Wolfchev]";
- mes "Good news is that boss creatures are not set up to wake up all at once, even though slaves are.";
- next;
- erasequest 5111;
- lght_duk01 = 7;
- for(.@i = 5113; .@i <= 5125; .@i++)
- setquest .@i;
- mes "[Wolfchev]";
- mes "But still, it is really dangerous since we don't know when they will escape from there.";
- mes "So, please prepare your party members, and take care of those boss creatures. I'm not sure how long this place can hold.";
- close;
- } else if (lght_duk01 > 6) {
- if (getcharid(CHAR_ID_PARTY) > 0) {
- mes "[Wolfchev]";
- mes "Are you all set there? I will prepare the entrance if you are the leader of that party.";
- next;
- switch(select("Any warnings?", "Going into the laboratory", "Do not enter")) {
- case 1:
- mes "[Wolfchev]";
- mes "I didn't know pressing the emergency alarm would cause such problem. The management system seems to be changed to emergency mode.";
- next;
- mes "[Wolfchev]";
- mes "There are so many systems set up inside of the laboratory, so eve I cannot be sure how systems are twisted by now.";
- next;
- mes "[Wolfchev]";
- mes "Ah! If the emergency system is activating, only the leader of party should control everything. It is a lot of pressure I understand.";
- next;
- mes "[Wolfchev]";
- mes "And just so you know, please do not touch random things out of curiosity. I don't want you to get hurt.";
- close;
- case 2:
- .@quest_time = questprogress(5112, PLAYTIME);
- if (.@quest_time==1) {
- mes "[Wolfchev]";
- mes "I'm sorry, but it seems you still cannot enter to the laboratory yet. Will you come back later? The system is kind of tricky you know.";
- close;
- } else {
- if (.@quest_time)
- erasequest 5112;
- if (!.@killed_bosses) {
- if (lght_duk01 == 9) {
- mes "[Wolfchev]";
- mes "You came back, Ka Ha Ha.";
- next;
- mes "[Wolfchev]";
- mes "After you left, I was fixing some system parts. And then suddenly strange thing happened.";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "What was that?";
- next;
- mes "[Wolfchev]";
- mes "All those boss creatures you took care of started to regenerate themselves..";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "What.. How is that possible...?!";
- next;
- mes "[Wolfchev]";
- mes "I am also completely lost here.. But, this should not be happening..";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "... .... ...";
- next;
- mes "[Wolfchev]";
- mes "As you can see, you are the only one I can trust. Would you and your party help me once again deactivating those creatures?";
- next;
- if(select("I am not sure", "Why not") == 1) {
- mes "[Wolfchev]";
- mes "I see. I understand why you are hesitating, and don't want to press you any more. But, still I'm not sure why you want go there anyways,";
- next;
- } else {
- for(.@i = 5113; .@i <= 5125; .@i++) {
- setquest .@i;
- }
- lght_duk01 = 10;
- mes "[Wolfchev]";
- mes "Thank you very much. "+strcharinfo(PC_NAME)+"";
- mes "I will help you get in the laboratory right away.";
- next;
- }
- } else {
- mes "[Wolfchev]";
- mes "Hmm.. Those boss creatures regenerating once again..";
- next;
- mes "[Wolfchev]";
- mes "Can you help me just one more time?";
- next;
- if(select("I am not sure", "Why not") == 1) {
- mes "[Wolfchev]";
- mes "I see. I understand why you are hesitating, and don't want to press you any more. But, still I'm not sure why you want go there anyways,";
- next;
- } else {
- for(.@i = 5113; .@i <= 5125; .@i++) {
- setquest .@i;
- }
- lght_duk01 = 10;
- mes "[Wolfchev]";
- mes "Thank you. "+strcharinfo(PC_NAME)+"";
- mes "You want to get in there fast, right?";
- next;
- }
- }
- }
- }
- if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
- .@instance = instance_create("Worsef", getcharid(CHAR_ID_PARTY));
- 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);
- }
- 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.";
- close;
- }
- case 3:
- mes "[Wolfchev]";
- mes "Need more preparation? Please, we don't have all day.";
- close;
- }
- } else {
- mes "[Wolfchev]";
- mes "Are you trying to go there along? That is a suicide! Our lab entering system is not as easy as you thinkz`.";
- close;
- }
- } else {
- mes "[Wolfchev]";
- mes "Woot! Something weird just happen. If this keep happening, maybe we should try other way..";
- close;
- }
-}
-
-//==========================================================
-lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{
- if ((MaxWeight - Weight) < 1000 || !checkweight(Knife, 1)) {
- mes "^FF0000You cannot continue the process due to possessing too many belongings.^000000";
- close;
- }
- .@lhz_time = questprogress(5112, PLAYTIME);
- if (lght_duk01 < 7) {
- mes "It says,";
- mes "'^0000FF****'s laboratory member only^000000'";
- close;
- }
- if (!.@lhz_time) {
- mes "This is an entrance towards Wolfchev's laboratory. Something is howling over the entrance.";
- next;
- if(select("Go inside", "Think one more time") == 2) {
- mes "You have stopped entering to Wolfchev's laboratory.";
- close;
- }
- if (has_instance("1@lhz") == "") {
- mes "^FF0000Warning^000000";
- mes ""+ strcharinfo(PC_NAME) +". . .";
- mes "^FF0000Unregistered personnel^000000";
- next;
- pushpc 0, 10;
- percentheal -5,0;
- specialeffect EF_AUTOCOUNTER;
- specialeffect(EF_BASH, AREA, playerattached());
- mes "You have been wounded by laboratory entrance system attack.";
- close;
- } else {
- mapannounce "lhz_dun04","Laboratory entrance system ["+ strcharinfo(PC_PARTY) +"] member ["+ strcharinfo(PC_NAME) +"] access granted..",bc_map,"0x0DF297";
- setquest 5112;
- warp "1@lhz.gat", 45, 148;
- close;
- }
- } else if (.@lhz_time == 1) {
- mes "Di Rit- Di- Di- Dit-";
- next;
- mes ""+ strcharinfo(PC_NAME) +". . .";
- mes "^FF0000Forbidden personnel^000000";
- next;
- mes "The system denied your entrance.";
- close;
- } else if (.@lhz_time == 2) {
- mes "Di Rit- Di- Di- Dit-";
- next;
- erasequest 5112;
- mes ""+ strcharinfo(PC_NAME) +". . .";
- mes "^FF0000Access denial has been deactivated.^000000";
- close;
- } else {
- mes "^FF0000Error! Error!^000000";
- mes "^FF0000Please try again.^000000";
- close;
- }
-}
-
-//== The Lab No.1 : System 1_1 =============================
-1@lhz,35,108,4 script Lab1#1_1 CLEAR_NPC,{
- end;
-
- OnInstanceInit:
- initnpctimer;
- end;
-
- OnDisable:
- stopnpctimer;
- end;
-
- OnType_02:
- donpcevent instance_npcname("Manual Sheet#1_1")+"::OnEnable";
- donpcevent instance_npcname("Valve#1_2")+"::OnEnable";
- donpcevent instance_npcname("Valve#1_3")+"::OnEnable";
- mapannounce instance_mapname("1@lhz"),"[Security System] the persons concerned, access with the emergency access method.",bc_map,"0xff9977";
- end;
-
- OnTimer1000:
- mapannounce instance_mapname("1@lhz"),"[Security System] This is a warning notice! Warning notice! Intruder Detected.",bc_map,"0xff9977";
- end;
-
- OnTimer2000:
- mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, The Lab No.1's security system will be activated.",bc_map,"0xff9977";
- end;
-
- OnTimer7000:
- donpcevent instance_npcname("MobCtrl1#mob01")+"::OnEnable";
- end;
-}
-
-//== The Lab No.1 Monster Control ==========================
-1@lhz,37,108,4 script MobCtrl1#mob01 CLEAR_NPC,{
- end;
-
- OnEnable:
- .@map$ = instance_mapname("1@lhz");
- mapannounce .@map$,"[Security System] Security system Activated !! Experimental animals are released. The persons concerned have to evacuate.",bc_map,"0xff9977";
- areamonster .@map$,35,159,50,169,"Starving Lab animal",MD_DESERT_WOLF,rand(10,15),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- initnpctimer;
- end;
-
- OnDisable:
- killmonster instance_mapname("1@lhz"),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- end;
-
- OnTimer180000:
- stopnpctimer;
- if(mobcount(instance_mapname("1@lhz"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("Lab1#1_1")+"::OnType_02";
- mapannounce instance_mapname("1@lhz"),"[Security System] The Lab No.1's security system has been stopped.",bc_map,"0xff9977";
- } else {
- initnpctimer;
- }
- end;
-
- OnMyMobDead:
- if(mobcount(instance_mapname("1@lhz"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("Lab1#1_1")+"::OnType_02";
- mapannounce instance_mapname("1@lhz"),"[Security System] The Lab No.1's security system has been stopped.",bc_map,"0xff9977";
- stopnpctimer;
- }
- end;
-}
-
-//== Emergency Access Valve Manual =========================
-1@lhz,39,168,0 script Manual Sheet#1_1 CLEAR_NPC,{
- mes "There are valve manual sheets littered on the floor.";
- next;
- if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
- mes "You the party leader, started to read the manual.";
- next;
- mes "[Emergency Access Valve Manual]";
- switch(lght_duk02) {
- case 0:
- switch(rand(1,6)) {
- case 1:
- lght_duk02 = 1;
- mes "Turn the left valve Clockwise twice, Counterclockwise once, Clockwise once";
- break;
- case 2:
- lght_duk02 = 2;
- mes "Turn the left valve Clockwise once, Counterclockwise twice, Clockwise once";
- break;
- case 3:
- lght_duk02 = 3;
- mes "Turn the left valve Clockwise once, Counterclockwise once, Clockwise twice";
- break;
- case 4:
- lght_duk02 = 4;
- mes "Turn the right valve Counterclockwise twice, Clockwise once, Counterclockwise once";
- break;
- case 5:
- lght_duk02 = 5;
- mes "Turn the right valve Counterclockwise once, Clockwise twice, Counterclockwise once";
- break;
- case 6:
- lght_duk02 = 6;
- mes "Turn the right valve Counterclockwise once, Clockwise once, Counterclockwise twice";
- break;
- default:
- mes "This is a unknown Error. If you get the same problem after trying one more time, contact GM.";
- break;
- }
- break;
- case 1:
- mes "Turn the left valve Clockwise twice, Counterclockwise once, Clockwise once";
- break;
- case 2:
- mes "Turn the left valve Clockwise once, Counterclockwise twice, Clockwise once";
- break;
- case 3:
- mes "Turn the left valve Clockwise once, Counterclockwise once, Clockwise twice";
- break;
- case 4:
- mes "Turn the right valve Counterclockwise twice, Clockwise once, Counterclockwise once";
- break;
- case 5:
- mes "Turn the right valve Counterclockwise once, Clockwise twice, Counterclockwise once";
- break;
- case 6:
- mes "Turn the right valve Counterclockwise once, Clockwise once, Counterclockwise twice";
- break;
- default:
- mes "This is a unknown Error. If you get the same problem after trying one more time, contact GM.";
- break;
- }
- } else {
- mes "Let your party leader handle the valve.";
- }
- close;
-
- OnInstanceInit:
- disablenpc instance_npcname("Manual Sheet#1_1");
- end;
-
- OnEnable:
- specialeffect EF_LIGHTSPHERE;
- enablenpc instance_npcname("Manual Sheet#1_1");
- end;
-}
-
-//== Left Valve ============================================
-1@lhz,41,172,0 script Valve#1_2 CLEAR_NPC,{
- .@open_portal = 0;
- mes "This is the left valve for the emergency access.";
- if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
- next;
- mes "To which direction do you wish to turn?";
- next;
- if(lght_duk02 < 1 || lght_duk02 > 3) {
- for(.@i = 1; .@i <= 4; .@i++) {
- select("Clockwise", "Counterclockwise");
- mes "-A metal sound-";
- if(.@i != 4)
- mes "and, to which direction then?";
- next;
- }
- } else {
- // lght_duk02 == 1 : Clockwise, Clockwise, Counterclockwise, Clockwise
- // lght_duk02 == 2 : Clockwise, Counterclockwise, Counterclockwise, Clockwise
- // lght_duk02 == 3 : Clockwise, Counterclockwise, Clockwise, Clockwise
- for(.@i = 1; .@i <= 4; .@i++) {
- switch(select("Clockwise", "Counterclockwise")) {
- case 1:
- if((.@i == 1 || .@i == 4) || (.@i == 2 && lght_duk02 == 1) || (.@i == 3 && lght_duk02 == 3)) {
- .@open_portal += 1;
- }
- case 2:
- if((.@i == 2 && lght_duk02 != 1) || (.@i == 3 && lght_duk02 != 3)) {
- .@open_portal += 1;
- }
- }
- mes "-A metal sound-";
- if(.@i != 4)
- mes "and, to which direction then?";
- next;
- }
- }
- if (.@open_portal == 4) {
- donpcevent instance_npcname("#potal_01")+"::OnEnable";
- lght_duk02 = 0;
- mes "-Door opened-";
- next;
- mes "The door which connects to the Lab No.2 is now open.";
- } else {
- lght_duk02 = 0;
- mes "Nothing happened.";
- next;
- mes "You need to review the manual.";
- }
- }
- close;
-
- OnInstanceInit:
- disablenpc instance_npcname("Valve#1_2");
- end;
-
- OnEnable:
- specialeffect EF_LIGHTSPHERE;
- enablenpc instance_npcname("Valve#1_2");
- end;
-}
-
-//== Right Valve ===========================================
-1@lhz,52,172,0 script Valve#1_3 CLEAR_NPC,{
- .@open_portal = 0;
- mes "This is the left valve for the emergency access.";
- if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
- next;
- mes "To which direction do you wish to turn?";
- next;
- if(lght_duk02 < 4 || lght_duk02 > 6) {
- for(.@i = 1; .@i <= 4; .@i++) {
- select("Clockwise", "Counterclockwise");
- mes "-A metal sound-";
- if(.@i != 4)
- mes "and, to which direction then?";
- next;
- }
- } else {
- // lght_duk02 == 4 : Counterclockwise, Counterclockwise, Clockwise, Counterclockwise
- // lght_duk02 == 5 : Counterclockwise, Clockwise, Clockwise, Counterclockwise
- // lght_duk02 == 6 : Counterclockwise, Clockwise, Counterclockwise, Counterclockwise
- for(.@i = 1; .@i <= 4; .@i++) {
- switch(select("Clockwise", "Counterclockwise")) {
- case 1:
- if((.@i == 2 && lght_duk02 != 4) || (.@i == 3 && lght_duk02 != 6))
- .@open_portal += 1;
- break;
- case 2:
- if((.@i == 1 || .@i == 4) || (.@i == 2 && lght_duk02 == 4) || (.@i == 3 && lght_duk02 == 6))
- .@open_portal += 1;
- break;
- }
- mes "-A metal sound-";
- if(.@i != 4)
- mes "and, to which direction then?";
- next;
- }
- }
- if (.@open_portal == 4) {
- donpcevent instance_npcname("#potal_01")+"::OnEnable";
- lght_duk02 = 0;
- mes "-Door opened-";
- next;
- mes "The door which connects to the Lab No.2 is now open.";
- } else {
- lght_duk02 = 0;
- mes "Nothing happened.";
- next;
- mes "You need to review the manual.";
- }
- }
- close;
-
- OnInstanceInit:
- disablenpc instance_npcname("Valve#1_3");
- end;
-
- OnEnable:
- specialeffect EF_LIGHTSPHERE;
- enablenpc instance_npcname("Valve#1_3");
- end;
-}
-
-
-//== The Lab No.1 >> The Lab No.2 Warp portal ==============
-1@lhz,45,173,0 script #potal_01 WARPNPC,2,2,{
- end;
-
- OnInstanceInit:
- OnDisable:
- disablenpc instance_npcname("#potal_01");
- end;
-
- OnEnable:
- mapannounce instance_mapname("1@lhz"),"[Management System] The door which connects to the Lab No.2 is now open.",bc_map,"0xff9977";
- enablenpc instance_npcname("#potal_01");
- end;
-
- OnTouch:
- warp instance_mapname("1@lhz"), 151, 29;
- end;
-}
-
-//== The Lab No.2 ==========================================
-1@lhz,151,29,0 script #2_0 FAKE_NPC,1,1,{
- end;
-
- OnEnable:
- enablenpc instance_npcname("#2_0");
- end;
-
- OnDisable:
- disablenpc instance_npcname("#2_0");
- end;
-
- OnTouch:
- donpcevent instance_npcname("Lab2#2_1")+"::OnEnable";
- donpcevent instance_npcname("#2_0")+"::OnDisable";
- end;
-}
-
-//== The Lab No.2 2_1 System - Control of Monster Wave and Pipe right before exploding =
-1@lhz,35,106,4 script Lab2#2_1 CLEAR_NPC,{
- end;
-
- OnInstanceInit:
- OnDisable:
- stopnpctimer;
- end;
-
- OnEnable:
- initnpctimer;
- end;
-
- OnTimer1000:
- mapannounce instance_mapname("1@lhz"),"[Security System] This is a warning notice! Warning notice! Intruder Detected in The Lab No.2!!",bc_map,"0xff9977";
- end;
-
- OnTimer3000:
- mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, The Lab No.2 Security system will start working.",bc_map,"0xff9977";
- end;
-
- OnTimer5000:
- mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure in the Lab No.2 is too high.",bc_map,"0xff99ff";
- end;
-
- OnTimer8000:
- mapannounce instance_mapname("1@lhz"),"[Security System] First security system activated !! The persons concerned have to evacuate.",bc_map,"0xff9977";
- donpcevent instance_npcname("MobCtrl2#mob02")+"::On01";
- end;
-
- OnTimer10000:
- mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff";
- donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure";
- end;
-
- OnTimer190000:
- mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff";
- donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure";
- end;
-
- OnTimer303000:
- mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, Second Security system will start working.",bc_map,"0xff9977";
- end;
-
- OnTimer308000:
- mapannounce instance_mapname("1@lhz"),"[Security System] Second security system activated !! The persons concerned have to evacuate.",bc_map,"0xff9977";
- donpcevent instance_npcname("MobCtrl2#mob02")+"::On02";
- end;
-
- OnTimer370000:
- mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff";
- donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure";
- end;
-
- OnTimer550000:
- mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff";
- donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure";
- end;
-
- OnTimer603000:
- mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, Third Security system will start working.",bc_map,"0xff9977";
- end;
-
- OnTimer608000:
- mapannounce instance_mapname("1@lhz"),"[Security System] Third security system activated !! The persons concerned have to evacuate.",bc_map,"0xff9977";
- donpcevent instance_npcname("MobCtrl2#mob02")+"::On03";
- end;
-
- OnTimer730000:
- mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff";
- donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure";
- end;
-
- OnTimer903000:
- mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, Fourth Security system will start working.",bc_map,"0xff9977";
- end;
-
- OnTimer908000:
- mapannounce instance_mapname("1@lhz"),"[Security System] Fourth security system activated !! The persons concerned have to evacuate.",bc_map,"0xff9977";
- donpcevent instance_npcname("MobCtrl2#mob02")+"::On04";
- end;
-
- OnTimer910000:
- mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff";
- donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure";
- end;
-
- OnTimer1090000:
- mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff";
- donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure";
- end;
-
- OnTimer1203000:
- mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, Fifth Security system will start working.",bc_map,"0xff9977";
- end;
-
- OnTimer1208000:
- mapannounce instance_mapname("1@lhz"),"[Security System] Fifth security system activated !! The persons concerned have to evacuate.",bc_map,"0xff9977";
- donpcevent instance_npcname("MobCtrl2#mob02")+"::On05";
- end;
-
- OnTimer1270000:
- mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff";
- donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure";
- stopnpctimer;
- end;
-}
-
-//== The Lab No.2 2_2 System - Pipe Operation Control ======
-// When 3 pipes explode, system will shut down.
-1@lhz,37,106,4 script Lab2#2_2 CLEAR_NPC,{
- end;
-
- OnInstanceInit:
- 'broken_pipes = 0;
- stopnpctimer;
- end;
-
- OnPipePressure:
- switch(rand(1,6)) {
- case 1:
- donpcevent instance_npcname("Valve#2_1")+"::OnEnable";
- donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_01";
- case 2:
- donpcevent instance_npcname("Valve#2_2")+"::OnEnable";
- donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_02";
- case 3:
- donpcevent instance_npcname("Valve#2_3")+"::OnEnable";
- donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_03";
- case 4:
- donpcevent instance_npcname("Valve#2_4")+"::OnEnable";
- donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_04";
- case 5:
- donpcevent instance_npcname("Valve#2_5")+"::OnEnable";
- donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_05";
- case 6:
- donpcevent instance_npcname("Valve#2_6")+"::OnEnable";
- donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_06";
- }
- initnpctimer;
- end;
-
- OnDisableValve1:
- disablenpc instance_npcname("Valve#2_1");
- stopnpctimer;
- end;
-
- OnDisableValve2:
- disablenpc instance_npcname("Valve#2_2");
- stopnpctimer;
- end;
-
- OnDisableValve3:
- disablenpc instance_npcname("Valve#2_3");
- stopnpctimer;
- end;
-
- OnDisableValve4:
- disablenpc instance_npcname("Valve#2_4");
- stopnpctimer;
- end;
-
- OnDisableValve5:
- disablenpc instance_npcname("Valve#2_5");
- stopnpctimer;
- end;
-
- OnDisableValve6:
- disablenpc instance_npcname("Valve#2_6");
- stopnpctimer;
- end;
-
- OnTimer63000:
- for(.@i = 1; .@i < 7; .@i++) {
- specialeffect(EF_SUI_EXPLOSION, AREA, getnpcid( instance_npcname("Valve#2_"+.@i+"")));
- disablenpc instance_npcname("Valve#2_"+.@i+"");
- }
- 'broken_pipes += 1;
- if ('broken_pipes == 3) {
- donpcevent instance_npcname("#2_3")+"::OnEnable";
- stopnpctimer;
- } else {
- mapannounce instance_mapname("1@lhz"),"[Management System] Pipe explosion detected! When "+ (3 - 'broken_pipes) +" more break, the system will stop.",bc_map,"0xff99ff";
- }
- end;
-}
-
-//== The Lab No.2 2_3 System ===============================
-1@lhz,151,48,0 script #2_3 FAKE_NPC,20,20,{
- end;
-
- OnInstanceInit:
- disablenpc instance_npcname("#2_3");
- end;
-
- OnEnable:
- initnpctimer;
- end;
-
- OnTimer1000:
- mapannounce instance_mapname("1@lhz"),"[Management System] System Freezes! System Freezes! Evacuate from the Lab in 10 seconds.",bc_map,"0xff99ff";
- end;
-
- OnTimer11000:
- mapannounce instance_mapname("1@lhz"),"[Management System] Evacuate!!",bc_map,"0xff99ff";
- enablenpc instance_npcname("#2_3");
- end;
-
- OnTouch:
- warp "lhz_dun04", 147, 273;
- end;
-}
-
-//== The Lab No.2 Monster Control ==========================
-1@lhz,39,106,4 script MobCtrl2#mob02 CLEAR_NPC,{
- end;
-
- On01:
- .@map$ = instance_mapname("1@lhz");
- .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- areamonster .@map$,139,37,164,58,"Starving Lab animal",MD_DESERT_WOLF,10,.@label$;
- end;
-
- On02:
- .@map$ = instance_mapname("1@lhz");
- .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- areamonster .@map$,139,37,164,58,"Starving Lab animal",MD_DESERT_WOLF,20,.@label$;
- end;
-
- On03:
- .@map$ = instance_mapname("1@lhz");
- .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- areamonster .@map$,139,37,164,58,"Starving Lab animal",MD_DESERT_WOLF,16,.@label$;
- end;
-
- On04:
- .@map$ = instance_mapname("1@lhz");
- .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- areamonster .@map$,139,37,164,58,"Starving Lab animal",MD_DESERT_WOLF,19,.@label$;
- end;
-
- On05:
- .@map$ = instance_mapname("1@lhz");
- .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- areamonster .@map$,139,37,164,58,"Starving Lab animal",MD_DESERT_WOLF,20,.@label$;
- end;
-
- On2_01:
- .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- areamonster instance_mapname("1@lhz"),155,43,161,49,"Starving Lab animal",MD_DESERT_WOLF_B,5,.@label$;
- end;
-
- On2_02:
- .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- areamonster instance_mapname("1@lhz"),137,40,143,46,"Starving Lab animal",MD_DESERT_WOLF_B,5,.@label$;
- end;
-
- On2_03:
- .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- areamonster instance_mapname("1@lhz"),137,51,143,57,"Starving Lab animal",MD_DESERT_WOLF_B,5,.@label$;
- end;
-
- On2_04:
- .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- areamonster instance_mapname("1@lhz"),143,56,149,62,"Starving Lab animal",MD_DESERT_WOLF_B,5,.@label$;
- end;
-
- On2_05:
- .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- areamonster instance_mapname("1@lhz"),160,48,166,54,"Starving Lab animal",MD_DESERT_WOLF_B,5,.@label$;
- end;
-
- On2_06:
- .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- areamonster instance_mapname("1@lhz"),135,44,141,50,"Starving Lab animal",MD_DESERT_WOLF_B,5,.@label$;
- end;
-
- OnDisable:
- killmonster instance_mapname("1@lhz"),instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead";
- end;
-
- OnMyMobDead:
- if (mobcount(instance_mapname("1@lhz"),instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("#potal_02")+"::OnEnable";
- donpcevent instance_npcname("Lab2#2_1")+"::OnDisable";
- mapannounce instance_mapname("1@lhz"),"[Security System] The Security system of The Lab No.2 has been stopped.",bc_map,"0xff9977";
- }
- end;
-}
-
-//== The Lab No.2 Valves ===================================
-- script bio4FLab2Valve FAKE_NPC,{
- if (getpartyleader(getcharid(CHAR_ID_PARTY),2) == getcharid(CHAR_ID_CHAR)) {
- progressbar "0xffff00", 20;
- stopnpctimer;
- donpcevent instance_npcname("Lab2#2_2")+"::OnDisableValve1";
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- end;
- } else {
- mes "Let your party leader handle the valve.";
- close;
- }
-
- OnInstanceInit:
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- end;
-
- OnEnable:
- enablenpc instance_npcname(strnpcinfo(NPC_NAME));
- initnpctimer;
- end;
-
- OnTimer3000:
- specialeffect EF_DRAGONSMOKE,AREA,instance_npcname(strnpcinfo(NPC_NAME));
- stopnpctimer;
- initnpctimer;
- end;
-}
-
-1@lhz,158,46,0 duplicate(bio4FLab2Valve) Valve#2_1 CLEAR_NPC
-1@lhz,138,43,0 duplicate(bio4FLab2Valve) Valve#2_2 CLEAR_NPC
-1@lhz,139,54,0 duplicate(bio4FLab2Valve) Valve#2_3 CLEAR_NPC
-1@lhz,145,60,0 duplicate(bio4FLab2Valve) Valve#2_4 CLEAR_NPC
-1@lhz,165,51,0 duplicate(bio4FLab2Valve) Valve#2_5 CLEAR_NPC
-1@lhz,137,47,0 duplicate(bio4FLab2Valve) Valve#2_6 CLEAR_NPC
-
-//== The Lab No.2 >> The Lab No.3 Warp portal(General) =====
-1@lhz,151,64,0 script #potal_02 WARPNPC,2,2,{
- end;
-
- OnInstanceInit:
- disablenpc instance_npcname("#potal_02");
- end;
-
- OnEnable:
- mapannounce instance_mapname("1@lhz"),"[Management System] The door which connects to the Lab No.3 is now open.",bc_map,"0xff99ff";
- enablenpc instance_npcname("#potal_02");
- end;
-
- OnDisable:
- disablenpc instance_npcname("#potal_02");
- end;
-
- OnTouch:
- warp instance_mapname("1@lhz"), 84, 28;
- end;
-}
-
-//== The Lab No.3 ==========================================
-1@lhz,84,28,0 script #3_0 FAKE_NPC,1,1,{
- end;
-
- OnEnable:
- enablenpc instance_npcname("#3_0");
- end;
-
- OnDisable:
- disablenpc instance_npcname("#3_0");
- end;
-
- OnTouch:
- donpcevent instance_npcname("Lab3#3_1")+"::OnEnable";
- donpcevent instance_npcname("#3_0")+"::OnDisable";
- end;
-}
-
-//== The Lab No.3 3_1 System - Monster wave control ========
-1@lhz,35,104,4 script Lab3#3_1 CLEAR_NPC,{
- end;
-
- OnEnable:
- initnpctimer;
- end;
-
- OnDisable:
- stopnpctimer;
- end;
-
- OnTimer1000:
- mapannounce instance_mapname("1@lhz"),"[Security System] This is a warning notice! Warning notice!",bc_map,"0xff9977";
- donpcevent instance_npcname("MobCtrl3#mob03")+"::OnDisable";
- end;
-
- OnTimer5000:
- mapannounce instance_mapname("1@lhz"),"[Security System] Intruder Detected in The Lab No.3!!",bc_map,"0xff9977";
- end;
-
- OnTimer7000:
- mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, The Security system of The Lab No.3 will start working.",bc_map,"0xff9977";
- end;
-
- OnTimer12000:
- mapannounce instance_mapname("1@lhz"),"[Security System] First security system of The Lab No.3 activated !! The persons concerned have to evacuate.",bc_map,"0xff9977";
- donpcevent instance_npcname("MobCtrl3#mob03")+"::On01";
- end;
-
- OnTimer192000:
- mapannounce instance_mapname("1@lhz"),"[Security System] Second security system of The Lab No.3 activated !! The persons concerned have to evacuate.",bc_map,"0xff9977";
- donpcevent instance_npcname("MobCtrl3#mob03")+"::On02";
- end;
-
- OnTimer372000:
- mapannounce instance_mapname("1@lhz"),"[Security System] Third security system of The Lab No.3 activated !! The persons concerned have to evacuate.",bc_map,"0xff9977";
- donpcevent instance_npcname("MobCtrl3#mob03")+"::On03";
- end;
-
- OnTimer552000:
- mapannounce instance_mapname("1@lhz"),"[Security System] Fourth security system of The Lab No.3activated !! The persons concerned have to evacuate.",bc_map,"0xff9977";
- donpcevent instance_npcname("MobCtrl3#mob03")+"::On04";
- end;
-
- OnTimer732000:
- mapannounce instance_mapname("1@lhz"),"[Security System] Fifth security system of The Lab No.3 activated !! The persons concerned have to evacuate.",bc_map,"0xff9977";
- donpcevent instance_npcname("MobCtrl3#mob03")+"::On05";
- stopnpctimer;
- end;
-}
-
-//== The Lab No.3 Monster Control ==========================
-1@lhz,37,104,4 script MobCtrl3#mob03 CLEAR_NPC,{
- end;
-
- On01:
- .@map$ = instance_mapname("1@lhz");
- .@label$ = instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead";
- monster .@map$,80,60,"Starving Lab animal",MD_DESERT_WOLF,1,.@label$;
- monster .@map$,81,58,"Starving Lab animal",MD_DESERT_WOLF,1,.@label$;
- monster .@map$,82,56,"Starving Lab animal",MD_DESERT_WOLF,1,.@label$;
- monster .@map$,84,60,"Starving Lab animal",MD_DESERT_WOLF,1,.@label$;
- monster .@map$,85,58,"Starving Lab animal",MD_DESERT_WOLF,1,.@label$;
- monster .@map$,82,60,"Starving Lab animal",MD_DESERT_WOLF_B,1,.@label$;
- monster .@map$,83,58,"Starving Lab animal",MD_DESERT_WOLF_B,1,.@label$;
- monster .@map$,85,56,"Starving Lab animal",MD_DESERT_WOLF_B,1,.@label$;
- monster .@map$,86,60,"Starving Lab animal",MD_DESERT_WOLF_B,1,.@label$;
- monster .@map$,87,58,"Starving Lab animal",MD_DESERT_WOLF_B,1,.@label$;
- end;
-
- On02:
- .@map$ = instance_mapname("1@lhz");
- .@amount1 = rand(1,5);
- .@amount2 = rand(1,5);
- .@label$ = instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead";
- monster .@map$,80,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount1,.@label$;
- monster .@map$,82,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount2,.@label$;
- monster .@map$,84,60,"Starving Lab animal",MD_DESERT_WOLF_B,.@amount1,.@label$;
- monster .@map$,86,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount2,.@label$;
- monster .@map$,81,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount1,.@label$;
- monster .@map$,83,58,"Starving Lab animal",MD_DESERT_WOLF_B,.@amount2,.@label$;
- monster .@map$,85,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount1,.@label$;
- monster .@map$,87,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount2,.@label$;
- monster .@map$,82,56,"Starving Lab animal",MD_DESERT_WOLF_B,.@amount1,.@label$;
- monster .@map$,85,56,"Starving Lab animal",MD_DESERT_WOLF,.@amount2,.@label$;
- end;
-
- On03:
- .@map$ = instance_mapname("1@lhz");
- .@amount1 = rand(1,5);
- .@amount2 = rand(1,5);
- .@amount3 = rand(1,5);
- .@label$ = instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead";
- monster .@map$,80,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount1,.@label$;
- monster .@map$,82,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount2,.@label$;
- monster .@map$,84,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount3,.@label$;
- monster .@map$,86,60,"Starving Lab animal",MD_DESERT_WOLF_B,.@amount1,.@label$;
- monster .@map$,81,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount2,.@label$;
- monster .@map$,83,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount3,.@label$;
- monster .@map$,85,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount1,.@label$;
- monster .@map$,87,58,"Starving Lab animal",MD_DESERT_WOLF_B,.@amount2,.@label$;
- monster .@map$,82,56,"Starving Lab animal",MD_DESERT_WOLF,.@amount3,.@label$;
- monster .@map$,85,56,"Starving Lab animal",MD_DESERT_WOLF,.@amount1,.@label$;
- end;
-
- On04:
- .@map$ = instance_mapname("1@lhz");
- .@amount1 = rand(1,5);
- .@amount2 = rand(1,5);
- .@amount3 = rand(1,5);
- .@amount4 = rand(1,5);
- .@label$ = instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead";
- monster .@map$,80,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount1,.@label$;
- monster .@map$,82,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount2,.@label$;
- monster .@map$,84,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount3,.@label$;
- monster .@map$,86,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount4,.@label$;
- monster .@map$,81,58,"Starving Lab animal",MD_DESERT_WOLF_B,.@amount1,.@label$;
- monster .@map$,83,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount2,.@label$;
- monster .@map$,85,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount3,.@label$;
- monster .@map$,87,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount4,.@label$;
- monster .@map$,82,56,"Starving Lab animal",MD_DESERT_WOLF_B,.@amount1,.@label$;
- monster .@map$,85,56,"Starving Lab animal",MD_DESERT_WOLF,.@amount2,.@label$;
- end;
-
- On05:
- .@map$ = instance_mapname("1@lhz");
- .@amount1 = rand(1,5);
- .@amount2 = rand(1,5);
- .@amount3 = rand(1,5);
- .@amount4 = rand(1,5);
- .@amount5 = rand(1,5);
- .@label$ = instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead";
- monster .@map$,80,60,"Starving Lab animal",MD_DESERT_WOLF_B,.@amount1,.@label$;
- monster .@map$,82,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount2,.@label$;
- monster .@map$,84,60,"Starving Lab animal",MD_DESERT_WOLF,.@amount3,.@label$;
- monster .@map$,86,60,"Starving Lab animal",MD_DESERT_WOLF_B,.@amount4,.@label$;
- monster .@map$,81,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount5,.@label$;
- monster .@map$,83,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount1,.@label$;
- monster .@map$,85,58,"Starving Lab animal",MD_DESERT_WOLF_B,.@amount2,.@label$;
- monster .@map$,87,58,"Starving Lab animal",MD_DESERT_WOLF,.@amount3,.@label$;
- monster .@map$,82,56,"Starving Lab animal",MD_DESERT_WOLF,.@amount4,.@label$;
- monster .@map$,85,56,"Starving Lab animal",MD_DESERT_WOLF_B,.@amount5,.@label$;
- end;
-
- OnDisable:
- killmonster instance_mapname("1@lhz"),instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead";
- end;
-
- OnMyMobDead:
- if (mobcount(instance_mapname("1@lhz"),instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead") < 1) {
- donpcevent instance_npcname("#potal_03")+"::OnEnable";
- donpcevent instance_npcname("Lab3#3_1")+"::OnDisable";
- mapannounce instance_mapname("1@lhz"),"[Security System] The Security system of The Lab No.3 has been stopped.",bc_map,"0xff9977";
- }
- end;
-}
-
-//== The Lab No.3 >> Boss's Room Warp portal ===============
-1@lhz,83,62,0 script #potal_03 WARPNPC,2,2,{
- end;
-
- OnInstanceInit:
- disablenpc instance_npcname("#potal_03");
- end;
-
- OnEnable:
- mapannounce instance_mapname("1@lhz"),"[Management System] The door which connects to the Lab No.4 is now open.",bc_map,"0x7799ff";
- enablenpc instance_npcname("#potal_03");
- end;
-
- OnDisable:
- disablenpc instance_npcname("#potal_03");
- end;
-
- OnTouch:
- warp instance_mapname("1@lhz"), 137, 100;
- end;
-}
-
-//== The Lab No.4 ==========================================
-1@lhz,137,100,0 script #4_0 FAKE_NPC,1,1,{
- end;
-
- OnEnable:
- enablenpc instance_npcname("#4_0");
- end;
-
- OnDisable:
- disablenpc instance_npcname("#4_0");
- end;
-
- OnTouch:
- donpcevent instance_npcname("Lab4#4_1")+"::OnEnable";
- donpcevent instance_npcname("#4_0")+"::OnEnable";
- end;
-}
-
-//== The Lab No.4 4_1 System - Summon of Boss Monster ======
-1@lhz,35,102,4 script Lab4#4_1 CLEAR_NPC,{
- end;
-
- OnEnable:
- initnpctimer;
- end;
-
- OnDisable:
- stopnpctimer;
- end;
-
- OnTimer1000:
- mapannounce instance_mapname("1@lhz"),"Whisper: Who are you....",bc_map,"0x7DCBF0";
- specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Seyren Windsor#boss01")));
- end;
-
- OnTimer2000:
- 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, getnpcid(instance_npcname("Gertie Wie#boss03")));
- end;
-
- OnTimer4000:
- 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, getnpcid(instance_npcname("Trentini#boss05")));
- end;
-
- OnTimer6000:
- 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, getnpcid(instance_npcname("Alphochio Basil#boss07")));
- end;
-
- OnTimer8000:
- 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, getnpcid(instance_npcname("Randel Lawrence#boss09")));
- end;
-
- OnTimer10000:
- 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, getnpcid(instance_npcname("Kathryne Keyron#boss11")));
- end;
-
- OnTimer12000:
- 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, getnpcid(instance_npcname("Howard Alt-Eisen#boss13")));
- end;
-
- OnTimer14000:
- specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Type_**Gren#boss14")));
- end;
-
- OnTimer15000:
- specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Type_**Roke#boss15")));
- end;
-
- OnTimer16000:
- specialeffect(EF_SPHERE, AREA, getnpcid(instance_npcname("Type_**Dree#boss16")));
- end;
-
- OnTimer17000:
- mapannounce instance_mapname("1@lhz"),"Whisper: Ah....it....it's too late......",bc_map,"0x7DCBF0";
- donpcevent instance_npcname("MobCtrl4#mob04")+"::OnEnable";
- stopnpctimer;
- end;
-}
-
-//== Area No. 4 - Boss Summon Control ======================
-1@lhz,37,102,4 script MobCtrl4#mob04 CLEAR_NPC,{
- end;
-
- OnEnable:
- switch(rand(1,13)) {
- case 1:
- donpcevent instance_npcname("Seyren Windsor#boss01")+"::OnEnable";
- end;
- case 2:
- donpcevent instance_npcname("Cecile Damon#boss02")+"::OnEnable";
- end;
- case 3:
- donpcevent instance_npcname("Gertie Wie#boss03")+"::OnEnable";
- end;
- case 4:
- donpcevent instance_npcname("Eremes Guile#boss04")+"::OnEnable";
- end;
- case 5:
- donpcevent instance_npcname("Trentini#boss05")+"::OnEnable";
- end;
- case 6:
- donpcevent instance_npcname("Chen Liu#boss06")+"::OnEnable";
- end;
- case 7:
- donpcevent instance_npcname("Alphochio Basil#boss07")+"::OnEnable";
- end;
- case 8:
- donpcevent instance_npcname("Flamel Emul#boss08")+"::OnEnable";
- end;
- case 9:
- donpcevent instance_npcname("Randel Lawrence#boss09")+"::OnEnable";
- end;
- case 10:
- donpcevent instance_npcname("Celia Alde#boss10")+"::OnEnable";
- end;
- case 11:
- donpcevent instance_npcname("Kathryne Keyron#boss11")+"::OnEnable";
- end;
- case 12:
- donpcevent instance_npcname("Margaretha Sorin#boss12")+"::OnEnable";
- end;
- case 13:
- donpcevent instance_npcname("Howard Alt-Eisen#boss13")+"::OnEnable";
- end;
- }
-
- OnDisable:
- //stopnpctimer;
- end;
-}
-
-//== Random Experiments in Tubes ===========================
-1@lhz,156,148,3 script Type_**Gren#boss14 4_M_03,{ end; }
-1@lhz,152,152,3 script Type_**Roke#boss15 4_M_HUMAN_01,{ end; }
-1@lhz,148,156,3 script Type_**Dree#boss16 4_M_DWARF,{ end; }
-
-//== Bosses ================================================
-- script bio4FBoss FAKE_NPC,{
- end;
-
-OnEnable:
- .@map$ = instance_mapname("1@lhz");
- .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- specialeffect EF_SUI_EXPLOSION;
- if(strnpcinfo(NPC_NAME) == "Seyren Windsor#boss01") {
- monster .@map$,129,154,"Load Knight Seyren",B_SEYREN,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Cecile Damon#boss02") {
- monster .@map$,125,150,"Sniper Cecile",B_SHECIL,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Gertie Wie#boss03") {
- monster .@map$,121,146,"Stalker Gertie",B_GERTIE,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Eremes Guile#boss04") {
- monster .@map$,117,142,"Assassin Cross Eremes",B_EREMES,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Trentini#boss05") {
- monster .@map$,117,125,"Gypsy Trentini",B_TRENTINI,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Chen Liu#boss06") {
- monster .@map$,121,121,"Champion Chen",B_CHEN,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Alphochio Basil#boss07") {
- monster .@map$,125,117,"Crown Alphochio",B_ALPHOCCIO,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Flamel Emul#boss08") {
- monster .@map$,129,113,"Creator Flamel",B_FLAMEL,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Randel Lawrence#boss09") {
- monster .@map$,146,113,"Paladin Randel",B_RANDEL,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Celia Alde#boss10") {
- monster .@map$,150,117,"Professor Celia",B_CELIA,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Kathryne Keyron#boss11") {
- monster .@map$,154,121,"High Wizard Kathryne",B_KATRINN,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Margaretha Sorin#boss12") {
- monster .@map$,158,125,"High Priest Margaretha",B_MAGALETA,1,.@label$;
- }
- if(strnpcinfo(NPC_NAME) == "Howard Alt-Eisen#boss13") {
- monster .@map$,158,142,"White Smith Howard",B_HARWORD,1,.@label$;
- }
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- end;
-
-OnDisable:
- killmonster instance_mapname("1@lhz"),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- disablenpc instance_npcname(strnpcinfo(NPC_NAME));
- end;
-
- OnMyMobDead:
- if (mobcount(instance_mapname("1@lhz"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
- .@map$ = instance_mapname("1@lhz");
- if(strnpcinfo(NPC_NAME) == "Seyren Windsor#boss01")
- mapannounce .@map$,"Awww... Where are all my fellows....",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Cecile Damon#boss02")
- mapannounce .@map$,"Any..one, please help.. please.....",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Gertie Wie#boss03")
- mapannounce .@map$,".. did I act too.. rashly...?",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Eremes Guile#boss04")
- mapannounce .@map$,"Ah..... I am absolutely defeated....",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Trentini#boss05")
- mapannounce .@map$,"ah.. If I.. ever can ... dance and.... sing...happily....",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Chen Liu#boss06")
- mapannounce .@map$,"I.... am so .. sorry....",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Alphochio Basil#boss07")
- mapannounce .@map$,"...the new song......was ....for.....her....",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Flamel Emul#boss08")
- mapannounce .@map$,"Ha...I wanted to show.... the new potion....",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Randel Lawrence#boss09")
- mapannounce .@map$,"Wooooo.. everyone got defeated.....??",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Celia Alde#boss10")
- mapannounce .@map$,"No..... this experiment is.....dang...",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Kathryne Keyron#boss11")
- mapannounce .@map$,"awww.. is everyone Ok....?",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Margaretha Sorin#boss12")
- mapannounce .@map$,"My good boy.. Don't cry... ah.... our Great Odin.. please save us...",bc_map,"0xFD3B02";
- else if (strnpcinfo(NPC_NAME) == "Howard Alt-Eisen#boss13")
- mapannounce .@map$,"oh...no.... can't breath.... and my sister...?? sister!!",bc_map,"0xFD3B02";
- donpcevent instance_npcname("Wolfchev#last")+"::OnEnable";
- donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable";
- }
- end;
-}
-
-1@lhz,127,156,5 duplicate(bio4FBoss) Seyren Windsor#boss01 B_SEYREN
-1@lhz,123,152,5 duplicate(bio4FBoss) Cecile Damon#boss02 B_SHECIL
-1@lhz,119,148,5 duplicate(bio4FBoss) Gertie Wie#boss03 B_GERTIE
-1@lhz,115,144,5 duplicate(bio4FBoss) Eremes Guile#boss04 B_EREMES
-1@lhz,115,123,7 duplicate(bio4FBoss) Trentini#boss05 B_TRENTINI
-1@lhz,119,119,7 duplicate(bio4FBoss) Chen Liu#boss06 B_CHEN
-1@lhz,123,115,7 duplicate(bio4FBoss) Alphochio Basil#boss07 B_ALPHOCCIO
-1@lhz,127,111,7 duplicate(bio4FBoss) Flamel Emul#boss08 B_FLAMEL
-1@lhz,148,111,1 duplicate(bio4FBoss) Randel Lawrence#boss09 B_RANDEL
-1@lhz,152,115,1 duplicate(bio4FBoss) Celia Alde#boss10 B_CELIA
-1@lhz,156,119,1 duplicate(bio4FBoss) Kathryne Keyron#boss11 B_KATRINN
-1@lhz,160,123,1 duplicate(bio4FBoss) Margaretha Sorin#boss12 B_MAGALETA
-1@lhz,160,144,3 duplicate(bio4FBoss) Howard Alt-Eisen#boss13 B_HARWORD
-
-//== Wolfchev - Final encounter ============================
-1@lhz,137,156,7 script Wolfchev#last 4_LGTSCIENCE,{
- if ((MaxWeight - Weight) < 1000 || !checkweight(Knife, 1)) {
- mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000";
- close;
- }
- .@all_quests_complete = true;
- for(.@i = 5113; .@i <= 5125; .@i++) {
- if(questprogress(.@i, HUNTING) != 2)
- .@all_quests_complete = false;
- }
- if (.@all_quests_complete) {
- // Quests Complete. Get Rewards.
- .@reward = rand(1, 1000);
- if (lght_duk01 == 8) {
- // First time beating the instance.
- mes "[Wolfchev]";
- mes "You finally defeated my Boss creature.";
- next;
- mes "[Wolfchev]";
- mes "Finally. is this the result?? For whom did I experiment? Did they cheat me?";
- next;
- mes "[Wolfchev]";
- mes "The button was supposed to be pressed for an emergency case...but..";
- next;
- mes "[Wolfchev]";
- mes "Hey.. You and I met by a bad connection....";
- next;
- mes "[Wolfchev]";
- mes "But...., you helped me... How could you do that?";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "When I met you for the first time, you seemed mad but sad, even if you could commit those cruel and horrific experiments.";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "But actually, you did that because you was lonely,.. you just concentrated on that for this reason, huh?";
- next;
- mes "[Wolfchev]";
- mes "HAHAHAHa. Loneliness.. You say?";
- next;
- mes "[Wolfchev]";
- mes "It might be seen like that to you. But, it isn't. Loneliness is just a good and easy excuse of the losers.";
- next;
- mes "[Wolfchev]";
- mes "I'm so happy doing experiments pursuing for a perfection, I never feel lonely.";
- next;
- mes "[Wolfchev]";
- mes "Anyway, since I realized that Rekenber betrayed me, I cannot just let them do what they want.";
- next;
- mes "[Wolfchev]";
- mes "For now, I will leave them alone, but I will make them cry and regret for trying to remove Wolfchev.";
- next;
- mes "["+ strcharinfo(PC_NAME) +"]";
- mes "... .... ... ....";
- next;
- for(.@i = 5113; .@i <= 5125; .@i++) {
- erasequest .@i;
- }
- lght_duk01 = 9;
- if (.@reward >= 1 && .@reward < 84) {
- getitem Salvage_Cape, 1;
- } else if (.@reward >= 84 && .@reward < 167) {
- getitem Ancient_Gold_Deco, 1;
- } else if (.@reward >= 167 && .@reward < 250) {
- getitem Giant_Lance, 1;
- } else if (.@reward >= 250 && .@reward < 333) {
- getitem Bloody_Cross, 1;
- } else if (.@reward >= 333 && .@reward < 416) {
- getitem Guillotine_Katar, 1;
- } else if (.@reward >= 416 && .@reward < 499) {
- getitem Chilly_Spell_Book, 1;
- } else if (.@reward >= 499 && .@reward < 582) {
- getitem Goast_Chill, 10;
- } else if (.@reward >= 582 && .@reward < 665) {
- getitem Blood_Thirst, 10;
- } else if (.@reward >= 665 && .@reward < 748) {
- getitem Will_Of_Warrior, 10;
- } else if (.@reward >= 748 && .@reward < 831) {
- getitem Goast_Chill, 20;
- } else if (.@reward >= 831 && .@reward < 914) {
- getitem Blood_Thirst, 20;
- } else {
- getitem Will_Of_Warrior, 20;
- }
- mes "[Wolfchev]";
- mes "aaaaaah, "+ strcharinfo(PC_NAME) +" Thank you so much to remove my boys who had gone mad. Not a big gift but I wish you don't deny, I don't need this anymore.";
- next;
- mes "[Wolfchev]";
- mes "And, if you can...hope you to come back often, especially with your friends. I want the place to be with human heart again so the sadness in here gets disappear.";
- next;
- mes "I looked at Wolfchev again before leaving his lab. and I could feel that he was not obsessed anymore..";
- close2;
- warp "lhz_dun04", 147, 273;
- end;
- } else {
- mes "[Wolfchev]";
- mes "You did defeat all of the Boss creatures. Thank you again.";
- next;
- for(.@i = 5113; .@i <= 5125; .@i++) {
- erasequest .@i;
- }
- if (.@reward >= 1 && .@reward < 84) {
- getitem Salvage_Cape, 1;
- } else if (.@reward >= 84 && .@reward < 167) {
- getitem Ancient_Gold_Deco, 1;
- } else if (.@reward >= 167 && .@reward < 250) {
- getitem Giant_Lance, 1;
- } else if (.@reward >= 250 && .@reward < 333) {
- getitem Bloody_Cross, 1;
- } else if (.@reward >= 333 && .@reward < 416) {
- getitem Guillotine_Katar, 1;
- } else if (.@reward >= 416 && .@reward < 499) {
- getitem Chilly_Spell_Book, 1;
- } else if (.@reward >= 499 && .@reward < 582) {
- getitem Goast_Chill, 10;
- } else if (.@reward >= 582 && .@reward < 665) {
- getitem Blood_Thirst, 10;
- } else if (.@reward >= 665 && .@reward < 748) {
- getitem Will_Of_Warrior, 10;
- } else if (.@reward >= 748 && .@reward < 831) {
- getitem Goast_Chill, 20;
- } else if (.@reward >= 831 && .@reward < 914) {
- getitem Blood_Thirst, 20;
- } else {
- getitem Will_Of_Warrior, 20;
- }
- mes "[Wolfchev]";
- mes "I say again, "+ strcharinfo(PC_NAME) +" Thank you so much to remove my boys who had gone mad. Not a big gift but I wish you don't deny, I don't need this anymore.";
- next;
- mes "[Wolfchev]";
- mes "Khahaha, See you again. Do you want to get out of here now?";
- next;
- if(select("Not yet", "Yes") == 1) {
- mes "[Wolfchev]";
- mes "Then tell me when you want to.";
- close;
- }
- mes "[Wolfchev]";
- mes "Then I will send you out.";
- close2;
- warp "lhz_dun04", 147, 273;
- end;
- }
- } else {
- if (!.@all_quests_complete) {
- mes "[Wolfchev]";
- mes "I was looking at the system.... don't know who made this..... but it's so complicated to get..no idea...";
- next;
- } else {
- mes "[Wolfchev]";
- mes "kakakaah.. Thank you. You handled those Boss creatures well..";
- next;
- }
- if (lght_duk01 == 7) {
- lght_duk01 = 8;
- mes "[Wolfchev]";
- mes "While you were struggling...";
- next;
- mes "[Wolfchev]";
- mes "I figured out something..and there's a system error which doesn't let us come and go freely, so you could help me in 72 hours... Go somewhere to take rest before you come back..";
- next;
- mes "[Wolfchev]";
- mes "Ah.. and I can send you out of my laboratory. Do you want?";
- next;
- } else {
- mes "[Wolfchev]";
- mes "Do you want to get out of here now?";
- next;
- }
- if(select("Not yet", "Yes") == 1) {
- mes "[Wolfchev]";
- mes "Then tell me when you want to.";
- close;
- }
- mes "[Wolfchev]";
- mes "Then I will send you out.";
- close2;
- warp "lhz_dun04", 147, 273;
- end;
- }
-
- OnInstanceInit:
- OnDisable:
- disablenpc instance_npcname("Wolfchev#last");
- end;
-
- OnEnable:
- enablenpc instance_npcname("Wolfchev#last");
- end;
-}
diff --git a/npc/re/instances/ghost_palace.txt b/npc/re/instances/ghost_palace.txt
deleted file mode 100644
index 3e708dc57..000000000
--- a/npc/re/instances/ghost_palace.txt
+++ /dev/null
@@ -1,853 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2016 Hercules Dev Team
-//= Copyright (C) Asheraf
-//= Copyright (C) pengc2010
-//=
-//= 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/>.
-//=========================================================================
-//= Ghost Palace
-//================= Current Version =======================================
-//= 1.1
-//=========================================================================
-
-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();
- mes("[Unpleasent Royal Guard]");
- mes("Come back after when you have done some training and are at least level 120!");
- close();
- }
- if (questprogress(1261)) {
- 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 (questprogress(1260)) {
- if (has_instance("1@spa") == "") {
- mes("[Unpleasent Royal Guard]");
- mes("Did the gate close?\r"
- "Please enter the gate as soon as you can next time.");
- erasequest(1260);
- close();
- }
- mes("[Unpleasent Royal Guard]");
- mes("Please go ahead, ^0000ffThe entrance is behind me.^000000\r"
- "I will be right behind you!");
- close();
- }
- .@party_id = getcharid(CHAR_ID_PARTY);
- if (!.@party_id) {
- mes("[Unpleasent Royal Guard]");
- mes("This is a solo instance. Please form a solo party before continuing.");
- close();
- }
- 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?");
- close();
- }
- mes("[Unpleasent Royal Guard]");
- mes("I need some help, even from the likes of you.");
- next();
- mes("[Unpleasent Royal Guard]");
- mes("In the middle of the battle the princess disappeared while I was guarding the palace.");
- next();
- mes("[Unpleasent Royal Guard]");
- mes("You run ahead and i will catch up.\r"
- "We must save her.");
- 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();
- 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);
- .@p_name$ = getpartyname(.@party_id);
- .@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();
-}
-
-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();
- 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);
- if (questprogress(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)) {
- mes("[Unpleasent Royal Guard]");
- mes("I'm looking for adventurers to help me!\r"
- "I want to talk to the team leader, can I?");
- close();
- }
- mes("[Unpleasent Royal Guard]");
- mes("I can see the secret passage into the Palace... Are you ready to save the princess?!");
- 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();
- mes("[Unpleasent Royal Guard]");
- mes("We must save the princess no matter how much fear grips our hearts!");
- close();
- }
- if (has_instance("1@spa") == "") {
- mes("^FF0000Inside the device you see a dark hole. If you wish to enter you may wish to talk to the Unpleasant Royal Guard first.^000000");
- 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);
- warp("1@spa", 198, 188);
- close();
-}
-
-1@spa,197,204,5 script King#gp1 4_M_RUSKING,{
- 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();
- 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();
- 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();
- mes("[Lurid Royal Guard]");
- mes("...Yes, your majesty.");
- npctalk(_("...Yes, your majesty."), instance_npcname("Lurid Royal Guard#gp1"));
- 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");
- 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);
-OnSummon:
- 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");
- end;
-OnMyMobDead:
- if (mobcount(instance_mapname("1@spa"), instance_npcname("#gp1control")+"::OnMyMobDead"))
- end;
- if ('gp1 < 2) {
- ++'gp1;
- 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"));
- end;
-OnInstanceInit:
- 'gp1 = 0;
- disablenpc(instance_npcname("#gp1warp"));
- end;
-}
-
-1@spa,132,122,0 script Lurid Royal Guard#gp2 4_M_SAKRAYROYAL,{
- cutin("npc-tiara", 3);
- 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();
- 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();
- 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();
- mes("[Princess Tiara]");
- mes("Then, what can I do?");
- npctalk(_("Then, what can I do?"), instance_npcname("Tiara Princess#gp2"));
- 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();
- 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();
- 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();
- mes("[Princess Tiara]");
- mes("Monsters in the castle? Protect me!");
- npctalk(_("Monsters in the castle? Protect me!"), instance_npcname("Tiara Princess#gp2"));
- 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");
- 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);
-OnSummon:
- 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");
- areamonster(.@map$, 143, 96, 94, 143, _("Like Love"), LIKE_LOVE, 3, instance_npcname("#gp2control")+"::OnMyMobDead");
- end;
-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"));
- end;
-OnInstanceInit:
- disablenpc(instance_npcname("#gp2warp"));
- end;
-}
-
-1@spa,32,54,1 script King#gp3 4_M_RUSKING,{
- 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();
- 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();
- 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();
- 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");
- end;
-}
-
-1@spa,54,28,0 script #gp3warp WARPNPC,1,1,{
- if (!'gp5) {
- warp("1@spa", 218, 186);
- } else {
- if (questprogress(40024))
- completequest(40024);
- mes("It is time to leave Palace of the ghost.\r"
- "Everything is completed.\r"
- "Everything will be vanished...");
- close2();
- if (first_time_gpmission)
- getitem(Gray_Shard, 1);
- if (!first_time_gpmission) {
- getitem(Gray_Shard, 2);
- getexp(900000, 500000);
- ++first_time_gpmission;
- }
- warp("dali02", 49, 127);
- end;
- }
- end;
-}
-
-1@spa,35,56,1 script Ominous Voice#gp3 4_TRACE,{
- end;
-OnStart:
- initnpctimer();
- end;
-OnTimer3000:
- npctalk(_("Oh, faithful royal guard, you are trapped."));
- end;
-OnTimer6000:
- npctalk(_("The conspiracy in the palace has your princess in grave danger..."));
- end;
-OnTimer9000:
- npctalk(_("Who are you? Show yourself!"), instance_npcname("Lurid Royal Guard#gp3"));
- end;
-OnTimer12000:
- npctalk(_("Ah... so you do hear me?"));
- end;
-OnTimer15000:
- npctalk(_("...?"), instance_npcname("Lurid Royal Guard#gp3"));
- end;
-OnTimer18000:
- npctalk(_("I...I..."), instance_npcname("Lurid Royal Guard#gp3"));
- end;
-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");
- 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");
- end;
-OnSummon:
- 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();
- unittalk('talkid[0], _("Faithful Guards"));
- unittalk('talkid[1], _("Run!"));
- unittalk('talkid[2], _("Being framed..."));
- end;
-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"));
- }
- ++'gp3;
- if ('gp3 < 5) {
- donpcevent(instance_npcname("#gp3control")+"::OnSummon");
- } else {
- stopnpctimer();
- disablenpc(instance_npcname("#gp3control"));
- }
- end;
-OnInstanceInit:
- disablenpc(instance_npcname("#gp3warp"));
- 'gp3 = 0;
- end;
-}
-
-1@spa,199,214,1 script Lurid Royal Guard#gp4 4_M_SAKRAYROYAL,{
- mes("[Lurid Royal Guard]");
- mes("Where is Princess Tiara?");
- npctalk(_("Where is Princess Tiara?"), instance_npcname("Lurid Royal Guard#gp4"));
- 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();
- 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();
- cutin("tartanos", 3);
- mes("[Thanatos Magic Trace]");
- mes("How dare you!");
- npctalk(_("How dare you!"), instance_npcname("Thanatos Magic Trace#gp4"));
- next();
- mes("[Visiting Prince]");
- mes("Aah, aah!!!");
- npctalk(_("Aah, aah!!!"), instance_npcname("Visiting Prince#gp4"));
- close2();
- cutin("", 255);
- donpcevent(instance_npcname("#gp4control")+"::OnBoss");
- end;
-}
-
-1@spa,1,1,1 script #gp4control HIDDEN_NPC,{
- end;
-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");
- end;
-OnMyMobDead:
- if (mobcount(instance_mapname("1@spa"), instance_npcname("#gp4control")+"::OnMyMobDead"))
- end;
- ++'gp4;
- if ('gp4 > 3)
- donpcevent(instance_npcname("#gp4control")+"::OnStory");
- else
- 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"));
- 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);
- 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"));
- end;
-OnInstanceInit:
- 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"));
- 'gp4 = 0;
- end;
-}
-
-1@spa,57,42,0 script Lurid Royal Guard#gp5 4_M_SAKRAYROYAL,{
- mes("[Princess Tiara]");
- mes("You kept your promise.");
- npctalk(_("You kept your promise."), instance_npcname("Tiara Princess#gp5"));
- next();
- mes("[Lurid Royal Guard]");
- mes("princess!");
- npctalk(_("princess"), instance_npcname("Lurid Royal Guard#gp5"));
- 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();
- mes("[Lurid Royal Guard]");
- mes("No..NO!!!!!!");
- npctalk(_("No..NO!!!!!!"), instance_npcname("Lurid Royal Guard#gp5"));
- 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();
- 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();
- 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");
- end;
-}
-
-1@spa,40,44,6 script Sakray#gp5 4_M_SAKRAY,{
- cutin("sakray", 3);
- mes("[Lurid Royal Guard]");
- mes("Are you satisfied..? Thanatos Magic Trace?");
- npctalk(_("Are you satisfied..? Thanatos Magic Trace?"), instance_npcname("Sakray#gp5"));
- 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();
- 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();
- 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();
- 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();
- mesf("[%s]", strcharinfo(PC_NAME));
- mes("If so... then why...?");
- unittalk(getcharid(CHAR_ID_ACCOUNT), _("If so... then why...?"));
- 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();
- mes("[Sakray]");
- mes("I am quite satisfied with the result.");
- 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();
- mes("[Sakray]");
- mes("If you were me, what would you do?");
- next();
- mes("[Sakray]");
- mes("Can you set yourself free from this curse?");
- next();
- mesf("[%s]", strcharinfo(PC_NAME));
- mes("...");
- unittalk(getcharid(CHAR_ID_ACCOUNT), _("..."));
- next();
- mes("[Sakray]");
- mes("Heh heh... I will keep watching you until the day you grow up enough.");
- next();
- mes("[Sakray]");
- mes("I am willing to hunt you later for Thanatos.");
- 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"));
- end;
-}
-
-1@spa,1,1,1 script #gp5control HIDDEN_NPC,{
- 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"));
- end;
-OnStart2:
- hideonnpc(instance_npcname("Lurid Royal Guard#gp5"));
- hideonnpc(instance_npcname("Tiara Princess#gp5"));
- sleep(2000);
-OnSummon:
- 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[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");
- end;
-OnTimer2000:
- 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!"));
- end;
-OnMyMobDead:
- if (mobcount(instance_mapname("1@spa"), instance_npcname("#gp5control")+"::OnMyMobDead"))
- end;
- ++'gp5;
- if ('gp5 > 2)
- donpcevent(instance_npcname("#gp5control")+"::OnStory");
- else
- donpcevent(instance_npcname("#gp5control")+"::OnSummon");
- end;
-OnBossDead:
- enablenpc(instance_npcname("Sakray#gp5"));
- enablenpc(instance_npcname("Thanatos Magic Trace#gp5"));
- end;
-OnStory:
- 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);
- end;
-OnEnd:
- 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);
- npctalk(_("I will always stand by you. Please reset beside me."), instance_npcname("Voice of Sakray"));
- sleep(3000);
- npctalk(_("Your soul is mine until you find the blood that satisfies me.."), instance_npcname("Thanatos Magic Trace"));
- sleep(3000);
- npctalk(_("Reset in the shadow with me."), instance_npcname("Voice of Sakray"));
- sleep(3000);
- npctalk(_("In the dark forever..."), instance_npcname("Voice of Sakray"));
- 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"));
- 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"));
- 'gp5 = 0;
- end;
-}
-
-1@spa,48,29,1 script King#gpend 4_M_RUSKING,{
- mes("[King]");
- mes("Hey there, are you alive?\r"
- "I did not expect to meet someone alive");
- 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();
- 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();
- mes("[King]");
- mes("I am collecting Sakray's abandoned memories from these shards.");
- next();
- mes("[King]");
- mes("If you give any Gray Shards to me, I can make equipment for you.");
- next();
- mes("[King]");
- mes("The cursed knight...\r"
- "Please help me save the soul of Sakray.");
- 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);
-
- 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])+":";
- while (true) {
- .@choice = select(.@menulist$, "Cancel") - 1;
- if (.@choice == getarraysize(.@items_list)) {
- mes("[King]");
- mes("Someday, Sakray will get out of his curse for sure.\r"
- "I believe collecting Gray Shards is the only method to save him.");
- close();
- }
- 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", sprintf(_$("hand over %d Gray Shard."), .@cost[.@choice]))) {
- case 1:
- next();
- mes("[King]");
- mes("Someday, Sakray will get out of curse for sure. I believe");
- next();
- break;
- case 2:
- next();
- if (countitem(Gray_Shard) < .@cost[.@choice]) {
- mes("[King]");
- mes("You don't have enough Gray Shards.");
- mesf("I need %d Gray Shards to make a ^FF0000%s.^000000", .@cost[.@choice], getitemname(.@items_list[.@choice]));
- break;
- }
- mes("[King]");
- mesf("I will make a ^FF0000%s^000000 \r"
- "with %d ^009900Gray Shard^000000", getitemname(.@items_list[.@choice]), .@cost[.@choice]);
- next();
- mes("[King]");
- mes("You see a light through the folded hands of the king and it gradually takes on a shape.");
- 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();
- mes("[King]");
- mes("The power requires a sacrifice.\r"
- "Please be careful...");
- delitem(Gray_Shard, .@cost[.@choice]);
- getitem(.@items_list[.@choice], 1);
- close();
- }
- }
-}
-
-// 1st floor npc's
-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;
-}
-
-// 4th floor npc's
-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
deleted file mode 100644
index ffcf0a9fe..000000000
--- a/npc/re/instances/octopus_cave.txt
+++ /dev/null
@@ -1,702 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2013-2018 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
-//=
-//= 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/>.
-//=========================================================================
-//= Octopus Cave
-//================= Description ===========================================
-//= Defeat the Disgusting Octopus.
-//================= Current Version =======================================
-//= 1.1
-//=========================================================================
-
-//== Instance Creation =====================================
-mal_dun01,151,235,5 script Starfish 4_ASTER,{
-
- .@party_id = getcharid(CHAR_ID_PARTY);
- .@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();
- }
- 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();
- }
- 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 (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();
- mes("[Starfish]");
- mes("Weird looking limbs came out from the hole there, tried to kidnap our lady Starfish. Ooh Ooh.");
- 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();
- 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();
- 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();
- break;
- case 2:
- .@playtime = questprogress(4197, PLAYTIME);
- if (.@playtime == 1) {
- mes("[Starfish]");
- mes("Octopus is not around now, hehe. Please come back later.");
- close();
- }
- if (.@playtime == 2)
- erasequest(4197);
- if (countitem(Octopus_Hunt_Stick)) {
- .@instance = instance_create(.@md_name$, .@party_id);
- 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);
- }
- 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();
- }
- 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();
- case 3:
- mes("[Starfish]");
- mes("This is not a good location, check someplace else.");
- close();
- }
- }
-}
-
-mal_dun01,153,237,5 script Weird Entrance CLEAR_NPC,{
- mes("There is a strange entrance blocked roughly with some boards.");
- next();
- switch (select("Go in.", "Stop.")) {
- case 1:
- if (countitem(Octopus_Hunt_Stick)) {
- if (has_instance("1@cash") == "") {
- if (questprogress(4197, PLAYTIME) == 1) {
- mes("[Starfish]");
- mes("Ah, now is not the time... Would you come back later? Hehe.");
- close();
- }
- mes("[Starfish]");
- mes("Shhh... Weird aura is coming from that entrance. Big trouble is waiting, if you go in now.");
- 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);
- 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();
- case 2:
- mes("[Starfish]");
- mes("Yes Yes, you better quit.");
- close();
- }
-}
-
-//== Instance Scripts ======================================
-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"));
- end;
-}
-
-1@cash,1,1,0 script oct_enter_broad FAKE_NPC,{
- end;
-OnInstanceInit:
- 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();
- end;
-OnDisable:
- 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);
- end;
-OnTimer4000:
- mapannounce(instance_mapname("1@cash"), _("Pervert Octopus : But I blocked all the cave gates!! There is nothing you can do!"), bc_map, C_YELLOW);
- 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");
- end;
-}
-
-1@cash,3,3,0 script oct_foot_4 FAKE_NPC,{
- end;
-OnInstanceInit:
- 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");
- .@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");
- monster(.@map$, 307, 215, _("Octopus Leg#3"), MD_OCTOPUS_LEG, 1, instance_npcname("oct_foot_4")+"::OnMyMobDead");
- 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"));
- end;
-OnMyMobDead:
- .@map$ = instance_mapname("1@cash");
- 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);
- end;
- }
- mapannounce(.@map$, _("Arrgg!! That hurts!!! I need another strategy..."), bc_map, C_SPRINGGREEN);
- end;
-}
-
-1@cash,20,114,0 script oct_foot1 HIDDEN_WARP_NPC,6,6,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable");
- end;
-OnEnable:
- enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
- .@i = atoi(charat(strnpcinfo(NPC_NAME), 8));
- .@map$ = instance_mapname("1@cash");
- switch (.@i) {
- case 1:
- areamonster(.@map$, 34, 96, 38, 100, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
- areamonster(.@map$, 39, 90, 41, 92, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 38, 76, 40, 78, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 39, 58, 41, 60, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 50, 38, 56, 44, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
- areamonster(.@map$, 68, 32, 72, 36, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
- areamonster(.@map$, 83, 26, 85, 28, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 107, 28, 109, 30, _("Octopus's Henchman"), MD_OCTOPUS, 1, .@label$);
- areamonster(.@map$, 123, 28, 125, 30, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 134, 31, 138, 35, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
- areamonster(.@map$, 142, 39, 146, 43, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- break;
- case 2:
- areamonster(.@map$, 139, 113, 143, 117, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
- areamonster(.@map$, 135, 104, 137, 106, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- 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$, 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$);
- areamonster(.@map$, 92, 142, 94, 144, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 98, 159, 100, 161, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 94, 180, 98, 184, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
- break;
- case 3:
- areamonster(.@map$, 299, 209, 303, 213, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
- areamonster(.@map$, 292, 203, 296, 207, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
- areamonster(.@map$, 291, 186, 293, 188, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 292, 166, 294, 168, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 293, 151, 295, 153, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 299, 137, 303, 141, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 300, 123, 304, 127, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 300, 104, 304, 108, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
- areamonster(.@map$, 279, 101, 281, 103, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- monster(.@map$, 260, 103, _("Octopus's Henchman"), MD_OCTOPUS, 1, .@label$);
- break;
- case 4:
- areamonster(.@map$, 363, 123, 367, 127, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 364, 108, 368, 112, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
- areamonster(.@map$, 363, 93, 367, 97, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
- areamonster(.@map$, 364, 72, 366, 74, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 364, 58, 366, 60, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 355, 44, 359, 48, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
- areamonster(.@map$, 346, 36, 350, 40, _("Octopus's Henchman"), MD_OCTOPUS, 3, .@label$);
- areamonster(.@map$, 319, 28, 325, 34, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
- areamonster(.@map$, 305, 27, 307, 29, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- areamonster(.@map$, 276, 29, 280, 33, _("Octopus's Henchman"), MD_OCTOPUS, 5, .@label$);
- areamonster(.@map$, 258, 37, 262, 41, _("Octopus's Henchman"), MD_OCTOPUS, 2, .@label$);
- break;
- }
- end;
-OnDisable:
- 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)));
- mapannounce(instance_mapname("1@cash"), _("Come out all my babies and help me out!"), bc_map, C_YELLOW);
- 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));
- 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$);
- 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$);
- 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$);
- 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$);
- 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");
- end;
-OnMyMobDead:
- .@map$ = instance_mapname("1@cash");
- 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");
- end;
- }
- end;
-}
-1@cash,88,190,0 duplicate(oct_foot1) oct_foot2 HIDDEN_WARP_NPC,6,6
-1@cash,307,215,0 duplicate(oct_foot1) oct_foot3 HIDDEN_WARP_NPC,6,6
-1@cash,372,131,0 duplicate(oct_foot1) oct_foot4 HIDDEN_WARP_NPC,6,6
-
-1@cash,16,117,0 script oct_foot_exit1 WARPNPC,2,2,{
- end;
-OnInstanceInit:
- disablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-OnEnable:
- enablenpc(instance_npcname(strnpcinfo(NPC_NAME)));
- end;
-OnTouch:
- warp(instance_mapname("1@cash"), 198, 99);
- end;
-}
-1@cash,77,193,0 duplicate(oct_foot_exit1) oct_foot_exit2 WARPNPC,2,2
-1@cash,312,214,0 duplicate(oct_foot_exit1) oct_foot_exit3 WARPNPC,2,2
-1@cash,370,139,0 duplicate(oct_foot_exit1) oct_foot_exit4 WARPNPC,2,2
-
-1@cash,15,15,0 script oct_mob_con FAKE_NPC,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("oct_mob_con")+"::OnDisable");
- end;
-OnEnable:
- .@map$ = instance_mapname("1@cash");
- 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);
- monster(.@map$, 35, 62, _("Hydra"), HYDRA, 1);
- monster(.@map$, 49, 54, _("Hydra"), HYDRA, 1);
- monster(.@map$, 70, 28, _("Hydra"), HYDRA, 1);
- monster(.@map$, 83, 22, _("Hydra"), HYDRA, 1);
- monster(.@map$, 99, 23, _("Hydra"), HYDRA, 1);
- monster(.@map$, 115, 23, _("Hydra"), HYDRA, 1);
- monster(.@map$, 132, 25, _("Hydra"), HYDRA, 1);
- monster(.@map$, 100, 185, _("Hydra"), HYDRA, 1);
- monster(.@map$, 92, 178, _("Hydra"), HYDRA, 1);
- monster(.@map$, 92, 162, _("Hydra"), HYDRA, 1);
- monster(.@map$, 70, 121, _("Hydra"), HYDRA, 1);
- monster(.@map$, 70, 105, _("Hydra"), HYDRA, 1);
- monster(.@map$, 105, 85, _("Hydra"), HYDRA, 1);
- monster(.@map$, 121, 84, _("Hydra"), HYDRA, 1);
- monster(.@map$, 292, 209, _("Hydra"), HYDRA, 1);
- monster(.@map$, 303, 206, _("Hydra"), HYDRA, 1);
- monster(.@map$, 290, 163, _("Hydra"), HYDRA, 1);
- monster(.@map$, 299, 150, _("Hydra"), HYDRA, 1);
- monster(.@map$, 308, 141, _("Hydra"), HYDRA, 1);
- monster(.@map$, 308, 125, _("Hydra"), HYDRA, 1);
- monster(.@map$, 295, 97, _("Hydra"), HYDRA, 1);
- monster(.@map$, 279, 97, _("Hydra"), HYDRA, 1);
- monster(.@map$, 370, 111, _("Hydra"), HYDRA, 1);
- monster(.@map$, 370, 110, _("Hydra"), HYDRA, 1);
- monster(.@map$, 371, 96, _("Hydra"), HYDRA, 1);
- monster(.@map$, 371, 80, _("Hydra"), HYDRA, 1);
- monster(.@map$, 367, 55, _("Hydra"), HYDRA, 1);
- monster(.@map$, 343, 29, _("Hydra"), HYDRA, 1);
- monster(.@map$, 327, 24, _("Hydra"), HYDRA, 1);
- monster(.@map$, 311, 22, _("Hydra"), HYDRA, 1);
- monster(.@map$, 295, 22, _("Hydra"), HYDRA, 1);
- monster(.@map$, 279, 22, _("Hydra"), HYDRA, 1);
- areamonster(.@map$, 30, 67, 50, 87, _("Stapo"), STAPO, 1);
- areamonster(.@map$, 102, 19, 122, 39, _("Stapo"), STAPO, 1);
- areamonster(.@map$, 89, 138, 109, 158, _("Stapo"), STAPO, 1);
- areamonster(.@map$, 112, 83, 132, 103, _("Stapo"), STAPO, 1);
- areamonster(.@map$, 283, 168, 303, 188, _("Stapo"), STAPO, 1);
- 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");
- end;
-OnDisable:
- 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"));
- end;
-OnTouch:
- .@map$ = instance_mapname("1@cash");
- monster(.@map$, 39, 59, _("Hydra"), HYDRA, 1);
- monster(.@map$, 40, 59, _("Hydra"), HYDRA, 1);
- monster(.@map$, 41, 59, _("Hydra"), HYDRA, 1);
- monster(.@map$, 47, 50, _("Hydra"), HYDRA, 1);
- monster(.@map$, 48, 50, _("Hydra"), HYDRA, 1);
- 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"));
- end;
-OnEnable:
- 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"));
- end;
-OnTouch:
- 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"));
- end;
-OnTimer2000:
- .@map$ = instance_mapname("1@cash");
- monster(.@map$, 71, 105, _("Octopus's Henchman"), MD_OCTOPUS, 1);
- mapannounce(.@map$, _("Run, RUN! Go, GO!!!"), bc_map, C_SPRINGGREEN);
- end;
-OnTimer4000:
- .@map$ = instance_mapname("1@cash");
- monster(.@map$, 71, 105, _("Octopus's Henchman"), MD_OCTOPUS, 1);
- mapannounce(.@map$, _("No time, come out fast!"), bc_map, C_SPRINGGREEN);
- end;
-OnTimer6000:
- .@map$ = instance_mapname("1@cash");
- monster(.@map$, 71, 105, _("Octopus's Henchman"), MD_OCTOPUS, 3);
- mapannounce(.@map$, _("Let's take over the headquarters!!!"), bc_map, C_SPRINGGREEN);
- end;
-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();
- end;
-OnEnable:
- 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"));
- end;
-OnTouch:
- 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);
- monster(.@map$, 292, 153, _("Octopus's Henchman"), MD_OCTOPUS, 1);
- 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"));
- end;
-OnTimer5000:
- mapannounce(instance_mapname("1@cash"), _("... Looks like we have a spy among us."), bc_map, C_SPRINGGREEN);
- stopnpctimer();
- end;
-OnEnable:
- 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"));
- end;
-OnTouch:
- 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);
- monster(.@map$, 332, 35, _("Octopus's Henchman"), MD_OCTOPUS, 1);
- monster(.@map$, 332, 34, _("Octopus's Henchman"), MD_OCTOPUS, 1);
- monster(.@map$, 341, 37, _("Octopus's Henchman"), MD_OCTOPUS, 1);
- monster(.@map$, 341, 36, _("Octopus's Henchman"), MD_OCTOPUS, 1);
- monster(.@map$, 341, 35, _("Octopus's Henchman"), MD_OCTOPUS, 1);
- monster(.@map$, 341, 34, _("Octopus's Henchman"), MD_OCTOPUS, 1);
- monster(.@map$, 260, 40, _("Mercenary Squid"), MD_MARSE, 1);
- monster(.@map$, 260, 41, _("Mercenary Squid"), MD_MARSE, 1);
- monster(.@map$, 260, 39, _("Mercenary Squid"), MD_MARSE, 1);
- 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"));
- 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();
- end;
-OnEnable:
- 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");
- end;
-OnDisable:
- disablenpc(instance_npcname("oct_boss_con"));
- end;
-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();
- end;
-OnTimer7000:
- callsub OnAnnounce,
- "You won't attack the one man.",
- "I got fired from ink manufacturer last week.",
- "Disgusting Octopus : Arghhhhh, come on!";
- end;
-OnTimer14000:
- callsub OnAnnounce,
- "Why... why can't you know my heart!",
- "Do you know how hard it is to live these days because there are not many new adventurers?",
- "You.. I'll destroy you all...!";
- end;
-OnTimer21000:
- callsub OnAnnounce,
- "What? I'm a disgusting octopus? You're sadists.",
- "Let's not do this and how about we look for the best solution, huh??",
- "Even if I fail here, I will keep coming back, forever!!!";
- end;
-OnTimer28000:
- callsub OnAnnounce,
- "Instinct of mating is for males, what did I do wrong?",
- "Do you really want to solve the problem between humans by violence?? Ah, I'm an octopus...",
- "That's enough! Back off!";
- end;
-OnTimer35000:
- callsub OnAnnounce,
- "Do I have to spend Christmas alone again...",
- "Youth unemployment became a big issue these days... You won't get a job if you keep playing with me here.",
- "This is as far as I can go!";
- end;
-OnTimer42000:
- callsub OnAnnounce,
- "Hand on your heart and think if you come onto anyone...",
- "Let's not do this here and follow the law!",
- "You'll keep on doing this til the end, is that it?";
- end;
-OnTimer49000:
- callsub OnAnnounce,
- "errrrrrrrrrrrrrrrrrrrrrrrr... Cough! Cough!",
- "Disgusting Octopus : Violence cannot be justified in any case.",
- "This is my place!!!";
- 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) {
- 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");
- end;
- }
- end;
-}
-
-1@cash,4,4,0 script oct_boss_foot FAKE_NPC,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("oct_boss_foot")+"::OnDisable");
- end;
-OnEnable:
- 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)) {
- 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");
- break;
- case 1:
- mapannounce(.@map$, _("Disgusting Octopus : I...cannot..hold anymore, my babies~ please come out and fight!"), bc_map, C_YELLOW);
- areamonster(.@map$, 192, 181, 206, 195, _("Octopus's Henchman"), MD_OCTOPUS, 5, instance_npcname("oct_boss_foot")+"::OnMyMobDead");
- break;
- }
- }
- initnpctimer();
- end;
-OnTimer10000:
- 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"));
- end;
-OnMyMobDead:
- end;
-}
-
-1@cash,198,116,0 script oct_boss_warp WARPNPC,2,2,{
- end;
-OnInstanceInit:
- disablenpc(instance_npcname("oct_boss_warp"));
- end;
-OnTouch:
- 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)));
- end;
-OnTouch:
- mes("Do you want to go out from the octopus dungeon?");
- next();
- if (select("No!", "Yes!") == 2)
- 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.
-//1@cash,200,161,0 duplicate(oct_exit_1) oct_exit_3 WARPNPC,2,2
-
-//== Warp Portals ==========================================
-1@cash,193,82,0 warp oct_door1 2,2,1@cash,151,48
-1@cash,154,53,0 warp oct_door2 2,2,1@cash,197,87
-1@cash,187,99,0 warp oct_door3 2,2,1@cash,148,128
-1@cash,153,133,0 warp oct_door4 2,2,1@cash,197,99
-1@cash,209,100,0 warp oct_door5 2,2,1@cash,250,111
-1@cash,244,118,0 warp oct_door6 2,2,1@cash,199,100
-1@cash,209,83,0 warp oct_door7 2,2,1@cash,252,46
-1@cash,246,53,0 warp oct_door8 2,2,1@cash,203,83
diff --git a/npc/re/instances/saras_memory.txt b/npc/re/instances/saras_memory.txt
deleted file mode 100644
index 25c0e619b..000000000
--- a/npc/re/instances/saras_memory.txt
+++ /dev/null
@@ -1,1780 +0,0 @@
-//================= Hercules Script =======================================
-//= _ _ _
-//= | | | | | |
-//= | |_| | ___ _ __ ___ _ _| | ___ ___
-//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
-//= | | | | __/ | | (__| |_| | | __/\__ \
-//= \_| |_/\___|_| \___|\__,_|_|\___||___/
-//================= License ===============================================
-//= This file is part of Hercules.
-//= http://herc.ws - http://github.com/HerculesWS/Hercules
-//=
-//= Copyright (C) 2013-2018 Hercules Dev Team
-//= Copyright (C) Ridley
-//= Copyright (C) Ziu
-//=
-//= 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/>.
-//=========================================================================
-//= Sara's Memory
-//================= Description ===========================================
-//= When Sarah Irine was only 4 years old, a terrible tragedy took place
-//= in her home: her mother was struck down by an assailant. The only
-//= suspect was her father Lord Irine, who claims to have defeated the one
-//= who attacked her mother. Too shocked and afraid by the sight of her
-//= dying mother, little Sarah is not convinced and flees while Payon
-//= guards chase her down.
-//================= Current Version =======================================
-//= 1.1
-//=========================================================================
-
-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 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();
- mes("[Leon the Adventurer]");
- mes("Excuse my rudeness! I am Pon de Leon, the famous adventurer!");
- 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();
- mes("[Leon the Adventurer]");
- mes("You know, this is such a strange location...");
- 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();
- 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();
- 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();
- mes("[Leon the Adventurer]");
- mes("So, I would like to ask something of you.");
- next();
- mes("[Leon the Adventurer]");
- mes("Please venture through the dimensional device and report to me what you find within.");
- 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);
- end;
- } else {
- mes("You wish to relive the past again?");
- 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();
- 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();
- }
- }
- 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();
- if (!sarainstance)
- 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();
- 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();
- }
- }
- if (questprogress(15003) == 2) {
- if (!sarainstance) { // 1st time reward and text
- mes("What did you see in there?!");
- 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();
- mes("[Leon the Adventurer]");
- mes("It seems that you caused a huge misunderstanding between her and her father.");
- 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"
- "events that day were fated to happen no matter who was there.");
- 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();
- 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
- } else { // 2nd time text
- mes("What did you see in there?! Was there anything new?");
- next();
- select("Nothing has changed from the last time.");
- mes("[Leon the Adventurer]");
- mes("I am sorry to hear that... If...");
- 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();
- mes("[Leon the Adventurer]");
- mes("You should rest up. Travelling Through time would make even Leon tired!");
- getexp(550000, 550000); // reward 2nd and following
- }
- erasequest(15003);
- close();
- }
-}
-
-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();
- }
- .@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();
- } else if (.@sara_time == 2) {
- erasequest(15002);
- end;
- } else if (!.@sara_time) {
- .@party_id = getcharid(CHAR_ID_PARTY);
- .@p_name$ = getpartyname(.@party_id);
- .@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();
- }
- if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2))
- .@menu1$ = _("Boot up the dimensional device");
- else
- .@menu1$ = "";
- switch (select(.@menu1$, "Use the dimensional device", "Cancel")) {
- case 1:
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id, 2))
- end;
- .@instance = instance_create(.@md_name$, .@party_id);
- 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);
- }
- mes("^FF0000The dimensional boots up cleanly. Use the device to enter the crack in space and time.^000000");
- 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();
- }
- 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);
- end;
- break;
- case 3:
- close();
- }
- }
-}
-
-1@sara,261,156,5 script A girl#sarains 4_F_SARAH_BABY,{
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2))
- end;
- mesf("[%s]", strcharinfo(PC_NAME));
- mes("Where am I?");
- unittalk(getcharid(CHAR_ID_ACCOUNT), _("Where am I?"));
- 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();
- 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();
- 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();
- 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();
- 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();
- 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();
- 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();
- mes("[Sara Irene]");
- mes("Hi daddy!");
- npctalk(_("Hi daddy!"), instance_npcname("Sara Irene#saratalk"));
- 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);
- 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);
- 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);
- 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);
- 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();
- mes("^FF0000Doyen Irene stares at you with fire in this eyes.^000000");
- dispbottom(_("Doyen Irene stares at you with fire in this eyes."));
- 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);
- 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);
- 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);
- mes("[Sara Irene]");
- mes("Of course silly daddy!");
- npctalk(_("Of course silly daddy!"), instance_npcname("Sara Irene#saratalk"));
- 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);
- 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);
- 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);
- 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);
- 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();
- 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();
- 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();
- 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();
- 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();
- 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();
- 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);
- end;
-
-OnInstanceInit:
- donpcevent(instance_npcname("A girl#sarains")+"::OnEnable");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("A girl#sarains"));
- end;
-OnDisable:
- 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");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("Doyen Irene#sarains"));
- end;
-OnDisable:
- 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");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("Sara Irene#saratalk"));
- end;
-OnDisable:
- 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");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("Strange Old Man A#stalk"));
- end;
-OnDisable:
- 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");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("Strange Old Man B#stalk"));
- end;
-OnDisable:
- 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");
- end;
-OnDisable:
- disablenpc(instance_npcname("#sarawarp1"));
- end;
-OnEnable:
- enablenpc(instance_npcname("#sarawarp1"));
- end;
-OnTouch:
- .@map$ = instance_mapname("1@sara");
- warp(.@map$, 94, 320);
- end;
-}
-
-1@sara,209,250,0 script #sarawarp2 WARPNPC,1,2,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#sarawarp2")+"::OnDisable");
- end;
-OnDisable:
- disablenpc(instance_npcname("#sarawarp2"));
- end;
-OnEnable:
- enablenpc(instance_npcname("#sarawarp2"));
- end;
-OnTouch:
- .@map$ = instance_mapname("1@sara");
- warp(.@map$, 230, 316);
- end;
-}
-
-1@sara,226,190,0 script #sarawarp3 WARPNPC,1,2,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#sarawarp3")+"::OnDisable");
- end;
-OnDisable:
- disablenpc(instance_npcname("#sarawarp3"));
- end;
-OnEnable:
- enablenpc(instance_npcname("#sarawarp3"));
- end;
-OnTouch:
- .@map$ = instance_mapname("1@sara");
- warp(.@map$, 263, 94);
- end;
-}
-
-1@sara,166,67,0 script #sarawarp4 WARPNPC,1,2,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#sarawarp4")+"::OnDisable");
- end;
-OnDisable:
- disablenpc(instance_npcname("#sarawarp4"));
- end;
-OnEnable:
- enablenpc(instance_npcname("#sarawarp4"));
- end;
-OnTouch:
- .@map$ = instance_mapname("1@sara");
- warp(.@map$, 164, 81);
- end;
-}
-
-1@sara,155,180,0 script #sarawarp5 WARPNPC,1,2,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#sarawarp5")+"::OnDisable");
- end;
-OnDisable:
- disablenpc(instance_npcname("#sarawarp5"));
- end;
-OnEnable:
- enablenpc(instance_npcname("#sarawarp5"));
- end;
-OnTouch:
- .@map$ = instance_mapname("1@sara");
- warp(.@map$, 155, 196);
- end;
-}
-
-1@sara,88,188,0 script #sarawarp6 WARPNPC,1,2,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#sarawarp6")+"::OnDisable");
- end;
-OnDisable:
- disablenpc(instance_npcname("#sarawarp6"));
- end;
-OnEnable:
- 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);
- end;
-}
-
-1@sara,19,143,0 script #sarawarp7 WARPNPC,1,2,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#sarawarp7")+"::OnDisable");
- end;
-OnDisable:
- disablenpc(instance_npcname("#sarawarp7"));
- end;
-OnEnable:
- enablenpc(instance_npcname("#sarawarp7"));
- end;
-OnTouch:
- 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);
- mes("[Sara Irene]");
- mes("Oh! Hello again! I remember you, what's up?");
- npctalk(_("Oh! Hello again! I remember you, what's up?"));
- 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();
- 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();
- 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);
- 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();
- mes("[Sara Irene]");
- mes("...");
- npctalk("...");
- next();
- mes("[Sara Irene]");
- mes("...");
- npctalk("...");
- next();
- mes("[Sara Irene]");
- mes("...");
- npctalk("...");
- mapannounce(instance_mapname("1@sara"), _("[Sara's Mother] : Sara...Ru-..away..."), bc_map, C_YELLOW);
- next();
- mes("[Sara Irene]");
- mes("...");
- npctalk("...");
- 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();
- 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);
- 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);
- mes("[Sara Irene]");
- mes("...");
- npctalk("...");
- next();
- select("Escape with Sara.");
- mes("[Sara Irene]");
- mes("...");
- npctalk("...");
- 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();
- 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);
- mes("[Sara Irene]");
- mes("Mommy no!!!!!!!!!!!!!!!");
- npctalk(_("Mommy no!!!!!!!!!!!!!!!"));
- 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");
- end;
-
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains1")+"::OnDisable");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("Sara Irene#sarains1"));
- end;
-OnDisable:
- 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");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("Doyen Irene#sarains1"));
- end;
-OnDisable:
- hideonnpc(instance_npcname("Doyen Irene#sarains1"));
- end;
-}
-
-1@sara,107,327,0 script #controlsara CLEAR_NPC,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#controlsara")+"::OnDisable");
- end;
-OnEnable:
- enablenpc(instance_npcname("#controlsara"));
- hideonnpc(instance_npcname("#controlsara"));
- initnpctimer();
- end;
-OnDisable:
- 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);
- end;
-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();
- 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");
- monster(.@map$, 116, 317, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 108, 317, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 116, 311, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 108, 311, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 101, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 105, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 109, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 113, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 117, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 121, 295, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 122, 227, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 122, 225, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 122, 223, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 122, 221, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 122, 219, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 122, 217, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 121, 227, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 121, 225, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 121, 223, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 121, 221, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 121, 219, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 121, 217, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 151, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 153, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 155, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 157, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 159, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 161, 231, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 187, 215, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 187, 217, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 187, 219, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 187, 221, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 187, 223, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 187, 225, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 188, 215, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 188, 217, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 188, 219, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 188, 221, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 188, 223, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 188, 225, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 192, 250, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 194, 250, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 196, 250, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 198, 250, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 196, 254, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 196, 256, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 196, 258, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 199, 254, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 199, 256, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 199, 258, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 204, 246, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 204, 248, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 204, 250, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 204, 252, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 204, 254, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 206, 251, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- end;
-OnMyMobDead:
- .@callnum = 58;
- .@map$ = instance_mapname("1@sara");
- .@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);
- 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");
- }
- end;
-}
-
-1@sara,230,316,0 script #controlsara1 CLEAR_NPC,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#controlsara1")+"::OnDisable");
- end;
-OnEnable:
- enablenpc(instance_npcname("#controlsara1"));
- hideonnpc(instance_npcname("#controlsara1"));
- donpcevent(instance_npcname("#controlsara1")+"::OnRespawn");
- end;
-OnDisable:
- disablenpc(instance_npcname("#controlsara1"));
- end;
-OnRespawn:
- .@map$ = instance_mapname("1@sara");
- monster(.@map$, 228, 312, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 227, 312, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 229, 315, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 247, 290, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 248, 290, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 249, 290, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 223, 264, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 230, 248, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 227, 248, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 238, 229, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 225, 220, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 228, 220, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 220, 212, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 223, 212, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 219, 203, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 222, 203, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- end;
-OnMyMobDead:
- .@callnum = 16;
- .@map$ = instance_mapname("1@sara");
- .@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);
- 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");
- }
- end;
-}
-
-1@sara,263,94,0 script #controlsara2 CLEAR_NPC,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#controlsara2")+"::OnDisable");
- end;
-OnEnable:
- enablenpc(instance_npcname("#controlsara2"));
- hideonnpc(instance_npcname("#controlsara2"));
- donpcevent(instance_npcname("#controlsara2")+"::OnRespawn");
- end;
-OnDisable:
- disablenpc(instance_npcname("#controlsara2"));
- end;
-OnRespawn:
- .@map$ = instance_mapname("1@sara");
- monster(.@map$, 255, 91, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 255, 92, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 255, 93, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 255, 94, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 254, 91, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 254, 92, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 254, 93, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 254, 94, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 228, 65, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 228, 64, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 228, 63, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 228, 62, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 198, 62, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 195, 56, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 195, 60, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 195, 62, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 192, 56, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 192, 60, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 192, 62, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 187, 68, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 188, 63, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 120, 39, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 121, 39, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 121, 39, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 93, 64, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 93, 68, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 93, 72, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 93, 76, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 90, 64, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 90, 68, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 90, 72, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 90, 76, _("A Gentle Guard Dog"), GUARDDOG, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 87, 67, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 87, 63, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 87, 59, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 87, 55, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 84, 67, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 84, 63, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 84, 59, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 84, 55, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 81, 67, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 81, 63, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 81, 59, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 81, 55, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 81, 51, _("A Fierce Guard Dog"), GUARDDOG2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- end;
-OnMyMobDead:
- .@callnum = 45;
- .@map$ = instance_mapname("1@sara");
- .@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);
- 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");
- }
- end;
-}
-
-1@sara,164,81,0 script #controlsara3 CLEAR_NPC,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#controlsara3")+"::OnDisable");
- end;
-OnEnable:
- enablenpc(instance_npcname("#controlsara3"));
- hideonnpc(instance_npcname("#controlsara3"));
- donpcevent(instance_npcname("#controlsara3")+"::OnRespawn");
- end;
-OnDisable:
- disablenpc(instance_npcname("#controlsara3"));
- end;
-OnRespawn:
- .@map$ = instance_mapname("1@sara");
- monster(.@map$, 155, 97, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 157, 97, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 159, 97, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 161, 97, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 201, 113, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 204, 113, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 207, 113, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 210, 113, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 213, 113, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 201, 117, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 204, 117, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 207, 117, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 210, 117, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 213, 117, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 223, 152, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 223, 148, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 223, 144, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 221, 152, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 221, 148, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 221, 144, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 151, 174, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 153, 174, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 155, 174, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 157, 174, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 159, 174, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 151, 177, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 153, 177, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 155, 177, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 157, 177, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 159, 177, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 151, 180, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 153, 180, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- 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");
- monster(.@map$, 164, 139, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
-
- monster(.@map$, 173, 137, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 170, 137, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 167, 137, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- monster(.@map$, 164, 137, _("Payon Town Guard"), PAYONSOLDIER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- end;
-OnMyMobDead:
- .@callnum = 43;
- .@map$ = instance_mapname("1@sara");
- .@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);
- 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");
- }
- donpcevent(instance_npcname("#controlsara3")+"::OnDisable");
- donpcevent(instance_npcname("#sarawarp5")+"::OnEnable");
- donpcevent(instance_npcname("Sara Irene#sarains2")+"::OnEnable");
- }
- end;
-}
-
-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);
- mes("[Sara Irene]");
- mes("Mommy!");
- npctalk(_("Mommy!"));
- 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);
- mes("[Sara Irene]");
- mes("No!");
- npctalk(_("No!"));
- 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();
- 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);
- 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();
- 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);
- 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");
- end;
-
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains2")+"::OnDisable");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("Sara Irene#sarains2"));
- end;
-OnDisable:
- 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");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("Doyen Irene#sarains2"));
- end;
-OnDisable:
- hideonnpc(instance_npcname("Doyen Irene#sarains2"));
- end;
-}
-
-1@sara,152,233,0 script #controlsara4 FAKE_NPC,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#controlsara4")+"::OnDisable");
- end;
-OnEnable:
- enablenpc(instance_npcname("#controlsara4"));
- donpcevent(instance_npcname("#controlsara4")+"::OnRespawn");
- end;
-OnDisable:
- disablenpc(instance_npcname("#controlsara4"));
- end;
-OnRespawn:
- .@map$ = instance_mapname("1@sara");
- .@mobid = monster(.@map$, 150, 232, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk(.@mobid, _("I am getting too old for this sh-"));
- .@mobid = monster(.@map$, 150, 227, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk(.@mobid, _("For Payon!!"));
- .@mobid = monster(.@map$, 150, 222, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk(.@mobid, _("For Payon!!"));
- .@mobid = monster(.@map$, 150, 217, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk(.@mobid, _("For Payon!!"));
- .@mobid = monster(.@map$, 161, 232, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk(.@mobid, _("For Payon!!"));
- .@mobid = monster(.@map$, 161, 227, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk(.@mobid, _("For Payon!!"));
- .@mobid = monster(.@map$, 161, 222, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk(.@mobid, _("For Payon!!"));
- .@mobid = monster(.@map$, 161, 217, _("Payon Town Guard"), PAYONSOLDIER2, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk(.@mobid, _("For Payon!!"));
- end;
-OnMyMobDead:
- .@callnum = 8;
- .@map$ = instance_mapname("1@sara");
- .@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");
- }
- end;
-}
-
-1@sara,155,226,0 script #controlsara5 FAKE_NPC,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("#controlsara5")+"::OnDisable");
- end;
-OnEnable:
- enablenpc(instance_npcname("#controlsara5"));
- donpcevent(instance_npcname("#controlsara5")+"::OnRespawn");
- end;
-OnDisable:
- disablenpc(instance_npcname("#controlsara5"));
- end;
-OnRespawn:
- .@map$ = instance_mapname("1@sara");
- .@mobid = monster(.@map$, 155, 226, _("Doyen Irene"), IRENE_ELDER, 1, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
- unittalk(.@mobid, _("I will have revenge for Sara's Mom!"));
- end;
-OnMyMobDead:
- .@callnum = 1;
- .@map$ = instance_mapname("1@sara");
- .@g_mob_num = mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::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");
- }
- end;
-}
-
-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);
- mes("[Doyen Irene]");
- mes("You... were too strong for me.");
- npctalk(_("You... were too strong for me."));
- 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();
- 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();
- mes("[Doyen Irene]");
- mes("You.. think I killed Sara's mother?");
- npctalk(_("You.. think I killed Sara's mother?"));
- 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);
- 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);
- 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();
- 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();
- 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();
- 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();
- 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();
- 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();
- 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);
- 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");
- end;
-
-OnInstanceInit:
- donpcevent(instance_npcname("Doyen Irene#sarains3")+"::OnDisable");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("Doyen Irene#sarains3"));
- end;
-OnDisable:
- hideonnpc(instance_npcname("Doyen Irene#sarains3"));
- end;
-}
-
-1@sara,39,142,3 script Sara Irene#sarains3 4_F_SARAH_BABY,{
- if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2))
- 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);
- 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();
- 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();
- 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();
- 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);
- mes("[Sara Irene]");
- mes("...");
- npctalk("...");
- 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);
- 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();
- 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();
- 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");
- end;
-
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains3")+"::OnDisable");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("Sara Irene#sarains3"));
- end;
-OnDisable:
- hideonnpc(instance_npcname("Sara Irene#sarains3"));
- end;
-}
-
-1@sara,152,233,0 script ????-#saratalk FAKE_NPC,{
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("????-#saratalk")+"::OnDisable");
- end;
-OnEnable:
- hideoffnpc(instance_npcname("????-#saratalk"));
- end;
-OnDisable:
- hideonnpc(instance_npcname("????-#saratalk"));
- end;
-}
-
-1@sara,97,304,5 script Sara Irene#sarains4 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("Why daddy?"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains4")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains4")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains4")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,128,296,5 script Sara Irene#sarains5 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("Not mommy!"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains5")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains5")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains5")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,90,215,5 script Sara Irene#sarains6 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("Why did he do it?!"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains6")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains6")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains6")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,124,230,5 script Sara Irene#sarains7 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("Why.. why?!"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains7")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains7")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains7")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,174,226,5 script Sara Irene#sarains8 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("Noooo..."));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains8")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains8")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains8")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,203,259,5 script Sara Irene#sarains9 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk("...");
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains9")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains9")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains9")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,225,298,5 script Sara Irene#sarains10 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("Why does it hurt so much?"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains10")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains10")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains10")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,228,282,5 script Sara Irene#sarains11 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("........"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains11")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains11")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains11")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,243,250,5 script Sara Irene#sarains12 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("...Mommy"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains12")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains12")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains12")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,265,253,5 script Sara Irene#sarains13 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("What happened to you daddy?"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains13")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains13")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains13")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,231,205,5 script Sara Irene#sarains14 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("All that blood..."));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains14")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains14")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains14")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,238,53,5 script Sara Irene#sarains15 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("Who are you?!"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains15")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains15")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains15")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,184,67,5 script Sara Irene#sarains16 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("I want my mommy!"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains16")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains16")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains16")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,150,60,5 script Sara Irene#sarains17 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("........"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains17")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains17")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains17")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,105,63,5 script Sara Irene#sarains18 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("Nooooo..."));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains18")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains18")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains18")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,163,99,5 script Sara Irene#sarains19 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("Mommy!"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains19")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains19")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains19")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,184,106,5 script Sara Irene#sarains20 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk("........");
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains20")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains20")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains20")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,153,124,5 script Sara Irene#sarains21 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("Daddy!"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains21")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains21")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains21")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,141,153,5 script Sara Irene#sarains22 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk("........");
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains22")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains22")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains22")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}
-
-1@sara,201,155,5 script Sara Irene#sarains23 4_F_SARAH_BABY,7,7,{
- end;
-OnTouch:
- npctalk(_("Why?"));
- initnpctimer();
- donpcevent(instance_npcname("Sara Irene#sarains23")+"::OnDisable");
- end;
-OnTimer60000:
- donpcevent(instance_npcname("Sara Irene#sarains23")+"::OnEnable");
- end;
-OnInstanceInit:
- donpcevent(instance_npcname("Sara Irene#sarains23")+"::OnDisable");
- end;
-OnEnable:
- 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"));
- end;
-}