diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-10-05 11:34:32 +0300 |
---|---|---|
committer | gumi <git@gumi.ca> | 2020-07-29 15:02:44 +0000 |
commit | 9d59f82368082fb1cf3aec225c483f9e32b4c075 (patch) | |
tree | 0200835722c95b4c789ed597cea40d293a650bd3 /npc/instances | |
parent | e8ccbb249b5dcf3aeaa4ba440b20b1c6c1feeaa0 (diff) | |
download | hercules-9d59f82368082fb1cf3aec225c483f9e32b4c075.tar.gz hercules-9d59f82368082fb1cf3aec225c483f9e32b4c075.tar.bz2 hercules-9d59f82368082fb1cf3aec225c483f9e32b4c075.tar.xz hercules-9d59f82368082fb1cf3aec225c483f9e32b4c075.zip |
Remove unused dirs
Diffstat (limited to 'npc/instances')
-rw-r--r-- | npc/instances/EndlessTower.txt | 2155 | ||||
-rw-r--r-- | npc/instances/NydhoggsNest.txt | 2311 | ||||
-rw-r--r-- | npc/instances/OrcsMemory.txt | 896 | ||||
-rw-r--r-- | npc/instances/SealedShrine.txt | 1472 |
4 files changed, 0 insertions, 6834 deletions
diff --git a/npc/instances/EndlessTower.txt b/npc/instances/EndlessTower.txt deleted file mode 100644 index 3cfa7a00e..000000000 --- a/npc/instances/EndlessTower.txt +++ /dev/null @@ -1,2155 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2020 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Joseph -//= Copyright (C) Gepard -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see <http://www.gnu.org/licenses/>. -//========================================================================= -//= Endless Tower -//================= Description =========================================== -//= Endless Tower Memorial Dungeon. -//= Consists of 101 floors. -//================= Current Version ======================================= -//= 2.4 -//========================================================================= - -alberta,214,77,6 script Captain Janssen 4_M_SEAMAN,{ - if (checkweight(Knife, 1) == 0) { - mes("^008800Wait here!!"); - mes("You're carrying too much stuff. Why don't you put some of it away, and then come back.^000000"); - close(); - } - if (BaseLevel < 50) { - mes("[Captain Janssen]"); - mes("Sigh... I don't know if I can ever go back to sailing the sea..."); - close(); - } - .@name$ = strcharinfo(PC_NAME); - if (in_102tower == 1) { - mes("^0000ffLooking incredibly excited, the old man ran into the marine shop hurriedly ordering goods. You don't have anything better to do, so you decide to ask him why he is in such a rush.^000000"); - next(); - mes("^0000ffThe old man, after finishing his orders, walks towards you.^000000"); - next(); - mes("[Captain Janssen]"); - mes("I was touched when you accepted a request from me, a stranger, so easily. You must truly be one of those good, heroic adventurers. Are you interested in setting out on an ocean voyage?"); - next(); - mesf("[%s]", .@name$); - mes("I've sailed a few times... But now that I think about it, I've never gone across the continent."); - next(); - mes("[Captain Janssen]"); - mes("No, that's good enough. I may just have one small fishing vessel, but I used to be a captain that commanded a fleet."); - next(); - mes("[Captain Janssen]"); - mes("As you may know after a few sea voyages, not many people have gone across the ocean beyond the continent. I too have failed to conquer the ocean."); - next(); - mes("^0000ffMr. Janssen talked about his perilous ocean journeys for quite a while. You have enough time on your hands, so you sit down, quietly listening to his story.^000000"); - next(); - mes("^0000ffAt least half of his story sounded grossly exaggerated, but something caught your ear: he insists that a humongous tower exists on the ocean, and that it's so tall, it scrapes across the sky.^000000"); - in_102tower = 2; - close(); - } else if (in_102tower == 2) { - mes("[Captain Janssen]"); - mes("So all I could do was cast anchor at that humongous tower after my fleet was wrecked. At first, we were only going to stay there until the rainstorm was over, but it didn't end as soon as we had hoped."); - next(); - mes("[Captain Janssen]"); - mes("My crew was starving, and a few of them walked into the tower in order to find food... They never came back."); - next(); - mesf("[%s]", .@name$); - mes("Why didn't you go in there with them?"); - next(); - mes("[Captain Janssen]"); - mes("My instincts told me that tower was dangerous. I was curious, but I wasn't going to risk my life. We waited for them to come back for 7 days until the rainstorm was finally over, but no one returned."); - next(); - mes("[Captain Janssen]"); - mes("In our desperation to survive, we abandoned all our goods, and left the tower only with a little bit of the water and edible plants we'd found around the tower. When we finally reached land, I was the only one alive..."); - next(); - mes("^0000ffYou could imagine the heartwretching scene of the dying fleet on their last voyage, even if he didn't explain it any further. A look of somber regret swept over his face as he remained silent a while, and then he said:^000000"); - next(); - mes("[Captain Janssen]"); - mes("I have something I must do before I die. I must retrieve the remains of my crew that died in the tower, and give them a proper burial."); - next(); - mes("[Captain Janssen]"); - mes("I feel so lucky to meet a warm-hearted adventurer like you. With the money you've given me, I can finally go sailing to the tower again."); - next(); - mesf("[%s]", .@name$); - mes("How about hiring me as your first mate?"); - next(); - mes("[Captain Janssen]"); - mes("Thank you, but it is an extremely dangerous place. I have my duty to fulfill, but you don't have any obligation to me or them. I don't wish to sacrifice someone as young as you to such a dangerous place."); - next(); - mesf("[%s]", .@name$); - mes("No..."); - mes("."); - mes("."); - mes("As an adventurer, there's my obligation to those in need. I'm also very curious about that place..."); - next(); - mes("[Captain Janssen]"); - mes("I was going to leave right away, but since you've joined me, I should give you time to prepare. I'll be waiting here until you're ready to go."); - next(); - mes("[Captain Janssen]"); - mes("...Okay then..."); - mes("Welcome aboard, first mate."); - in_102tower = 3; - close(); - } else if (in_102tower == 3) { - mes("[Captain Janssen]"); - mes("Shall we leave now?"); - next(); - switch (select("Yes, let's go!", "No, I'm not quite ready...")) { - case 1: - mes("[Captain Janssen]"); - mes("Then pull up the anchor, first mate!"); - close2(); - in_102tower = 4; - warp("e_tower", 70, 114); - end; - case 2: - mes("[Captain Janssen]"); - mes("Sure, no problem. Come back when you're ready."); - close(); - } - } else if (in_102tower > 3) { - mes("[Captain Janssen]"); - mes("Well, to travel the ocean again, we need to restock on goods. If you give me 10,000 Zeny, I'll take care of the rest."); - next(); - switch (select("I'll come back later.", "Let's go, now!")) { - case 1: - mesf("[%s]", .@name$); - mes("I'm sorry, but I don't have that much money. I'll come back when I save enough."); - next(); - mes("[Captain Janssen]"); - mes("Sure, no problem. I'll be waiting for your return."); - close(); - case 2: - if (Zeny < 10000) { - mes("[Captain Janssen]"); - mes("I'm sorry, but you don't have enough money. I need at least 10,000 Zeny to restock our supplies..."); - close(); - } else { - mes("[Captain Janssen]"); - mes("Excellent! Now we're good to go. Let's pull up the anchor again!"); - Zeny -= 10000; - close2(); - warp("e_tower", 70, 114); - end; - } - } - } else { - mes("[Captain Janssen]"); - mes("Excuse me, are you an adventurer?"); - next(); - mes("[Captain Janssen]"); - mes("I'm sorry to ask you this, especially when this is the first time we've ever met, but can you do me a favor? I'll make it short."); - next(); - mes("[Captain Janssen]"); - mes("Can you donate ^0000ff10,000 Zeny^000000 to me? It's for a cause that's important to me..."); - next(); - switch (select("No!", "Sure thing.")) { - case 1: - mesf("[%s]", .@name$); - mes("I'm sorry, but you've got the wrong person to ask that."); - next(); - mes("[Captain Janssen]"); - mes("I see... Sorry to bother you. I understand it was too rude to ask something like that to begin with."); - close(); - case 2: - mes("[Captain Janssen]"); - mes("Huh? Are you sure that you don't mind giving me that much money? Wow, thank you so much!"); - next(); - if (Zeny < 10000) { - mes("[Captain Janssen]"); - mes("...I'm sorry, but I don't think you have 10,000 Zeny. Thank you for your kindness, but I need more than that."); - close(); - } else { - mesf("[%s]", .@name$); - mes("I don't know why you'd need so much money, but here. You can take it."); - next(); - mes("^0000ffYou have donated 10,000 Zeny to Captain Janssen^000000."); - next(); - mes("[Captain Janssen]"); - mes("Thank you so much! Now I can stock up on food and materials for my ship. You're kind, very kind!"); - Zeny -= 10000; - in_102tower = 1; - close(); - } - } - } -} - -e_tower,81,105,0 script Tower Protection Stone 2_MONEMUS,{ - - .@party_id = getcharid(CHAR_ID_PARTY); - .@p_name$ = getpartyname(.@party_id); - .@md_name$ = _("Endless Tower"); - - .@etower_timer = questprogress(60200, PLAYTIME); // 1 week - .@etower_timer2 = questprogress(60201, PLAYTIME); // 4 hours - - if (!instance_check_party(.@party_id, 2)) { - mes("Make or join a party with more than 1 member and try again."); - close(); - } - if (!.@etower_timer) { - if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2)) { - mes("Confirmed the party has been made. Would you like to reserve entrance to the Endless Tower?"); - next(); - .@str$ = sprintf(_$("Generate Dungeon %s"), .@md_name$); - switch (select(.@str$, "Enter the Dungeon", "Return to Alberta", "Cancel")) { - case 1: - .@instance = instance_create(.@md_name$, .@party_id); - if (.@instance >= 0) { - for (.@i = 1; .@i <= 6; ++.@i) { - if (instance_attachmap(.@i + "@tower", .@instance) == "") { - mesf("Party Name: %s", .@p_name$); - mesf("Party Leader: %s", strcharinfo(PC_NAME)); - mesf("^0000ff%s ^000000- Reservation Failed!", .@md_name$); - instance_destroy(.@instance); - close(); - } - } - instance_set_timeout(14400, 300, .@instance); - instance_init(.@instance); - } - mesf("^0000ff%s^000000 - Try to reserve", .@md_name$); - mes("After making a reservation, you have to talk to NPC behind and select the menu 'Enter the Dungeon' to enter the dungeon."); - close(); - case 2: - callsub(L_Enter, 0, 1, .@md_name$, .@p_name$); - case 3: - mes("I will move you to Alberta."); - close2(); - warp("alberta", 223, 36); - end; - case 4: - close(); - } - } - mes("If you have the dungeon generated already, you can enter it."); - next(); - switch (select("Enter the Dungeon", "Return to Alberta", "Cancel")) { - case 1: - callsub(L_Enter, 1, 1, .@md_name$, .@p_name$); - case 2: - mes("I will move you to Alberta."); - close2(); - warp("alberta", 223, 36); - end; - case 3: - end; - } - } else if (.@etower_timer == 1 && .@etower_timer2 == 2) { - - .@dun_lim_time = etower_timer + 604800; // 1 week - .@dun_lim_time2 = etower_timer + 14400; // 4 hours - .@dun_cur_time = gettimetick(2); - .@dun_ent_t = .@dun_lim_time - .@dun_cur_time; - .@dun_h = .@dun_ent_t / 3600; - .@dun_m = (.@dun_ent_t - (.@dun_h * 3600)) / 60; - .@dun_s = .@dun_ent_t - ((.@dun_h * 3600) + (.@dun_m * 60)); - - mesf("Due to the tower's aftereffects, you cannot enter the dungeon right now, %d hours %d minutes %d seconds left to enter the next dungeon.", .@dun_h, .@dun_m, .@dun_s); - next(); - mes("It is dangerous here. Let me move you to Alberta."); - close2(); - warp("alberta", 223, 36); - end; - } else if (.@etower_timer == 1) { - mes("If you have the dungeon generated already, you can enter it."); - next(); - switch (select("Enter the Dungeon", "Return to Alberta", "Cancel")) { - case 1: - callsub(L_Enter, 0, 0, .@md_name$, .@p_name$); - case 2: - mes("I will move you to Alberta."); - close2(); - warp("alberta", 223, 36); - end; - case 3: - break; - } - close(); - } else { - etower_timer = 0; - erasequest(60200); - erasequest(60201); - mes("^0000ffThe records and after effects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000"); - close(); - } - -L_Enter: - if (has_instance("1@tower") == "") { - mesf("The memorial dungeon %s does not exist.", getarg(2)); - mes("The party leader did not generate the dungeon yet."); - close(); - } else { - mapannounce("e_tower", sprintf(_$("%s of the party, %s, is entering the dungeon, Endless Tower."), strcharinfo(PC_NAME), getarg(3)), bc_map, C_SPRINGGREEN, FW_NORMAL, 12); - if (getarg(1)) { - etower_timer = gettimetick(2); - setquest(60200); - setquest(60201); - } - warp("1@tower", 52, 354); - if (getarg(0) == 0) - close(); - else - end; - } -} - -e_tower,30,30,2 script Huge Vortex CLEAR_NPC,2,2,{ - end; -OnTouch: - mapannounce("e_tower", sprintf(_$("[ %s ], seems to be engulfed by a huge vortex"), strcharinfo(PC_NAME)), bc_map, C_SPRINGGREEN, FW_NORMAL, 12); - warp("alberta", 223, 36); - end; -} - -// Original name: "#102Administrator Mode104" -e_tower,1,1,2 script #102Administrator Mode CLEAR_NPC,{ - callfunc("F_GM_NPC"); - mes("Please enter the password."); - .@i = callfunc("F_GM_NPC", "dmc2008", 1); - next(); - if (.@i == 1) { - switch (select("Generate Purification Stone", "Remove Purification Stone", "Cancel")) { - case 1: - mes("Create the Purification Stone that stays for 30 minutes."); - donpcevent("Purification Stone#et1::OnEnable"); - break; - case 2: - mes("Destroy the Purification Stone immediately"); - donpcevent("Purification Stone#et1::OnDisable"); - break; - case 3: - mes("You have canceled it."); - break; - } - close(); - } else { - mes("Enter the password exactly."); - close(); - } -} - -e_tower,69,117,4 script Purification Stone#et1 2_MONEMUS,{ - etower_timer = 0; - mes("^0000ffThe records and aftereffects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000"); - close(); - -OnInit: - disablenpc("Purification Stone#et1"); - end; - -OnEnable: - initnpctimer(); - end; - -OnDisable: - stopnpctimer(); - disablenpc("Purification Stone#et1"); - end; - -OnTimer1000: - enablenpc("Purification Stone#et1"); - end; - -OnTimer1740000: - mapannounce("e_tower", _("The Purification Stone will be destroyed in one minute."), bc_map, C_SPRINGGREEN); - end; - -OnTimer1800000: - disablenpc("Purification Stone#et1"); - end; -} - -e_tower,151,185,4 script Purification Stone#et2 CLEAR_NPC,{ - callfunc("F_GM_NPC"); - etower_timer = 0; - mes("^0000ffThe records and aftereffects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000"); - close2(); - warp("e_tower", 75, 108); - end; -} - -//== Core Functions ======================================== -function script F_Tower_Monster { - - .@level = getarg(0); - .@map$ = getarg(1); - .@label$ = getarg(2); - - switch (.@level) { - case 1: - areamonster(.@map$, 7, 351, 17, 387, _("Metaling"), METALING, 15, .@label$); - areamonster(.@map$, 7, 351, 17, 387, _("Marin"), MARIN, 5, .@label$); - areamonster(.@map$, 7, 351, 17, 387, _("Poporing"), POPORING, 5, .@label$); - areamonster(.@map$, 7, 351, 17, 387, _("Drops"), DROPS, 5, .@label$); - areamonster(.@map$, 7, 351, 17, 387, _("Mastering"), MASTERING, 1, .@label$); - areamonster(.@map$, 7, 351, 17, 387, _("Poring"), PORING, 5, .@label$); - break; - case 2: - areamonster(.@map$, 93, 351, 103, 387, _("Desert Wolf"), DESERT_WOLF, 20, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Vagabond Wolf"), VAGABOND_WOLF, 1, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Baby Desert Wolf"), DESERT_WOLF_B, 10, .@label$); - break; - case 3: - areamonster(.@map$, 181, 351, 191, 387, _("Archer Skeleton"), ARCHER_SKELETON, 5, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Skel Worker"), SKEL_WORKER, 5, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Soldier Skeleton"), SOLDIER_SKELETON, 5, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Orc Skeleton"), ORC_SKELETON, 5, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Pirate Skeleton"), PIRATE_SKEL, 5, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Skeleton"), SKELETON, 5, .@label$); - break; - case 4: - areamonster(.@map$, 267, 351, 277, 387, _("Argiope"), ARGIOPE, 15, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Mantis"), MANTIS, 5, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Argos"), ARGOS, 5, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Vocal"), VOCAL, 1, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Rocker"), ROCKER, 5, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Hornet"), HORNET, 5, .@label$); - break; - case 5: - areamonster(.@map$, 352, 351, 362, 387, _("Golden Thief Bug"), GOLDEN_BUG, 1, .@label$); - areamonster(.@map$, 352, 351, 362, 387, _("Thief Bug Male"), THIEF_BUG__, 15, .@label$); - areamonster(.@map$, 352, 351, 362, 387, _("Thief Bug Female"), THIEF_BUG_, 15, .@label$); - areamonster(.@map$, 352, 351, 362, 387, _("Thief Bug"), THIEF_BUG, 15, .@label$); - areamonster(.@map$, 352, 351, 362, 387, _("Thief Bug Egg"), THIEF_BUG_EGG, 5, .@label$); - break; - case 6: - areamonster(.@map$, 9, 267, 19, 303, _("Dragon Egg"), DRAGON_EGG, 5, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Thief Bug Egg"), THIEF_BUG_EGG, 5, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Ant Egg"), ANT_EGG, 5, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Pupa"), PUPA, 5, .@label$); - break; - case 7: - areamonster(.@map$, 93, 267, 103, 303, _("Explosion"), EXPLOSION, 15, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Drainliar"), DRAINLIAR, 15, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Anopheles"), ANOPHELES, 15, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Farmiliar"), FARMILIAR, 15, .@label$); - break; - case 8: - areamonster(.@map$, 181, 267, 191, 303, _("Firelock Soldier"), ANTIQUE_FIRELOCK, 15, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Cruiser"), CRUISER, 15, .@label$); - break; - case 9: - areamonster(.@map$, 267, 267, 277, 303, _("Obsidian"), OBSIDIAN, 15, .@label$); - areamonster(.@map$, 267, 267, 277, 303, _("Golem"), GOLEM, 15, .@label$); - areamonster(.@map$, 267, 267, 277, 303, _("Stapo"), STAPO, 10, .@label$); - break; - case 10: - areamonster(.@map$, 352, 267, 362, 303, _("Mistress"), MISTRESS, 1, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Giant Hornet"), GIANT_HONET, 25, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Hornet"), HORNET, 20, .@label$); - break; - case 11: - areamonster(.@map$, 9, 180, 19, 216, _("Dryad"), DRYAD, 15, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Parasite"), PARASITE, 15, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Hermit Plant"), WILD_GINSENG, 15, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Rafflesia"), RAFFLESIA, 5, .@label$); - break; - case 12: - areamonster(.@map$, 93, 180, 103, 216, _("Demon Pungus"), DEMON_PUNGUS, 25, .@label$); - areamonster(.@map$, 93, 180, 103, 216, _("Punk"), PUNK, 25, .@label$); - break; - case 13: - areamonster(.@map$, 181, 180, 191, 216, _("Yao Yun"), HYEGUN, 15, .@label$); - areamonster(.@map$, 181, 180, 191, 216, _("Bongunn"), BON_GUN, 15, .@label$); - areamonster(.@map$, 181, 180, 191, 216, _("Munak"), MUNAK, 10, .@label$); - break; - case 14: - areamonster(.@map$, 267, 180, 277, 216, _("High Orc"), HIGH_ORC, 15, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Orc Archer"), ORC_ARCHER, 10, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Orc Lady"), ORC_LADY, 10, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Orc Warrior"), ORK_WARRIOR, 5, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Orc Baby"), ORC_BABY, 5, .@label$); - break; - case 15: - areamonster(.@map$, 352, 180, 362, 216, _("Maya"), MAYA, 1, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Phreeoni"), PHREEONI, 1, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Deniro"), DENIRO, 15, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Pierre"), PIERE, 15, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Andre"), ANDRE, 15, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Ant Egg"), ANT_EGG, 5, .@label$); - break; - case 16: - areamonster(.@map$, 9, 96, 19, 132, _("Raydric Archer"), RAYDRIC_ARCHER, 10, .@label$); - areamonster(.@map$, 9, 96, 19, 132, _("Orc Archer"), ORC_ARCHER, 10, .@label$); - areamonster(.@map$, 9, 96, 19, 132, _("Gargoyle"), GARGOYLE, 10, .@label$); - areamonster(.@map$, 9, 96, 19, 132, _("Archer Skeleton"), ARCHER_SKELETON, 10, .@label$); - break; - case 17: - areamonster(.@map$, 93, 96, 103, 132, _("Merman"), MERMAN, 10, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Baphomet Jr."), BAPHOMET_, 10, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Strouf"), STROUF, 15, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Hill Wind"), HILL_WIND, 5, .@label$); - break; - case 18: - areamonster(.@map$, 181, 96, 191, 132, _("Cramp"), CRAMP, 25, .@label$); - areamonster(.@map$, 181, 96, 191, 132, _("Tarou"), TAROU, 15, .@label$); - break; - case 19: - areamonster(.@map$, 267, 96, 277, 132, _("Deviace"), DEVIACE, 10, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("Megalodon"), MEGALODON, 10, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("Swordfish"), SWORD_FISH, 10, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("Phen"), PHEN, 10, .@label$); - break; - case 20: - areamonster(.@map$, 352, 96, 362, 132, _("Drake"), DRAKE, 1, .@label$); - areamonster(.@map$, 352, 96, 362, 132, _("Pirate Skeleton"), PIRATE_SKEL, 50, .@label$); - break; - case 21: - areamonster(.@map$, 9, 9, 19, 45, _("Plasma"), PLASMA_Y, 10, .@label$); - areamonster(.@map$, 9, 9, 19, 45, _("Plasma"), PLASMA_P, 10, .@label$); - areamonster(.@map$, 9, 9, 19, 45, _("Plasma"), PLASMA_G, 5, .@label$); - areamonster(.@map$, 9, 9, 19, 45, _("Plasma"), PLASMA_B, 5, .@label$); - areamonster(.@map$, 9, 9, 19, 45, _("Plasma"), PLASMA_R, 5, .@label$); - break; - case 22: - areamonster(.@map$, 93, 9, 103, 45, _("Muscipular"), MUSCIPULAR, 15, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Drosera"), DROSERA, 15, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Flora"), FLORA, 15, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Hydra"), HYDRA, 15, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Mandragora"), MANDRAGORA, 10, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Rafflesia"), RAFFLESIA, 10, .@label$); - break; - case 23: - areamonster(.@map$, 181, 9, 191, 45, _("Penomena"), PENOMENA, 15, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Obeaune"), OBEAUNE, 10, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Marse"), MARSE, 10, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Swordfish"), SWORD_FISH, 10, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Hydra"), HYDRA, 5, .@label$); - break; - case 24: - areamonster(.@map$, 267, 9, 277, 45, _("Joker"), JOKER, 15, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Carat"), CARAT, 15, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Jakk"), JAKK, 10, .@label$); - break; - case 25: - areamonster(.@map$, 352, 9, 362, 45, _("Cat o' Nine Tails"), CAT_O_NINE_TAIL, 15, .@label$); - areamonster(.@map$, 352, 9, 362, 45, _("Moonlight"), MOONLIGHT, 1, .@label$); - areamonster(.@map$, 352, 9, 362, 45, _("Nine Tail"), NINE_TAIL, 15, .@label$); - break; - case 26: - areamonster(.@map$, 9, 351, 19, 387, _("Gibbet"), GIBBET, 10, .@label$); - areamonster(.@map$, 9, 351, 19, 387, _("Enchanted Peach Tree"), LIVE_PEACH_TREE, 10, .@label$); - areamonster(.@map$, 9, 351, 19, 387, _("Wooden Golem"), WOODEN_GOLEM, 10, .@label$); - areamonster(.@map$, 9, 351, 19, 387, _("Stone Shooter"), STONE_SHOOTER, 10, .@label$); - areamonster(.@map$, 9, 351, 19, 387, _("Elder Willow"), ELDER_WILOW, 5, .@label$); - break; - case 27: - areamonster(.@map$, 93, 351, 103, 387, _("Goblin Archer"), GOBLIN_ARCHER, 10, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Goblin"), GOBLIN_1, 10, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Goblin"), GOBLIN_2, 5, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Goblin"), GOBLIN_3, 5, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Gobin"), GOBLIN_4, 5, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Goblin"), GOBLIN_5, 5, .@label$); - break; - case 28: - areamonster(.@map$, 181, 351, 191, 387, _("Arclouse"), ARCLOUSE, 30, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Neraid"), NERAID, 15, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Pest"), PEST, 15, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Kukre"), KUKRE, 10, .@label$); - break; - case 29: - areamonster(.@map$, 267, 351, 277, 387, _("Dark Frame"), DARK_FRAME, 10, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("The Paper"), THE_PAPER, 10, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Hylozoist"), HYLOZOIST, 10, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Quve"), QUVE, 5, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Lude"), LUDE, 5, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Whisper"), WHISPER, 10, .@label$); - break; - case 30: - areamonster(.@map$, 352, 351, 362, 387, _("White Lady"), BACSOJIN_, 1, .@label$); - areamonster(.@map$, 352, 351, 362, 387, _("Evil Nymph"), WICKED_NYMPH, 30, .@label$); - break; - case 31: - areamonster(.@map$, 9, 267, 19, 303, _("Gig"), GIG, 20, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Iron Fist"), IRON_FIST, 15, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Argiope"), ARGIOPE, 10, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Scorpion"), SCORPION, 5, .@label$); - break; - case 32: - areamonster(.@map$, 93, 267, 103, 303, _("Goblin Leader"), GOBLIN_LEADER, 1, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Goblin Archer"), GOBLIN_ARCHER, 10, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Goblin"), GOBLIN_1, 10, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Goblin"), GOBLIN_2, 5, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Goblin"), GOBLIN_3, 5, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Goblin"), GOBLIN_4, 5, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Goblin"), GOBLIN_5, 5, .@label$); - break; - case 33: - areamonster(.@map$, 181, 267, 191, 303, _("Kobold Leader"), KOBOLD_LEADER, 1, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Kobold"), KOBOLD_1, 15, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Kobold_Archer"), KOBOLD_ARCHER, 15, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Kobold"), KOBOLD_2, 10, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Kobold"), KOBOLD_3, 5, .@label$); - break; - case 34: - areamonster(.@map$, 267, 267, 277, 303, _("Flame Skull"), FLAME_SKULL, 20, .@label$); - areamonster(.@map$, 267, 267, 277, 303, _("Whisper"), WHISPER, 10, .@label$); - areamonster(.@map$, 267, 267, 277, 303, _("Giant Whisper"), WHISPER_BOSS, 10, .@label$); - break; - case 35: - areamonster(.@map$, 352, 267, 362, 303, _("Turtle General"), TURTLE_GENERAL, 1, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Freezer"), FREEZER, 10, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Solider"), SOLIDER, 10, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Heater"), HEATER, 10, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Permeter"), PERMETER, 10, .@label$); - break; - case 36: - areamonster(.@map$, 9, 180, 19, 216, _("Anolian"), ANOLIAN, 30, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Grove"), GREEN_IGUANA, 10, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Alligator"), ALLIGATOR, 10, .@label$); - break; - case 37: - areamonster(.@map$, 93, 180, 103, 216, _("Clock Tower Manager"), C_TOWER_MANAGER, 10, .@label$); - areamonster(.@map$, 93, 180, 103, 216, _("Clock"), CLOCK, 10, .@label$); - areamonster(.@map$, 93, 180, 103, 216, _("Alarm"), ALARM, 30, .@label$); - break; - case 38: - areamonster(.@map$, 181, 180, 191, 216, _("Death Word"), DEATHWORD, 25, .@label$); - areamonster(.@map$, 181, 180, 191, 216, _("Rideword"), RIDEWORD, 25, .@label$); - break; - case 39: - areamonster(.@map$, 267, 180, 277, 216, _("Evil Nymph"), WICKED_NYMPH, 10, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Mao Gui"), CIVIL_SERVANT, 10, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Taoist Hermit"), EVIL_CLOUD_HERMIT, 10, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Zhu Po Long"), DANCING_DRAGON, 10, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Jin Guai"), LI_ME_MANG_RYANG, 5, .@label$); - break; - case 40: - areamonster(.@map$, 352, 180, 362, 216, _("Samurai Specter"), INCANTATION_SAMURAI, 1, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Shinobi"), SHINOBI, 10, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Tengu"), TENGU, 10, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Firelock Soldier"), ANTIQUE_FIRELOCK, 5, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Miyabi Doll"), MIYABI_NINGYO, 10, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Karakasa"), KARAKASA, 5, .@label$); - break; - case 41: - areamonster(.@map$, 9, 96, 19, 132, _("Kraben"), KRABEN, 50, .@label$); - break; - case 42: - areamonster(.@map$, 93, 96, 103, 132, _("Sleeper"), SLEEPER, 20, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Sting"), STING, 10, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Mi Gao"), INCREASE_SOIL, 10, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Sandman"), SAND_MAN, 5, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Hode"), HODE, 5, .@label$); - break; - case 43: - areamonster(.@map$, 181, 96, 191, 132, _("Medusa"), MEDUSA, 10, .@label$); - areamonster(.@map$, 181, 96, 191, 132, _("Sidewinder"), SIDE_WINDER, 40, .@label$); - areamonster(.@map$, 181, 96, 191, 132, _("Anacondaq"), ANACONDAQ, 5, .@label$); - areamonster(.@map$, 181, 96, 191, 132, _("Boa"), SNAKE, 5, .@label$); - break; - case 44: - areamonster(.@map$, 267, 96, 277, 132, _("Hatii Baby"), GARM_BABY, 20, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("Baphomet Jr."), BAPHOMET_, 20, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("Orc Baby"), ORC_BABY, 1, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("Baby Desert Wolf"), DESERT_WOLF_B, 10, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("Savage Babe"), SAVAGE_BABE, 10, .@label$); - break; - case 45: - areamonster(.@map$, 352, 96, 362, 132, _("Osiris"), OSIRIS, 1, .@label$); - areamonster(.@map$, 352, 96, 362, 132, _("Ancient Mummy"), ANCIENT_MUMMY, 15, .@label$); - areamonster(.@map$, 352, 96, 362, 132, _("Verit"), VERIT, 15, .@label$); - areamonster(.@map$, 352, 96, 362, 132, _("Mummy"), MUMMY, 20, .@label$); - break; - case 46: - areamonster(.@map$, 9, 9, 19, 45, _("Seeker"), SEEKER, 20, .@label$); - areamonster(.@map$, 9, 9, 19, 45, _("Beholder"), BEHOLDER, 20, .@label$); - break; - case 47: - areamonster(.@map$, 93, 9, 103, 45, _("Deleter"), DELETER, 20, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Deleter"), DELETER_, 10, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Petite"), PETIT_, 10, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Petite"), PETIT, 10, .@label$); - break; - case 48: - areamonster(.@map$, 181, 9, 191, 45, _("Ancient Worm"), ANCIENT_WORM, 10, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Ancient Mummy"), ANCIENT_MUMMY, 10, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Ancient Mimic"), ANCIENT_MIMIC, 10, .@label$); - break; - case 49: - areamonster(.@map$, 267, 9, 277, 45, _("Grizzly"), GRIZZLY, 20, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Leib Olmai"), LEIB_OLMAI, 7, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Zipper Bear"), ZIPPER_BEAR, 5, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Sasquatch"), SASQUATCH, 5, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Bigfoot"), BIGFOOT, 5, .@label$); - break; - case 50: - areamonster(.@map$, 352, 9, 362, 45, _("Pharaoh"), PHARAOH, 1, .@label$); - areamonster(.@map$, 352, 9, 362, 45, _("Amon Ra"), AMON_RA, 1, .@label$); - areamonster(.@map$, 352, 9, 362, 45, _("Anubis"), ANUBIS, 10, .@label$); - areamonster(.@map$, 352, 9, 362, 45, _("Marduk"), MARDUK, 10, .@label$); - areamonster(.@map$, 352, 9, 362, 45, _("Matyr"), MATYR, 10, .@label$); - break; - case 51: - areamonster(.@map$, 9, 351, 19, 387, _("Mini Demon"), MINI_DEMON, 20, .@label$); - areamonster(.@map$, 9, 351, 19, 387, _("Diabolic"), DIABOLIC, 20, .@label$); - areamonster(.@map$, 9, 351, 19, 387, _("Deviruchi"), DEVIRUCHI, 10, .@label$); - break; - case 52: - areamonster(.@map$, 93, 351, 103, 387, _("Harpy"), HARPY, 20, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Grand Peco"), GRAND_PECO, 10, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Bloody Butterfly"), BLOOD_BUTTERFLY, 10, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Gargoyle"), GARGOYLE, 10, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Hill Wind"), HILL_WIND_1, 5, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Hill Wind"), HILL_WIND, 5, .@label$); - break; - case 53: - areamonster(.@map$, 181, 351, 191, 387, _("Assaulter"), ASSULTER, 25, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Shinobi"), SHINOBI, 30, .@label$); - break; - case 54: - areamonster(.@map$, 267, 351, 277, 387, _("Chepet"), CHEPET, 10, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Mariontte"), MARIONETTE, 10, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Miyabi Doll"), MIYABI_NINGYO, 10, .@label$); - break; - case 55: - areamonster(.@map$, 352, 351, 362, 387, _("Medusa"), MEDUSA, 25, .@label$); - areamonster(.@map$, 352, 351, 362, 387, _("Evil Snake Lord"), DARK_SNAKE_LORD, 1, .@label$); - areamonster(.@map$, 352, 351, 362, 387, _("Isis"), ISIS, 15, .@label$); - areamonster(.@map$, 352, 351, 362, 387, _("Sidewinder"), SIDE_WINDER, 15, .@label$); - break; - case 56: - areamonster(.@map$, 9, 267, 19, 303, _("Freezer"), FREEZER, 10, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Hatii Baby"), GARM_BABY, 10, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Ice Titan"), ICE_TITAN, 15, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Snowier"), SNOWIER, 10, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Gazeti"), GAZETI, 10, .@label$); - break; - case 57: - areamonster(.@map$, 93, 267, 103, 303, _("Arc Angeling"), ARCHANGELING, 1, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Deviling"), DEVILING, 1, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Angeling"), ANGELING, 1, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Ghostring"), GHOSTRING, 1, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Mastering"), MASTERING, 1, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Metaling"), METALING, 25, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Marin"), MARIN, 5, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Poporing"), POPORING, 5, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Drops"), DROPS, 5, .@label$); - break; - case 58: - areamonster(.@map$, 181, 267, 191, 303, _("Phendark"), PHENDARK, 20, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Rybio"), RYBIO, 10, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Zombie Prisoner"), ZOMBIE_PRISONER, 10, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Skeleton Prisoner"), SKEL_PRISONER, 5, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Injustice"), INJUSTICE, 5, .@label$); - break; - case 59: - areamonster(.@map$, 267, 267, 277, 303, _("Ancient Mimic"), ANCIENT_MIMIC, 30, .@label$); - areamonster(.@map$, 267, 267, 277, 303, _("Mimic"), MIMIC, 20, .@label$); - areamonster(.@map$, 267, 267, 277, 303, _("Mystcase"), MYSTCASE, 10, .@label$); - break; - case 60: - areamonster(.@map$, 352, 267, 362, 303, _("Egnigem Cenia"), B_YGNIZEM, 1, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Doppelganger"), DOPPELGANGER, 1, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Armeyer Dinze"), ARMAIA, 10, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Wickebine Tres"), WHIKEBAIN, 10, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Laurell Winder"), RAWREL, 10, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Kavach Icarus"), KAVAC, 10, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Errende Ebecee"), EREND, 10, .@label$); - areamonster(.@map$, 352, 267, 362, 303, _("Egnigem Cenia"), YGNIZEM, 10, .@label$); - break; - case 61: - areamonster(.@map$, 9, 180, 19, 216, _("Agav"), AGAV, 10, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Echio"), ECHIO, 10, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Isilla"), ISILLA, 5, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Mobster"), MOBSTER, 10, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Pasana"), PASANA, 10, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Vanberk"), VANBERK, 5, .@label$); - break; - case 62: - areamonster(.@map$, 93, 180, 103, 216, _("Wanderer"), WANDER_MAN, 35, .@label$); - break; - case 63: - areamonster(.@map$, 181, 180, 191, 216, _("Ragged Zombie"), RAGGED_ZOMBIE, 20, .@label$); - areamonster(.@map$, 181, 180, 191, 216, _("Zombie Master"), ZOMBIE_MASTER, 10, .@label$); - areamonster(.@map$, 181, 180, 191, 216, _("Zombie Prisoner"), ZOMBIE_PRISONER, 5, .@label$); - areamonster(.@map$, 181, 180, 191, 216, _("Orc Zombie"), ORC_ZOMBIE, 5, .@label$); - areamonster(.@map$, 181, 180, 191, 216, _("Zombie"), ZOMBIE, 5, .@label$); - break; - case 64: - areamonster(.@map$, 267, 180, 277, 216, _("Ungoliant"), UNGOLIANT, 30, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Ancient Worm"), ANCIENT_WORM, 2, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Caterpillar"), CATERPILLAR, 2, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Creamy Fear"), CREMY_FEAR, 2, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Killer Mantis"), KILLER_MANTIS, 2, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Giant Hornet"), GIANT_HONET, 2, .@label$); - break; - case 65: - areamonster(.@map$, 352, 180, 362, 216, _("Atros"), ATROCE, 1, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Galion"), GALION, 20, .@label$); - break; - case 66: - areamonster(.@map$, 9, 96, 19, 132, _("Incubus"), INCUBUS, 20, .@label$); - areamonster(.@map$, 9, 96, 19, 132, _("Aliot"), ALIOT, 20, .@label$); - areamonster(.@map$, 9, 96, 19, 132, _("Injustice"), INJUSTICE, 10, .@label$); - break; - case 67: - areamonster(.@map$, 93, 96, 103, 132, _("Acidus"), ACIDUS_, 10, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Acidus"), ACIDUS, 10, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Deleter"), DELETER, 5, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Mutant Dragonoid"), MUTANT_DRAGON, 10, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Petite"), PETIT_, 5, .@label$); - break; - case 68: - areamonster(.@map$, 181, 96, 191, 132, _("Lava Golem"), LAVA_GOLEM, 10, .@label$); - areamonster(.@map$, 181, 96, 191, 132, _("Stalactic Golem"), STALACTIC_GOLEM, 10, .@label$); - areamonster(.@map$, 181, 96, 191, 132, _("Ice Titan"), ICE_TITAN, 10, .@label$); - areamonster(.@map$, 181, 96, 191, 132, _("Wooden Golem"), WOODEN_GOLEM, 5, .@label$); - areamonster(.@map$, 181, 96, 191, 132, _("Golem"), GOLEM, 5, .@label$); - break; - case 69: - areamonster(.@map$, 267, 96, 277, 132, _("Dame of Sentinel"), OBSERVATION, 20, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("Mistress of Shelter"), SHELTER, 10, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("Baroness of Retribution"), RETRIBUTION, 10, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("Lady Solace"), SOLACE, 10, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("False Angel"), FAKE_ANGEL, 10, .@label$); - break; - case 70: - areamonster(.@map$, 352, 96, 362, 132, _("Orc Hero"), ORK_HERO, 1, .@label$); - areamonster(.@map$, 352, 96, 362, 132, _("Orc Lord"), ORC_LORD, 1, .@label$); - areamonster(.@map$, 352, 96, 362, 132, _("Orc Baby"), ORC_BABY, 20, .@label$); - break; - case 71: - areamonster(.@map$, 9, 9, 19, 45, _("Succubus"), SUCCUBUS, 20, .@label$); - areamonster(.@map$, 9, 9, 19, 45, _("Nightmare Terror"), NIGHTMARE_TERROR, 20, .@label$); - areamonster(.@map$, 9, 9, 19, 45, _("Incubus"), INCUBUS, 20, .@label$); - areamonster(.@map$, 9, 9, 19, 45, _("Nightmare"), NIGHTMARE, 5, .@label$); - break; - case 72: - areamonster(.@map$, 93, 9, 103, 45, _("Margaretha Sorin"), MAGALETA, 10, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Permeter"), PERMETER, 10, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Errende Ebecee"), EREND, 10, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Enchanted Peach Tree"), LIVE_PEACH_TREE, 10, .@label$); - break; - case 73: - areamonster(.@map$, 181, 9, 191, 45, _("Succubus"), SUCCUBUS, 10, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Loli Ruri"), LOLI_RURI, 20, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Aliza"), ALIZA, 10, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Zealotus"), ZHERLTHSH, 5, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Alice"), ALICE, 5, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Green Maiden"), CHUNG_E, 10, .@label$); - break; - case 74: - areamonster(.@map$, 267, 9, 277, 45, _("Dimik"), DIMIK_2, 6, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Dimik"), DIMIK_4, 6, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Dimik"), DIMIK_3, 6, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Venatu"), VENATU_2, 6, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Dimik"), DIMIK_1, 6, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Archdam"), ARCHDAM, 6, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Venatu"), VENATU_3, 6, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Venatu"), VENATU_4, 6, .@label$); - areamonster(.@map$, 267, 9, 277, 45, _("Venatu"), VENATU_1, 6, .@label$); - break; - case 75: - areamonster(.@map$, 352, 9, 362, 45, _("Baphomet"), BAPHOMET, 1, .@label$); - areamonster(.@map$, 352, 9, 362, 45, _("Dark Lord"), DARK_LORD, 1, .@label$); - areamonster(.@map$, 352, 9, 362, 45, _("Baphomet Jr."), BAPHOMET_, 20, .@label$); - areamonster(.@map$, 352, 9, 362, 45, _("Dark Illusion"), DARK_ILLUSION, 10, .@label$); - break; - case 76: - areamonster(.@map$, 9, 351, 19, 387, _("Abysmal Knight"), KNIGHT_OF_ABYSS, 30, .@label$); - areamonster(.@map$, 9, 351, 19, 387, _("Nightmare Terror"), NIGHTMARE_TERROR, 20, .@label$); - areamonster(.@map$, 9, 351, 19, 387, _("Nightmare"), NIGHTMARE, 10, .@label$); - break; - case 77: - areamonster(.@map$, 93, 351, 103, 387, _("Banshee"), BANSHEE, 30, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Wraith Dead"), WRAITH_DEAD, 10, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Evil Druid"), EVIL_DRUID, 10, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Wraith"), WRAITH, 10, .@label$); - areamonster(.@map$, 93, 351, 103, 387, _("Wind Ghost"), WIND_GHOST, 10, .@label$); - break; - case 78: - areamonster(.@map$, 181, 351, 191, 387, _("Sword Master"), SWORD_GUARDIAN, 5, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Bloody Knight"), BLOODY_KNIGHT, 10, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Abysmal Knight"), KNIGHT_OF_ABYSS, 5, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Dullahan"), DULLAHAN, 10, .@label$); - areamonster(.@map$, 181, 351, 191, 387, _("Raydric"), RAYDRIC, 20, .@label$); - break; - case 79: - areamonster(.@map$, 267, 351, 277, 387, _("Hydro"), HYDRO, 10, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Ferus"), FERUS, 10, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Ferus"), FERUS_, 10, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Deleter"), DELETER_, 5, .@label$); - areamonster(.@map$, 267, 351, 277, 387, _("Petite"), PETIT, 5, .@label$); - break; - case 80: - areamonster(.@map$, 352, 351, 362, 387, _("Falling Bishop"), FALLINGBISHOP, 1, .@label$); - areamonster(.@map$, 352, 351, 362, 387, _("Necromancer"), NECROMANCER, 15, .@label$); - break; - case 81: - areamonster(.@map$, 9, 267, 19, 303, _("Mysteltainn"), MYSTELTAINN, 20, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Ogretooth"), TIRFING, 20, .@label$); - areamonster(.@map$, 9, 267, 19, 303, _("Executioner"), EXECUTIONER, 20, .@label$); - break; - case 82: - areamonster(.@map$, 93, 267, 103, 303, _("Bloody Knight"), BLOODY_KNIGHT, 10, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Agav"), AGAV, 10, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Bloody Murderer"), BLOODY_MURDERER, 10, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Skogul"), SKOGUL, 10, .@label$); - areamonster(.@map$, 93, 267, 103, 303, _("Injustice"), INJUSTICE, 10, .@label$); - break; - case 83: - areamonster(.@map$, 181, 267, 191, 303, _("Skeggiold"), SKEGGIOLD, 10, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Dark Illusion"), DARK_ILLUSION, 10, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Gryphon"), GRYPHON, 10, .@label$); - areamonster(.@map$, 181, 267, 191, 303, _("Chimera"), CHIMERA, 10, .@label$); - break; - case 84: - areamonster(.@map$, 267, 267, 277, 303, _("Succubus"), SUCCUBUS, 10, .@label$); - areamonster(.@map$, 267, 267, 277, 303, _("Dark Illusion"), DARK_ILLUSION, 20, .@label$); - areamonster(.@map$, 267, 267, 277, 303, _("Owl Duke"), OWL_DUKE, 10, .@label$); - areamonster(.@map$, 267, 267, 277, 303, _("Owl Baron"), OWL_BARON, 10, .@label$); - areamonster(.@map$, 267, 267, 277, 303, _("Incubus"), INCUBUS, 10, .@label$); - break; - case 85: - areamonster(.@map$, 352, 267, 362, 303, _("Ifrit"), IFRIT, 1, .@label$); - break; - case 86: - areamonster(.@map$, 9, 180, 19, 216, _("Hydro"), HYDRO, 10, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Gryphon"), GRYPHON, 10, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Chimera"), CHIMERA, 10, .@label$); - areamonster(.@map$, 9, 180, 19, 216, _("Majoruros"), MAJORUROS, 10, .@label$); - break; - case 87: - areamonster(.@map$, 93, 180, 103, 216, _("Salamander"), SALAMANDER, 15, .@label$); - areamonster(.@map$, 93, 180, 103, 216, _("Kasa"), KASA, 20, .@label$); - areamonster(.@map$, 93, 180, 103, 216, _("Lava Golem"), LAVA_GOLEM, 15, .@label$); - areamonster(.@map$, 93, 180, 103, 216, _("Gajomart"), GAJOMART, 10, .@label$); - break; - case 88: - areamonster(.@map$, 181, 180, 191, 216, _("Necromancer"), NECROMANCER, 15, .@label$); - areamonster(.@map$, 181, 180, 191, 216, _("Anubis"), ANUBIS, 15, .@label$); - areamonster(.@map$, 181, 180, 191, 216, _("Wraith Dead"), WRAITH_DEAD, 10, .@label$); - areamonster(.@map$, 181, 180, 191, 216, _("Ancient Mummy"), ANCIENT_MUMMY, 10, .@label$); - areamonster(.@map$, 181, 180, 191, 216, _("Khalitzburg"), KHALITZBURG, 10, .@label$); - break; - case 89: - areamonster(.@map$, 267, 180, 277, 216, _("Odium of Thanatos"), THA_ODIUM, 6, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Despero of Thanatos"), THA_DESPERO, 6, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Maero of Thanatos"), THA_MAERO, 6, .@label$); - areamonster(.@map$, 267, 180, 277, 216, _("Dolor of Thanatos"), THA_DOLOR, 6, .@label$); - break; - case 90: - areamonster(.@map$, 352, 180, 362, 216, _("Valkyrie Randgris"), RANDGRIS, 1, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Baroness of Retribution"), RETRIBUTION, 10, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("Lady Solace"), SOLACE, 10, .@label$); - areamonster(.@map$, 352, 180, 362, 216, _("False Angel"), FAKE_ANGEL, 10, .@label$); - break; - case 91: - areamonster(.@map$, 9, 96, 19, 132, _("Cecil Damon"), SHECIL, 10, .@label$); - areamonster(.@map$, 9, 96, 19, 132, _("Bow Master"), BOW_GUARDIAN, 10, .@label$); - areamonster(.@map$, 9, 96, 19, 132, _("Kavac"), KAVAC, 30, .@label$); - break; - case 92: - areamonster(.@map$, 93, 96, 103, 132, _("Kathryne Keyron"), KATRINN, 15, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Elder"), ELDER, 10, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Laurell Weinder"), RAWREL, 10, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Wind Ghost"), WIND_GHOST, 10, .@label$); - areamonster(.@map$, 93, 96, 103, 132, _("Marduk"), MARDUK, 10, .@label$); - break; - case 93: - areamonster(.@map$, 181, 96, 191, 132, _("Seyren Windsor"), SEYREN, 15, .@label$); - areamonster(.@map$, 181, 96, 191, 132, _("Bloody Knight"), BLOODY_KNIGHT, 10, .@label$); - areamonster(.@map$, 181, 96, 191, 132, _("Abysmal Knight"), KNIGHT_OF_ABYSS, 10, .@label$); - areamonster(.@map$, 181, 96, 191, 132, _("Wanderer"), WANDER_MAN, 10, .@label$); - break; - case 94: - areamonster(.@map$, 267, 96, 277, 132, _("Sword Master"), SWORD_GUARDIAN, 15, .@label$); - areamonster(.@map$, 267, 96, 277, 132, _("Bow Master"), BOW_GUARDIAN, 15, .@label$); - break; - case 95: - areamonster(.@map$, 352, 96, 362, 132, _("Beelzebub"), BEELZEBUB, 1, .@label$); - areamonster(.@map$, 352, 96, 362, 132, _("Hunter Fly"), HUNTER_FLY, 30, .@label$); - areamonster(.@map$, 352, 96, 362, 132, _("Steel Chonchon"), STEEL_CHONCHON, 5, .@label$); - areamonster(.@map$, 352, 96, 362, 132, _("Dragon FLy"), DRAGON_FLY, 5, .@label$); - areamonster(.@map$, 352, 96, 362, 132, _("Chonchon"), CHONCHON, 5, .@label$); - break; - case 96: - areamonster(.@map$, 9, 9, 19, 45, _("Valkyrie"), G_RANDGRIS, 5, .@label$); - areamonster(.@map$, 9, 9, 19, 45, _("Skeggiold"), SKEGGIOLD_, 10, .@label$); - areamonster(.@map$, 9, 9, 19, 45, _("Skeggiold"), SKEGGIOLD, 10, .@label$); - break; - case 97: - areamonster(.@map$, 93, 9, 103, 45, _("Incarnation of Morroc"), MOROCC_1, 5, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Incarnation of Morroc"), MOROCC_2, 5, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Incarnation of Morroc"), MOROCC_3, 5, .@label$); - areamonster(.@map$, 93, 9, 103, 45, _("Incarnation of Morroc"), MOROCC_4, 5, .@label$); - break; - case 98: - areamonster(.@map$, 181, 9, 191, 45, _("Kathryne Keyron"), KATRINN, 2, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Seyren Windsor"), SEYREN, 2, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Margaretha Sorin"), MAGALETA, 2, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Eremes Guile"), EREMES, 2, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Howard Alt-Eisen"), HARWORD, 2, .@label$); - areamonster(.@map$, 181, 9, 191, 45, _("Cecil Damon"), SHECIL, 2, .@label$); - break; - case 99: - for (.@i = 1; .@i <= 7; ++.@i) { - .@mob_ran = rand(1, 30); - if (.@mob_ran == 1) - areamonster(.@map$, 267, 9, 277, 45, _("Kathryne Keyron"), KATRINN, 2, .@label$); - else if (.@mob_ran == 2) - areamonster(.@map$, 267, 9, 277, 45, _("Seyren Windsor"), SEYREN, 2, .@label$); - else if (.@mob_ran == 3) - areamonster(.@map$, 267, 9, 277, 45, _("Margaretha Sorin"), MAGALETA, 2, .@label$); - else if (.@mob_ran == 4) - areamonster(.@map$, 267, 9, 277, 45, _("Eremes Guile"), EREMES, 2, .@label$); - else if (.@mob_ran == 5) - areamonster(.@map$, 267, 9, 277, 45, _("Howard Alt-Eisen"), HARWORD, 2, .@label$); - else if (.@mob_ran == 6) - areamonster(.@map$, 267, 9, 277, 45, _("Cecil Damon"), SHECIL, 2, .@label$); - else if (.@mob_ran == 7) - areamonster(.@map$, 267, 9, 277, 45, _("Incarnation of Morroc"), MOROCC_1, 5, .@label$); - else if (.@mob_ran == 8) - areamonster(.@map$, 267, 9, 277, 45, _("Incarnation of Morroc"), MOROCC_2, 5, .@label$); - else if (.@mob_ran == 9) - areamonster(.@map$, 267, 9, 277, 45, _("Incarnation of Morroc"), MOROCC_3, 5, .@label$); - else if (.@mob_ran == 10) - areamonster(.@map$, 267, 9, 277, 45, _("Incarnation of Morroc"), MOROCC_4, 5, .@label$); - else if (.@mob_ran == 11) - areamonster(.@map$, 267, 9, 277, 45, _("Valkyrie"), G_RANDGRIS, 5, .@label$); - else if (.@mob_ran == 12) - areamonster(.@map$, 267, 9, 277, 45, _("Skeggiold"), SKEGGIOLD_, 10, .@label$); - else if (.@mob_ran == 13) - areamonster(.@map$, 267, 9, 277, 45, _("Skeggiold"), SKEGGIOLD, 10, .@label$); - else if (.@mob_ran == 14) - areamonster(.@map$, 267, 9, 277, 45, _("Seyren Windsor"), SEYREN, 15, .@label$); - else if (.@mob_ran == 15) - areamonster(.@map$, 267, 9, 277, 45, _("Bloody Knight"), BLOODY_KNIGHT, 10, .@label$); - else if (.@mob_ran == 16) - areamonster(.@map$, 267, 9, 277, 45, _("Abysmal Knight"), KNIGHT_OF_ABYSS, 10, .@label$); - else if (.@mob_ran == 17) - areamonster(.@map$, 267, 9, 277, 45, _("Wanderer"), WANDER_MAN, 10, .@label$); - else if (.@mob_ran == 18) - areamonster(.@map$, 267, 9, 277, 45, _("Sword Master"), SWORD_GUARDIAN, 15, .@label$); - else if (.@mob_ran == 19) - areamonster(.@map$, 267, 9, 277, 45, _("Bow Master"), BOW_GUARDIAN, 15, .@label$); - else if (.@mob_ran == 20) - areamonster(.@map$, 267, 9, 277, 45, _("Kathryne Keyron"), KATRINN, 15, .@label$); - else if (.@mob_ran == 21) - areamonster(.@map$, 267, 9, 277, 45, _("Elder"), ELDER, 10, .@label$); - else if (.@mob_ran == 22) - areamonster(.@map$, 267, 9, 277, 45, _("Laurell Weinder"), RAWREL, 10, .@label$); - else if (.@mob_ran == 23) - areamonster(.@map$, 267, 9, 277, 45, _("Wind Ghost"), WIND_GHOST, 10, .@label$); - else if (.@mob_ran == 24) - areamonster(.@map$, 267, 9, 277, 45, _("Marduk"), MARDUK, 10, .@label$); - else if (.@mob_ran == 25) - areamonster(.@map$, 267, 9, 277, 45, _("Cecil Damon"), SHECIL, 10, .@label$); - else if (.@mob_ran == 26) - areamonster(.@map$, 267, 9, 277, 45, _("Bow Master"), BOW_GUARDIAN, 10, .@label$); - else if (.@mob_ran == 27) - areamonster(.@map$, 267, 9, 277, 45, _("Kavach Icarus"), KAVAC, 30, .@label$); - else if (.@mob_ran == 28) - areamonster(.@map$, 267, 9, 277, 45, _("Baroness of Retribution"), RETRIBUTION, 10, .@label$); - else if (.@mob_ran == 29) - areamonster(.@map$, 267, 9, 277, 45, _("Lady Solace"), SOLACE, 10, .@label$); - else - areamonster(.@map$, 267, 9, 277, 45, _("False Angel"), FAKE_ANGEL, 10, .@label$); - } - break; - } - return; -} - -function script F_Tower_Warp { - - setarray(.@x[2], 136, 224, 310, 395, 52, 136, 224, 310, 395, // 2 - 10 - 52, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 11 - 20 - 52, 136, 224, 310, 395, 0, 136, 224, 310, 395, // 21 - 30 - 52, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 31 - 40 - 52, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 41 - 50 - 0, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 51 - 60 - 52, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 61 - 70 - 52, 136, 224, 310, 395, 0, 136, 224, 310, 395, // 71 - 80 - 52, 136, 224, 310, 395, 52, 136, 224, 310, 395, // 81 - 90 - 52, 136, 224, 310, 395, 52, 136, 224, 309); // 91 - 99 - setarray(.@y[2], 354, 354, 354, 354, 270, 270, 270, 270, 270, // 2 - 10 - 183, 183, 183, 183, 183, 99, 99, 99, 99, 99, // 11 - 20 - 12, 12, 12, 12, 12, 0, 354, 354, 354, 354, // 21 - 30 - 270, 270, 270, 270, 270, 183, 183, 183, 183, 183, // 31 - 40 - 99, 99, 99, 99, 99, 12, 12, 12, 12, 12, // 41 - 50 - 0, 354, 354, 354, 354, 270, 270, 270, 270, 270, // 51 - 60 - 183, 183, 183, 183, 183, 99, 99, 99, 99, 99, // 61 - 70 - 12, 12, 12, 12, 12, 0, 354, 354, 354, 354, // 71 - 80 - 270, 270, 270, 270, 270, 183, 183, 183, 183, 183, // 81 - 90 - 99, 99, 99, 99, 99, 12, 12, 12, 12); // 91 - 99 - .@level = getarg(0); - .@map$ = getarg(1); - if (.@x[.@level] > 0 && .@y[.@level] > 0) - warp(.@map$, .@x[.@level], .@y[.@level]); - return; -} - -//== Levels 1-25 =========================================== -1@tower,50,360,0 script Immortal Brazier# CLEAR_NPC,{ - mes("- A Message is Engraved on the Brazier -"); - mes("The one who scatters the ashes of the darkness in this place shall become one step closer to Nacht Sieger, the Hegemon King of the Darkness..."); - next(); - - setarray(.@level$[1], _("26th"), _("51st"), _("76th")); - setarray(.@map$[1], "2@tower", "3@tower", "4@tower"); - .@i = select("26th Level", "51st Level", "76th Level"); - - if (countitem(Dark_Ashes) < .@i) { - mes("-Warning-"); - mesf("To warp to the %s Level, you need %d Ashes of the Darkness.", .@level$[.@i], .@i); - close(); - } - delitem(Dark_Ashes, .@i); - mapannounce(instance_mapname("1@tower"), sprintf(_$("%s. You will be warped to the %s Level."), strcharinfo(PC_NAME), .@level$[.@i]), bc_map, C_SPRINGGREEN); - warp(instance_mapname(.@map$[.@i]), 52, 354); - close(); - -OnInstanceInit: - initnpctimer(); - end; - -OnTimer10000: - mapannounce(instance_mapname("1@tower"), _("Notice : Taming a monster does not count towards defeating them."), bc_map, C_RED); - stopnpctimer(); - end; -} - -1@tower,29,365,1 script #1F Controller CLEAR_NPC,{ - end; - -OnInstanceInit: - callfunc("F_Tower_Monster", 1, instance_mapname("1@tower"), instance_npcname("#1F Controller")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("1@tower"); - .@mob_dead_num = mobcount(.@map$, instance_npcname("#1F Controller")+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - initnpctimer(); - //SetItemPartyInMap in_102floor 1 - } else { - mapannounce(.@map$, sprintf(_$("Remaining Monsters on the 1st Level - %d"), .@mob_dead_num), bc_map, C_SPRINGGREEN); - } - end; - -OnTimer5000: - mapannounce(instance_mapname("1@tower"), _("All Monsters on the 1st Level have been defeated."), bc_map, C_YELLOW); - donpcevent(instance_npcname("1FGate102tower")+"::OnEnable"); - stopnpctimer(); - end; -} - -1@tower,12,393,0 script 1FGate102tower WARPNPC,2,2,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; - -OnEnable: - enablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - callfunc("F_Tower_Monster", atoi(replacestr(strnpcinfo(NPC_NAME), "FGate102tower", "")) + 1, strnpcinfo(NPC_MAP), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"); - end; - -OnTouch_: - callfunc("F_Tower_Warp", atoi(replacestr(strnpcinfo(NPC_NAME), "FGate102tower", "")) + 1, strnpcinfo(NPC_MAP)); - end; - -OnMyMobDead: - .@map$ = strnpcinfo(NPC_MAP); - .@level = atoi(replacestr(strnpcinfo(NPC_NAME), "FGate102tower", "")) + 1; - .@mob_dead_num = mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - initnpctimer(); - //SetItemPartyInMap in_102floor .@level - } else - mapannounce(.@map$, sprintf(_$("Remaining Monsters on the %s Level - %d"), callsub(L_Display, .@level), .@mob_dead_num), bc_map, C_SPRINGGREEN); - end; - -OnTimer5000: - .@level = atoi(replacestr(strnpcinfo(NPC_NAME), "FGate102tower", "")) + 1; - mapannounce(strnpcinfo(NPC_MAP), sprintf(_$("All Monsters on the %s Level have been defeated."), callsub(L_Display, .@level)), bc_map, C_YELLOW); - donpcevent(instance_npcname(.@level+"FGate102tower")+"::OnEnable"); - stopnpctimer(); - end; - -L_Display: - // Display level properly. - .@mod = getarg(0) % 10; - if (.@mod == 1 && getarg(0) != 11) - return sprintf(_$("%dst"), getarg(0)); - else if (.@mod == 2 && getarg(0) != 12) - return sprintf(_$("%dnd"), getarg(0)); - else if (.@mod == 3 && getarg(0) != 13) - return sprintf(_$("%drd"), getarg(0)); - else - return sprintf(_$("%dth"), getarg(0)); - end; -} - -1@tower,96,393,0 duplicate(1FGate102tower) 2FGate102tower WARPNPC,2,2 -1@tower,184,393,0 duplicate(1FGate102tower) 3FGate102tower WARPNPC,2,2 -1@tower,270,393,0 duplicate(1FGate102tower) 4FGate102tower WARPNPC,2,2 -1@tower,355,393,0 duplicate(1FGate102tower) 5FGate102tower WARPNPC,2,2 -1@tower,12,309,0 duplicate(1FGate102tower) 6FGate102tower WARPNPC,2,2 -1@tower,96,309,0 duplicate(1FGate102tower) 7FGate102tower WARPNPC,2,2 -1@tower,184,309,0 duplicate(1FGate102tower) 8FGate102tower WARPNPC,2,2 -1@tower,270,309,0 duplicate(1FGate102tower) 9FGate102tower WARPNPC,2,2 -1@tower,355,309,0 duplicate(1FGate102tower) 10FGate102tower WARPNPC,2,2 -1@tower,12,222,0 duplicate(1FGate102tower) 11FGate102tower WARPNPC,2,2 -1@tower,96,222,0 duplicate(1FGate102tower) 12FGate102tower WARPNPC,2,2 -1@tower,184,222,0 duplicate(1FGate102tower) 13FGate102tower WARPNPC,2,2 -1@tower,270,222,0 duplicate(1FGate102tower) 14FGate102tower WARPNPC,2,2 -1@tower,355,222,0 duplicate(1FGate102tower) 15FGate102tower WARPNPC,2,2 -1@tower,12,138,0 duplicate(1FGate102tower) 16FGate102tower WARPNPC,2,2 -1@tower,96,138,0 duplicate(1FGate102tower) 17FGate102tower WARPNPC,2,2 -1@tower,184,138,0 duplicate(1FGate102tower) 18FGate102tower WARPNPC,2,2 -1@tower,270,138,0 duplicate(1FGate102tower) 19FGate102tower WARPNPC,2,2 -1@tower,355,138,0 duplicate(1FGate102tower) 20FGate102tower WARPNPC,2,2 -1@tower,12,51,0 duplicate(1FGate102tower) 21FGate102tower WARPNPC,2,2 -1@tower,96,51,0 duplicate(1FGate102tower) 22FGate102tower WARPNPC,2,2 -1@tower,184,51,0 duplicate(1FGate102tower) 23FGate102tower WARPNPC,2,2 -1@tower,270,51,0 duplicate(1FGate102tower) 24FGate102tower WARPNPC,2,2 - -1@tower,355,51,0 script 25FGate102tower WARPNPC,2,2,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("25FGate102tower")); - end; - -OnEnable: - enablenpc(instance_npcname("25FGate102tower")); - initnpctimer(); - end; - -OnTouch_: - getitem(Dark_Ashes, 1); - warp(instance_mapname("2@tower"), 52, 354); - end; - -OnTimer120000: - disablenpc(instance_npcname("25FGate102tower")); - donpcevent(instance_npcname("25FGate102tower-2")+"::OnEnable"); - stopnpctimer(); - end; -} - -1@tower,355,51,0 script 25FGate102tower-2 WARPNPC,2,2,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("25FGate102tower-2")); - end; - -OnEnable: - enablenpc(instance_npcname("25FGate102tower-2")); - end; - -OnTouch_: - warp(instance_mapname("2@tower"), 52, 354); - end; -} - -1@tower,71,4,0 script #Broadcast Mode1 CLEAR_NPC,{ - end; - -OnInstanceInit: - initnpctimer(); - end; - -OnTimer15000: -OnTimer60000: - mapannounce(instance_mapname("1@tower"), _("Notice : In any abnormal situation where you defeat a monster, you can't advance to the next level!"), bc_map, C_RED); - end; -OnTimer120000: - mapannounce(instance_mapname("1@tower"), _("Notice : In any abnormal situation where you defeat a monster, you can't advance to the next level!"), bc_map, C_RED); - stopnpctimer(); - end; -} - -1@tower,71,1,0 script #Manager Mode1 CLEAR_NPC,{ - callfunc("F_GM_NPC"); - mes("Please enter the password."); - .@i = callfunc("F_GM_NPC", "dmc2008", 1); - next(); - if (.@i == 1) { - mes("This NPC manages the tower from the 1st to the 25th Level."); - mes("Please enter the Level number to open."); - mes("(i.g.: 1F->1, 25F->25)"); - input(.@input); - next(); - if (.@input < 1 || .@input > 25) { - mes("You can only enter a number from 1 to 25."); - } else { - donpcevent(instance_npcname(.@input+"FGate102tower")+"::OnEnable"); - mesf("*** Level %d is now being opened. ***", .@input); - } - } - close(); -} - -//== Levels 26-50 ========================================== -2@tower,29,365,2 script Immortal Furnace#1 CLEAR_NPC,{ - end; - -OnInstanceInit: - callfunc("F_Tower_Monster", 26, instance_mapname("2@tower"), instance_npcname("Immortal Furnace#1")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("2@tower"); - .@mob_dead_num = mobcount(.@map$, instance_npcname("Immortal Furnace#1")+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - initnpctimer(); - //SetItemPartyInMap in_102floor 26 - } else { - mapannounce(.@map$, sprintf(_$("Remaining Monsters on the 26th Level - %d"), .@mob_dead_num), bc_map, C_SPRINGGREEN); - } - end; - -OnTimer5000: - mapannounce(instance_mapname("2@tower"), _("All Monsters on the 26th Level have been defeated."), bc_map, C_YELLOW); - donpcevent(instance_npcname("26FGate102tower")+"::OnEnable"); - stopnpctimer(); - end; -} - -2@tower,12,393,0 duplicate(1FGate102tower) 26FGate102tower WARPNPC,2,2 -2@tower,96,393,0 duplicate(1FGate102tower) 27FGate102tower WARPNPC,2,2 -2@tower,184,393,0 duplicate(1FGate102tower) 28FGate102tower WARPNPC,2,2 -2@tower,270,393,0 duplicate(1FGate102tower) 29FGate102tower WARPNPC,2,2 -2@tower,355,393,0 duplicate(1FGate102tower) 30FGate102tower WARPNPC,2,2 -2@tower,12,309,0 duplicate(1FGate102tower) 31FGate102tower WARPNPC,2,2 -2@tower,96,309,0 duplicate(1FGate102tower) 32FGate102tower WARPNPC,2,2 -2@tower,184,309,0 duplicate(1FGate102tower) 33FGate102tower WARPNPC,2,2 -2@tower,270,309,0 duplicate(1FGate102tower) 34FGate102tower WARPNPC,2,2 -2@tower,355,309,0 duplicate(1FGate102tower) 35FGate102tower WARPNPC,2,2 -2@tower,12,222,0 duplicate(1FGate102tower) 36FGate102tower WARPNPC,2,2 -2@tower,96,222,0 duplicate(1FGate102tower) 37FGate102tower WARPNPC,2,2 -2@tower,184,222,0 duplicate(1FGate102tower) 38FGate102tower WARPNPC,2,2 -2@tower,270,222,0 duplicate(1FGate102tower) 39FGate102tower WARPNPC,2,2 -2@tower,355,222,0 duplicate(1FGate102tower) 40FGate102tower WARPNPC,2,2 -2@tower,12,138,0 duplicate(1FGate102tower) 41FGate102tower WARPNPC,2,2 -2@tower,96,138,0 duplicate(1FGate102tower) 42FGate102tower WARPNPC,2,2 -2@tower,184,138,0 duplicate(1FGate102tower) 43FGate102tower WARPNPC,2,2 -2@tower,270,138,0 duplicate(1FGate102tower) 44FGate102tower WARPNPC,2,2 -2@tower,355,138,0 duplicate(1FGate102tower) 45FGate102tower WARPNPC,2,2 -2@tower,12,51,0 duplicate(1FGate102tower) 46FGate102tower WARPNPC,2,2 -2@tower,96,51,0 duplicate(1FGate102tower) 47FGate102tower WARPNPC,2,2 -2@tower,184,51,0 duplicate(1FGate102tower) 48FGate102tower WARPNPC,2,2 -2@tower,270,51,0 duplicate(1FGate102tower) 49FGate102tower WARPNPC,2,2 - -2@tower,355,51,0 script 50FGate102tower WARPNPC,2,2,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("50FGate102tower")); - end; - -OnEnable: - enablenpc(instance_npcname("50FGate102tower")); - initnpctimer(); - end; - -OnTouch_: - getitem(Dark_Ashes, 1); - warp(instance_mapname("3@tower"), 52, 354); - end; - -OnTimer120000: - disablenpc(instance_npcname("50FGate102tower")); - donpcevent(instance_npcname("50FGate102tower-2")+"::OnEnable"); - stopnpctimer(); - end; -} - -2@tower,355,51,0 script 50FGate102tower-2 WARPNPC,2,2,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("50FGate102tower-2")); - end; - -OnEnable: - enablenpc(instance_npcname("50FGate102tower-2")); - end; - -OnTouch_: - warp(instance_mapname("3@tower"), 52, 354); - end; -} - -2@tower,71,1,0 script #Manager Mode2 CLEAR_NPC,{ - callfunc("F_GM_NPC"); - mes("Please enter the password."); - .@i = callfunc("F_GM_NPC", "dmc2008", 1); - next(); - if (.@i == 1) { - mes("This NPC manages the tower from the 26st to the 50th Level."); - mes("Please enter the Level number to open."); - mes("(i.g.: 26F->26, 50F->50)"); - input(.@input); - next(); - if (.@input < 26 || .@input > 50) { - mes("You can only enter a number from 26 to 50."); - } else { - donpcevent(instance_npcname(.@input+"FGate102tower")+"::OnEnable"); - mesf("*** Level %d is now being opened. ***", .@input); - } - } - close(); -} - -//== Levels 51-75 ========================================== -3@tower,29,365,2 script Immortal Furnace#2 CLEAR_NPC,{ - end; - -OnInstanceInit: - callfunc("F_Tower_Monster", 51, instance_mapname("3@tower"), instance_npcname("Immortal Furnace#2")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("3@tower"); - .@mob_dead_num = mobcount(.@map$, instance_npcname("Immortal Furnace#2")+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - initnpctimer(); - //SetItemPartyInMap in_102floor 51 - } else { - mapannounce(.@map$, sprintf(_$("Remaining Monsters on the 51st Level - %d"), .@mob_dead_num), bc_map, C_SPRINGGREEN); - } - end; - -OnTimer5000: - mapannounce(instance_mapname("3@tower"), _("All Monsters on the 51st Level have been defeated."), bc_map, C_YELLOW); - donpcevent(instance_npcname("51FGate102tower")+"::OnEnable"); - stopnpctimer(); - end; -} - -3@tower,12,393,0 duplicate(1FGate102tower) 51FGate102tower WARPNPC,2,2 -3@tower,96,393,0 duplicate(1FGate102tower) 52FGate102tower WARPNPC,2,2 -3@tower,184,393,0 duplicate(1FGate102tower) 53FGate102tower WARPNPC,2,2 -3@tower,270,393,0 duplicate(1FGate102tower) 54FGate102tower WARPNPC,2,2 -3@tower,355,393,0 duplicate(1FGate102tower) 55FGate102tower WARPNPC,2,2 -3@tower,12,309,0 duplicate(1FGate102tower) 56FGate102tower WARPNPC,2,2 -3@tower,96,309,0 duplicate(1FGate102tower) 57FGate102tower WARPNPC,2,2 -3@tower,184,309,0 duplicate(1FGate102tower) 58FGate102tower WARPNPC,2,2 -3@tower,270,309,0 duplicate(1FGate102tower) 59FGate102tower WARPNPC,2,2 -3@tower,355,309,0 duplicate(1FGate102tower) 60FGate102tower WARPNPC,2,2 -3@tower,12,222,0 duplicate(1FGate102tower) 61FGate102tower WARPNPC,2,2 -3@tower,96,222,0 duplicate(1FGate102tower) 62FGate102tower WARPNPC,2,2 -3@tower,184,222,0 duplicate(1FGate102tower) 63FGate102tower WARPNPC,2,2 -3@tower,270,222,0 duplicate(1FGate102tower) 64FGate102tower WARPNPC,2,2 -3@tower,355,222,0 duplicate(1FGate102tower) 65FGate102tower WARPNPC,2,2 -3@tower,12,138,0 duplicate(1FGate102tower) 66FGate102tower WARPNPC,2,2 -3@tower,96,138,0 duplicate(1FGate102tower) 67FGate102tower WARPNPC,2,2 -3@tower,184,138,0 duplicate(1FGate102tower) 68FGate102tower WARPNPC,2,2 -3@tower,270,138,0 duplicate(1FGate102tower) 69FGate102tower WARPNPC,2,2 -3@tower,355,138,0 duplicate(1FGate102tower) 70FGate102tower WARPNPC,2,2 -3@tower,12,51,0 duplicate(1FGate102tower) 71FGate102tower WARPNPC,2,2 -3@tower,96,51,0 duplicate(1FGate102tower) 72FGate102tower WARPNPC,2,2 -3@tower,184,51,0 duplicate(1FGate102tower) 73FGate102tower WARPNPC,2,2 -3@tower,270,51,0 duplicate(1FGate102tower) 74FGate102tower WARPNPC,2,2 - -3@tower,355,51,0 script 75FGate102tower WARPNPC,1,1,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("75FGate102tower")); - end; - -OnEnable: - enablenpc(instance_npcname("75FGate102tower")); - initnpctimer(); - end; - -OnTouch_: - getitem(Dark_Ashes, 1); - warp(instance_mapname("4@tower"), 52, 354); - end; - -OnTimer120000: - disablenpc(instance_npcname("75FGate102tower")); - donpcevent(instance_npcname("75FGate102tower-2")+"::OnEnable"); - stopnpctimer(); - end; -} - -3@tower,355,51,0 script 75FGate102tower-2 WARPNPC,2,2,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("75FGate102tower-2")); - end; - -OnEnable: - enablenpc(instance_npcname("75FGate102tower-2")); - end; - -OnTouch_: - warp(instance_mapname("4@tower"), 52, 354); - end; -} - -3@tower,71,1,0 script #Manager Mode3 CLEAR_NPC,{ - callfunc("F_GM_NPC"); - mes("Please enter the password."); - .@i = callfunc("F_GM_NPC", "dmc2008", 1); - next(); - if (.@i == 1) { - mes("This NPC manages the tower from the 51st to the 75th Level."); - mes("Please enter the Level number to open."); - mes("(i.g.: 51F->51, 75F->75)"); - input(.@input); - next(); - if (.@input < 51 || .@input > 75) { - mes("You can only enter a number from 51 to 75."); - } else { - donpcevent(instance_npcname(.@input+"FGate102tower")+"::OnEnable"); - mesf("*** Level %d is now being opened. ***", .@input); - } - } - close(); -} - -//== Levels 76-99 ========================================== -4@tower,29,365,2 script Immortal Furnace#3 CLEAR_NPC,{ - end; - -OnInstanceInit: - callfunc("F_Tower_Monster", 76, instance_mapname("4@tower"), instance_npcname("Immortal Furnace#3")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("4@tower"); - .@mob_dead_num = mobcount(.@map$, instance_npcname("Immortal Furnace#3")+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - initnpctimer(); - //SetItemPartyInMap in_102floor 76 - } else { - mapannounce(.@map$, sprintf(_$("Remaining Monsters on the 76th Level - %d"), .@mob_dead_num), bc_map, C_SPRINGGREEN); - } - end; - -OnTimer5000: - mapannounce(instance_mapname("4@tower"), _("All Monsters on the 76th Level have been defeated."), bc_map, C_YELLOW); - donpcevent(instance_npcname("76FGate102tower")+"::OnEnable"); - stopnpctimer(); - end; -} - -4@tower,12,393,0 duplicate(1FGate102tower) 76FGate102tower WARPNPC,2,2 -4@tower,96,393,0 duplicate(1FGate102tower) 77FGate102tower WARPNPC,2,2 -4@tower,184,393,0 duplicate(1FGate102tower) 78FGate102tower WARPNPC,2,2 -4@tower,270,393,0 duplicate(1FGate102tower) 79FGate102tower WARPNPC,2,2 -4@tower,355,393,0 duplicate(1FGate102tower) 80FGate102tower WARPNPC,2,2 -4@tower,12,309,0 duplicate(1FGate102tower) 81FGate102tower WARPNPC,2,2 -4@tower,96,309,0 duplicate(1FGate102tower) 82FGate102tower WARPNPC,2,2 -4@tower,184,309,0 duplicate(1FGate102tower) 83FGate102tower WARPNPC,2,2 -4@tower,270,309,0 duplicate(1FGate102tower) 84FGate102tower WARPNPC,2,2 -4@tower,355,309,0 duplicate(1FGate102tower) 85FGate102tower WARPNPC,2,2 -4@tower,12,222,0 duplicate(1FGate102tower) 86FGate102tower WARPNPC,2,2 -4@tower,96,222,0 duplicate(1FGate102tower) 87FGate102tower WARPNPC,2,2 -4@tower,184,222,0 duplicate(1FGate102tower) 88FGate102tower WARPNPC,2,2 -4@tower,270,222,0 duplicate(1FGate102tower) 89FGate102tower WARPNPC,2,2 -4@tower,355,222,0 duplicate(1FGate102tower) 90FGate102tower WARPNPC,2,2 -4@tower,12,138,0 duplicate(1FGate102tower) 91FGate102tower WARPNPC,2,2 -4@tower,96,138,0 duplicate(1FGate102tower) 92FGate102tower WARPNPC,2,2 -4@tower,184,138,0 duplicate(1FGate102tower) 93FGate102tower WARPNPC,2,2 -4@tower,270,138,0 duplicate(1FGate102tower) 94FGate102tower WARPNPC,2,2 -4@tower,355,138,0 duplicate(1FGate102tower) 95FGate102tower WARPNPC,2,2 -4@tower,12,51,0 duplicate(1FGate102tower) 96FGate102tower WARPNPC,2,2 -4@tower,96,51,0 duplicate(1FGate102tower) 97FGate102tower WARPNPC,2,2 -4@tower,184,51,0 duplicate(1FGate102tower) 98FGate102tower WARPNPC,2,2 - -4@tower,271,51,0 script 99FGate102tower WARPNPC,2,2,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("99FGate102tower")); - end; - -OnEnable: - enablenpc(instance_npcname("99FGate102tower")); - initnpctimer(); - end; - -OnTouch_: - getitem(Dark_Ashes, 1); - warp(instance_mapname("5@tower"), 101, 72); - end; - -OnTimer120000: - disablenpc(instance_npcname("99FGate102tower")); - donpcevent(instance_npcname("99FGate102tower-2")+"::OnEnable"); - stopnpctimer(); - end; -} - -4@tower,271,51,0 script 99FGate102tower-2 WARPNPC,2,2,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("99FGate102tower-2")); - end; - -OnEnable: - enablenpc(instance_npcname("99FGate102tower-2")); - end; - -OnTouch_: - warp(instance_mapname("5@tower"), 101, 72); - end; -} - -4@tower,71,1,0 script #Manager Mode4 CLEAR_NPC,{ - callfunc("F_GM_NPC"); - mes("Please enter the password."); - .@i = callfunc("F_GM_NPC", "dmc2008", 1); - next(); - if (.@i == 1) { - mes("This NPC manages the tower from the 76th to the 99th Level."); - mes("Please enter the Level number to open."); - mes("(i.g.: 76F->76, 99F->99)"); - input(.@input); - next(); - if (.@input < 76 || .@input > 99) { - mes("You can only enter a number from 76 to 99."); - } else { - donpcevent(instance_npcname(.@input+"FGate102tower")+"::OnEnable"); - mesf("*** Level %d is now being opened. ***", .@input); - } - } - close(); -} - -//== Level 100 ============================================= -5@tower,106,109,2 script Lucid Crystal#102 CLEAR_NPC,{ - if (in_102tower < 10) { - mes("^0000ffA mysterious voice echoes through the room as you touch the lucid crystal radiating a strong light.^000000"); - next(); - mes("[Mysterious Voice]"); - mes("Welcome to my place, intruders. I've had fun watching you endure all the difficulties I've set before you."); - next(); - mes("[Mysterious Voice]"); - mes("Unfortunately, the time has come to end the show."); - next(); - mes("[Mysterious Voice]"); - mes("It's still too early to celebrate your victory against my right-hand man Knothen because he isn't completely destroyed!"); - next(); - mes("[Mysterious Voice]"); - mes("I shall resurrect him for your next show. Defeat him again, and then I'll gladly accept your challenge."); - next(); - mes("[Mysterious Voice]"); - mes("Good-bye for now."); - mes("Once again, I had such a great time, humans. I look forward to seeing you again."); - next(); - mes("^0000ffAs soon as the voice stopped talking, an irresistible force lifted and moved you somewhere else."); - close2(); - in_102tower = 10; - warp("alberta", 223, 36); - } else { - mes("^0000ffThe radiating crystal piece seems to beckon you, just like last time.^000000"); - next(); - mes("[Mysterious Voice]"); - mes("I must have underestimated you... I didn't expect to see you again."); - next(); - mes("[Mysterious Voice]"); - mes("I can smell your sweat, hear the gasps of your exhaustion in combat. Ah~ The human desire for victory always excites me."); - next(); - mes("[Mysterious Voice]"); - mes("I now allow you to come receive an audience from me. Come to me, to Nacht Sieger the Hegemon-King of the Darkness!"); - close2(); - warp(instance_mapname("6@tower"), 32, 12); - } - end; - -OnInstanceInit: -OnDisable: - disablenpc(instance_npcname("Lucid Crystal#102")); - end; - -OnEnable: - enablenpc(instance_npcname("Lucid Crystal#102")); - donpcevent(instance_npcname("#102Effect1")+"::OnEnable"); - end; -} - -5@tower,106,109,2 script #102Effect1 CLEAR_NPC,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("#102Effect1")); - end; - -OnDisable: - disablenpc(instance_npcname("#102Effect1")); - end; - -OnEnable: - enablenpc(instance_npcname("#102Effect1")); - initnpctimer(); - end; - -OnTimer500: - specialeffect(EF_ENHANCE); - stopnpctimer(); - donpcevent(instance_npcname("#102Effect2")+"::OnEnable"); - end; -} - -5@tower,106,109,2 script #102Effect2 CLEAR_NPC,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("#102Effect2")); - end; - -OnDisable: - disablenpc(instance_npcname("#102Effect2")); - end; - -OnEnable: - enablenpc(instance_npcname("#102Effect2")); - initnpctimer(); - end; - -OnTimer500: - specialeffect(EF_ENHANCE); - stopnpctimer(); - donpcevent(instance_npcname("#102Effect1")+"::OnEnable"); - end; -} - -5@tower,82,112,2 script #102FShadowDust1 CLEAR_NPC,{ - end; - -OnInstanceInit: - donpcevent(instance_npcname("#102FShadowDust")+"::OnEnable"); - monster(instance_mapname("5@tower"), 83, 85, _("Entweihen Crothen"), ENTWEIHEN, 1, instance_npcname("#102FShadowDust1")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("5@tower"); - .@mob_dead_num = mobcount(.@map$, instance_npcname("#102FShadowDust1")+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - mapannounce(.@map$, _("Mysterious Voice: Who are you to dare intrude upon my sanctuary?!"), bc_map, C_YELLOW); - donpcevent(instance_npcname("#102FShadowDust")+"::OnDisable"); - donpcevent(instance_npcname("Lucid Crystal#102")+"::OnEnable"); - //SetItemPartyInMap in_102floor 100 - } - end; -} - -5@tower,82,113,2 script #102FShadowDust CLEAR_NPC,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("#102FShadowDust")); - end; - -OnDisable: - killmonsterall(instance_mapname("5@tower")); - end; - -OnEnable: - .@map$ = instance_mapname("5@tower"); - monster(.@map$, 72, 93, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1); - monster(.@map$, 70, 87, _("Thorn of Magic"), G_ENTWEIHEN_M, 1); - monster(.@map$, 68, 83, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1); - monster(.@map$, 70, 80, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1); - monster(.@map$, 74, 81, _("Thorn of Magic"), G_ENTWEIHEN_M, 1); - monster(.@map$, 78, 72, _("Thorn of Magic"), G_ENTWEIHEN_M, 1); - monster(.@map$, 81, 70, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1); - monster(.@map$, 78, 84, _("Thorn of Recovery"), G_ENTWEIHEN_H, 1); - monster(.@map$, 85, 72, _("Thorn of Magic"), G_ENTWEIHEN_M, 1); - monster(.@map$, 91, 74, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1); - monster(.@map$, 79, 77, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1); - monster(.@map$, 82, 80, _("Thorn of Recovery"), G_ENTWEIHEN_H, 1); - monster(.@map$, 87, 83, _("Thorn of Recovery"), G_ENTWEIHEN_H, 1); - monster(.@map$, 80, 92, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1); - monster(.@map$, 81, 89, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1); - monster(.@map$, 85, 93, _("Thorn of Magic"), G_ENTWEIHEN_M, 1); - monster(.@map$, 86, 90, _("Thorn of Recovery"), G_ENTWEIHEN_H, 1); - monster(.@map$, 88, 88, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1); - monster(.@map$, 91, 87, _("Thorn of Magic"), G_ENTWEIHEN_M, 1); - monster(.@map$, 95, 94, _("Thorn of Magic"), G_ENTWEIHEN_M, 1); - monster(.@map$, 91, 96, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1); - monster(.@map$, 90, 82, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1); - monster(.@map$, 96, 98, _("Thorn of Magic"), G_ENTWEIHEN_M, 1); - monster(.@map$, 83, 76, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1); - monster(.@map$, 74, 85, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1); - switch (rand(1, 3)) { - case 1: - monster(.@map$, 82, 85, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1); - break; - case 2: - monster(.@map$, 82, 85, _("Thorn of Magic"), G_ENTWEIHEN_M, 1); - break; - case 3: - monster(.@map$, 82, 85, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1); - break; - } - switch (rand(1, 3)) { - case 1: - monster(.@map$, 84, 85, _("Thorny Skeleton"), G_ENTWEIHEN_R, 1); - break; - case 2: - monster(.@map$, 84, 85, _("Thorn of Magic"), G_ENTWEIHEN_M, 1); - break; - case 3: - monster(.@map$, 84, 85, _("Thorn of Pureness"), G_ENTWEIHEN_S, 1); - break; - } - end; -} - -5@tower,71,1,0 script #Manager Mode5 CLEAR_NPC,{ - callfunc("F_GM_NPC"); - mes("This NPC manages the crystal on the 100th Level. Please enter the password."); - .@i = callfunc("F_GM_NPC", "dmc2008", 1); - next(); - if (.@i == 1) { - donpcevent(instance_npcname("Lucid Crystal#102")+"::OnEnable"); - mes("The 100th Level's crystal has been activated."); - } else - mes("Please enter the correct password."); - close(); -} - -//== Level 101 ============================================= -6@tower,45,89,2 script Life Spring#1 CLEAR_NPC,{ - mes("^0066ffYou took a sip of the spring's clear water, and you feel invigorated.^000000"); - heal((MaxHp - Hp), (MaxSp - Sp)); - close(); - -OnInstanceInit: - donpcevent(instance_npcname("Life Spring#2")+"::OnEnable"); - end; -} - -6@tower,45,89,2 script Life Spring#2 CLEAR_NPC,{ - end; - -OnEnable: - specialeffect(EF_BUBBLE); - initnpctimer(); - end; - -OnTimer2000: - stopnpctimer(); - donpcevent(instance_npcname("Life Spring#3")+"::OnEnable"); - end; -} - -6@tower,45,89,2 script Life Spring#3 CLEAR_NPC,{ - end; - -OnEnable: - specialeffect(EF_BUBBLE); - initnpctimer(); - end; - -OnTimer2000: - stopnpctimer(); - donpcevent(instance_npcname("Life Spring#2")+"::OnEnable"); - end; -} - -6@tower,32,100,0 warp 102FGate102tower 2,2,6@tower,155,64 - -6@tower,156,151,2 script Tyrant's Throne# CLEAR_NPC,{ - end; - -OnInstanceInit: - areamonster(instance_mapname("6@tower"), 154, 73, 156, 75, _("Watcher's Son"), ANOPHELES, 10, instance_npcname("Tyrant's Throne#")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@mob_dead_num = mobcount(instance_mapname("6@tower"), instance_npcname("Tyrant's Throne#")+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - donpcevent(instance_npcname("#1st Beeper")+"::OnEnable"); - disablenpc(instance_npcname("Tyrant's Throne#")); - } - end; -} - -6@tower,156,151,2 script #1st Beeper CLEAR_NPC,{ - end; - -OnEnable: - initnpctimer(); - end; - -OnTimer500: - mapannounce(instance_mapname("6@tower"), _("Guests, huh? I hope you've come here knowing that you'll be buried in this place. If you didn't know, well... it's too late!"), bc_map, "0x00ffcc"); - end; - -OnTimer5500: - mapannounce(instance_mapname("6@tower"), _("This is why you adventurers always end up dead."), bc_map, "0x00ffcc"); - end; - -OnTimer10500: - mapannounce(instance_mapname("6@tower"), _("I may applaud you for your courage... Of course, I intend to play with you a little bit first."), bc_map, "0x00ffcc"); - end; - -OnTimer15500: - mapannounce(instance_mapname("6@tower"), _("You know, I like watching humans running around in fear."), bc_map, "0x00ffcc"); - end; - -OnTimer20500: - .@map$ = instance_mapname("6@tower"); - mapannounce(.@map$, _("Let's see who runs fastest. Are you ready?"), bc_map, "0x00ffcc"); - stopnpctimer(); - areamonster(.@map$, 151, 66, 153, 106, _("Bone Guardian"), ORC_SKELETON, 50, instance_npcname("#1st Beeper")+"::OnMyMobDead"); - areamonster(.@map$, 158, 66, 160, 106, _("Bone Guardian"), ORC_SKELETON, 50, instance_npcname("#1st Beeper")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("6@tower"); - .@mob_dead_num = mobcount(.@map$, instance_npcname("#1st Beeper")+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - donpcevent(instance_npcname("#2nd Beeper")+"::OnEnable"); - //SetItemPartyInMap in_102floor 101 - } else { - mapannounce(.@map$, sprintf(_$("Remaining Targets %dea"), .@mob_dead_num), bc_map, C_SPRINGGREEN); - } - end; -} - -6@tower,156,151,2 script #2nd Beeper CLEAR_NPC,{ - end; - -OnEnable: - initnpctimer(); - end; - -OnTimer500: - mapannounce(instance_mapname("6@tower"), _("Well, I guess they aren't too challenging for you."), bc_map, "0x00ffcc"); - end; - -OnTimer5500: - mapannounce(instance_mapname("6@tower"), _("Let's speed up a little bit, shall we?"), bc_map, "0x00ffcc"); - end; - -OnTimer10500: - .@map$ = instance_mapname("6@tower"); - mapannounce(.@map$, _("I demand an encore!"), bc_map, "0x00ffcc"); - stopnpctimer(); - areamonster(.@map$, 151, 66, 153, 106, _("Wind Guardian"), WIND_GHOST, 30, instance_npcname("#2nd Beeper")+"::OnMyMobDead"); - areamonster(.@map$, 158, 66, 160, 106, _("Wind Guardian"), WIND_GHOST, 30, instance_npcname("#2nd Beeper")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("6@tower"); - .@mob_dead_num = mobcount(.@map$, instance_npcname("#2nd Beeper")+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - donpcevent(instance_npcname("#3rd Beeper")+"::OnEnable"); - //SetItemPartyInMap in_102floor 102 - } else { - mapannounce(.@map$, sprintf(_$("Remaining Targets %dea"), .@mob_dead_num), bc_map, C_SPRINGGREEN); - } - end; -} - -6@tower,156,151,2 script #3rd Beeper CLEAR_NPC,{ - end; - -OnEnable: - initnpctimer(); - end; - -OnTimer500: - mapannounce(instance_mapname("6@tower"), _("Yes, this is getting exciting!"), bc_map, "0x00ffcc"); - end; - -OnTimer5500: - mapannounce(instance_mapname("6@tower"), _("I'll remember you as one of a few that have managed to entertain me."), bc_map, "0x00ffcc"); - end; - -OnTimer10500: - .@map$ = instance_mapname("6@tower"); - mapannounce(.@map$, _("How would you like to play one more round?"), bc_map, "0x00ffcc"); - stopnpctimer(); - areamonster(.@map$, 151, 66, 153, 106, _("Sword Edge Guardian"), KHALITZBURG, 20, instance_npcname("#3rd Beeper")+"::OnMyMobDead"); - areamonster(.@map$, 158, 66, 160, 106, _("Sword Edge Guardian"), KHALITZBURG, 20, instance_npcname("#3rd Beeper")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("6@tower"); - .@mob_dead_num = mobcount(.@map$, instance_npcname("#3rd Beeper")+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - donpcevent(instance_npcname("#4th Beeper")+"::OnEnable"); - //SetItemPartyInMap in_102floor 103 - } else { - mapannounce(.@map$, sprintf(_$("Remaining Targets %dea"), .@mob_dead_num), bc_map, C_SPRINGGREEN); - } - end; -} - -6@tower,156,151,2 script #4th Beeper CLEAR_NPC,{ - end; - -OnEnable: - initnpctimer(); - end; - -OnTimer500: - mapannounce(instance_mapname("6@tower"), _("Okay, the time has come to make my appearance!"), bc_map, "0x00ffcc"); - end; - -OnTimer5500: - mapannounce(instance_mapname("6@tower"), _("Do you want to know who I am?"), bc_map, "0x00ffcc"); - end; - -OnTimer10500: - .@map$ = instance_mapname("6@tower"); - mapannounce(.@map$, _("You'll soon know. Mine is the face of death!"), bc_map, "0x00ffcc"); - stopnpctimer(); - monster(.@map$, 156, 147, _("Nacht Sieger"), NAGHT_SIEGER, 1, instance_npcname("#4th Beeper")+"::OnMyMobDead"); - end; - -OnMyMobDead: - donpcevent(instance_npcname("Lost Soul#102")+"::OnEnable"); - end; -} - -6@tower,169,127,2 script Lost Soul#102 4_M_NFDEADSWDMAN,{ - if (checkweight(Knife, 1) == 0) { - mes("You're carrying too much stuff. Why don't you put some of it away, and then come back?"); - close(); - } - mes("[Lost Souls]"); - mes("It's you that have liberated us from the evil Nacht Sieger."); - next(); - mes("[Lost Souls]"); - mes("Thank you so much. Now we can escape from this cold and dark place... to heaven."); - next(); - if (countitem(Twin_Edge_B) > 0 && countitem(Twin_Edge_R) > 0) { - mes("[Lost Souls]"); - mes("Hey, you have the remnants of Nacht Sieger with you."); - next(); - mes("[Lost Souls]"); - mes("They may appear to be one-handed swords, but I can put them together to make a two-handed one if you want. That's the only way I can repay you for freeing me."); - next(); - switch (select("Make a Two-Handed Sword.", "No, thanks.")) { - case 1: - mes("[Lost Souls]"); - mes("If it is already upgraded or has a card inside, those effects will be disappear. Is this ok with you?"); - next(); - switch (select("It's fine with me. Please make one.", "No way!")) { - case 1: - mes("[Lost Souls]"); - mes("Good, then I'll combine these to create a two-handed sword."); - next(); - delitem(Twin_Edge_B, 1); - delitem(Twin_Edge_R, 1); - getitem(Violet_Fear, 1); - break; - case 2: - mes("[Lost Souls]"); - mes("I see. I guess you aren't as greedy or ambitious as those other adventurers."); - next(); - break; - } - break; - case 2: - mes("[Lost Souls]"); - mes("I see. I guess you aren't as greedy or ambitious as those other adventurers."); - next(); - break; - } - } - mes("[Lost Souls]"); - mes("I'd like to talk to you more, but I've... I've got to go now."); - next(); - mes("[Lost Souls]"); - mes("Farewell, young adventurer. I wish you good luck."); - close2(); - warp("alberta", 223, 36); - end; - -OnInstanceInit: - disablenpc(instance_npcname("Lost Soul#102")); - end; - -OnEnable: - initnpctimer(); - enablenpc(instance_npcname("Lost Soul#102")); - donpcevent(instance_npcname("#Effect30")+"::OnEnable"); - //SetItemPartyInMap in_102floor 104 - end; - -OnTimer500: - mapannounce(instance_mapname("6@tower"), _("This... This can't be happening! I can't be defeated!"), bc_map, C_YELLOW); - end; - -OnTimer5500: - mapannounce(instance_mapname("6@tower"), _("Nooo! My soul... My shell...! Nooo~!"), bc_map, C_YELLOW); - end; - -OnTimer10500: - mapannounce(instance_mapname("6@tower"), _("Nacht Sieger's body has turned into dark ashes that scattered in the wind."), bc_map, "0x00ffcc"); - stopnpctimer(); - end; -} - -6@tower,169,127,2 script #Effect30 CLEAR_NPC,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("#Effect30")); - end; - -OnEnable: - specialeffect(EF_CONE); - initnpctimer(); - end; - -OnTimer1000: - stopnpctimer(); - donpcevent(instance_npcname("#Effect31")+"::OnEnable"); - end; -} - -6@tower,169,127,2 script #Effect31 CLEAR_NPC,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("#Effect31")); - end; - -OnEnable: - specialeffect(EF_CONE); - initnpctimer(); - end; - -OnTimer1000: - stopnpctimer(); - donpcevent(instance_npcname("#Effect30")+"::OnEnable"); - end; -} diff --git a/npc/instances/NydhoggsNest.txt b/npc/instances/NydhoggsNest.txt deleted file mode 100644 index f39f48e93..000000000 --- a/npc/instances/NydhoggsNest.txt +++ /dev/null @@ -1,2311 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2020 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see <http://www.gnu.org/licenses/>. -//========================================================================= -//= Nidhoggr's Nest -//================= Description =========================================== -//= Nidhoggr's Nest Instance -//================= Current Version ======================================= -//= 1.6 -//========================================================================= - -nyd_dun02,100,201,3 script Yggdrasil Gatekeeper HIDDEN_NPC,8,8,{ - if (ins_nyd == 0) { - mes("A great stone gate stands before you. The sculpture of a terrible dragon spreads its powerful looking wings."); - next(); - mes("Near the bottom of the gate, Laphine tribeswomen have been turned to stone and now look like they are part of the great door."); - next(); - switch (select("Move closer to look more carefully.", "Step back.")) { - case 1: - specialeffect(EF_HOLYHIT, AREA, playerattached()); - pushpc(3, 3); - if (ep13_1_edq == 14) - ep13_1_edq = 15; - mes("A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door..."); - next(); - mes("Perhaps there's a great hidden secret beyond the gate, beyond expectation."); - next(); - mes("It would be better to go back to camp and inform the others and ask for help."); - if (ep13_1_edq != 15) { - next(); - mes("You'll have to obtain the others trust in the expendition camp by working hard."); - } - ins_nyd = 1; - close(); - case 2: - close(); - } - } else if (ins_nyd == 1) { - mes("A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door..."); - next(); - mes("Perhaps there's a great hidden secret beyond the gate, beyond expectation."); - next(); - mes("It would be better to go back to camp and inform the others and ask for help."); - if (ep13_1_edq == 14 || ep13_1_edq == 15) { - ep13_1_edq = 15; - close(); - } - next(); - mes("You'll have to obtain the others trust in the expendition camp by working hard."); - close(); - } else if (ins_nyd == 111 || ins_nyd == 112) { - specialeffect(EF_CHANGECOLD, AREA, playerattached()); - mes("The strange sensation surrounding your body has disappeared"); - next(); - mes("When you touch the stone gate, you hear a commanding voice."); - next(); - mes("[??????]"); - mes("Wingless one... Our promised words..."); - next(); - switch (select("'Guardian's spell'!", "Take a step back.")) { - case 1: - mes("[??????]"); - mes("Promised words... Guardian's spell... proof of their existence."); - next(); - mes("[Yggdrasil Gatekeeper]"); - mes("In the name of Yggdrasiliad, I will accept you as a servant of the Guardian."); - next(); - specialeffect(EF_CHANGECOLD, AREA, playerattached()); - ins_nyd = 200; - mes("[Yggdrasil Gatekeeper]"); - mes("I accept your entrance through the Guardian's gate. You are now considered a faithful servant of the Guardian Nidhoggur."); - next(); - mes("The voice has disappeared, and the dark power is calming down from behind the stone gate."); - close(); - case 2: - close(); - } - } else if (ins_nyd == 131 || ins_nyd == 132 || ins_nyd > 199) { - - .@party_id = getcharid(CHAR_ID_PARTY); - .@md_name$ = _("Nidhoggur's Nest"); - - .@ins_nyd_check = questprogress(3135, PLAYTIME); // 3 Day cooldown - .@ins_nyd_check2 = questprogress(3136, PLAYTIME); // 4 Hour play limit - - mes("As I put my hands on the stone gate, a voice sounded from the depth of my heart."); - next(); - if (!.@ins_nyd_check && !.@ins_nyd_check2) { - if (!instance_check_party(.@party_id, 2, 70)) { - mes("[Yggdrasil Gatekeeper]"); - mes("Where are the other servants, so you can work together? Each servant cannot be admitted here individually..."); - next(); - mes("[Yggdrasil Gatekeeper]"); - mes("Come with at least 1 more servant... Only party leaders can accept admission to Nidhoggur's Nest."); - next(); - mes("[Yggdrasil Gatekeeper]"); - mes("And only 1 representative of you needs to talk to me, so don't annoy me..."); - close(); - } - if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2)) { - mes("[Yggdrasil Gatekeeper]"); - mes("The loyal servants of the Guardian... what can I do for you?"); - next(); - switch (select("Please allow me to enter.", "I want to go in.", "I want to leave.")) { - case 1: - .@instance = instance_create(.@md_name$, .@party_id); - if (.@instance >= 0) { - for (.@i = 1; .@i <= 2; ++.@i) { - if (instance_attachmap(.@i + "@nyd", .@instance) == "") { - mes("[Yggdrasil Gatekeeper]"); - mes("The Guardian seems to wish to be alone. I will go in and check, please wait out here."); - instance_destroy(.@instance); - close(); - } - } - instance_set_timeout(144000, 300, .@instance); - instance_init(.@instance); - } - mes("[Yggdrasil Gatekeeper]"); - mes("I've recorded your request, are you ready to go inside?"); - next(); - mes("[Yggdrasil Gatekeeper]"); - mes("If you are ready, I will allow you to enter."); - close(); - case 2: - callsub(L_Enter); - case 3: - close(); - } - } - mes("[Yggdrasil Gatekeeper]"); - mes("If you have the dungeon generated already, you can enter it."); - next(); - if (select("I want to go in.", "I want to leave.") == 2) - close(); - callsub(L_Enter); - } else { - .@instance = has_instance2("1@nyd"); - if (.@instance >= 0) - instance_attach(.@instance); - if (.@ins_nyd_check == 1) { - if ('ins_nyd2 == 3 || 'ins_nyd2 == 4) { - mes("[Yggdrasil Gatekeeper]"); - mes("With the defeat of Nidhoggur's Shadow, the roots of the World Tree Yggdrasil are also affected."); - next(); - mes("[Yggdrasil Gatekeeper]"); - mes("After Nidhoggur's Shadow disappears, at least 3 days is needed for stabilizing."); - close(); - } - mes("[Yggdrasil Gatekeeper]"); - mes("If you have the dungeon generated already, you can enter it."); - next(); - if (select("I want to go in.", "I want to leave.") == 2) - close(); - callsub(L_Enter); - } else if (.@ins_nyd_check == 2) { - if (.@ins_nyd_check2 == 1) { - mes("[Yggdrasil Gatekeeper]"); - mes("The time limit to enter the dungeon has expired. You must wait for the World Tree to stabilize its power before trying to re-enter."); - close(); - } else if (.@ins_nyd_check2 == 2) { - mes("[Yggdrasil Gatekeeper]"); - mes("The World Tree Yggdrasil has stabilized. Would you like to enter Nidhoggur's Nest again?"); - next(); - mes("[Yggdrasil Gatekeeper]"); - mes("If you would like to enter again, please register with me."); - erasequest(3135); - erasequest(3136); - 'ins_nyd2 = 0; - close(); - } - } - } - close(); - } else { - mes("A great stone gate stands before you. The sculpture of a terrible dragon spreads its powerful looking wings."); - next(); - mes("Near the bottom of the gate, Laphine tribeswomen have been turned to stone and now look like they are part of the great door."); - next(); - switch (select("Move closer to look more carefully.", "Step back.")) { - case 1: - specialeffect(EF_HOLYHIT, AREA, playerattached()); - pushpc(3, 3); - mes("A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door..."); - next(); - mes("Perhaps there's a great hidden secret beyond the gate, beyond expectation."); - close(); - case 2: - close(); - } - } - close(); - -L_Enter: - if (has_instance("1@nyd") == "") { - mes("[Yggdrasil Gatekeeper]"); - mes("You did not request for entrance. Please let your leader request entrance."); - close(); - } else { - mapannounce("nyd_dun02", sprintf(_$("%s's party member %s has entered Nidhoggur's Nest."), getpartyname(getcharid(CHAR_ID_PARTY)), strcharinfo(PC_NAME)), bc_map, C_SPRINGGREEN); - if (!questprogress(3135)) - setquest(3135); - if (!questprogress(3136)) - setquest(3136); - warp("1@nyd", 32, 37); - close(); - } - -OnTouch_: - if (ins_nyd == 0) { - specialeffect(EF_CHANGECOLD, AREA, playerattached()); - specialeffect(EF_CHANGECOLD); - } - end; -} - -mid_camp,271,299,3 script Historian Magnifier#edq 4_M_SAGE_C,3,3,{ - mes("[Historian Magniffer]"); - if (ins_nyd == 1) { - mes("Sure, the mainland also has lots of interesting adventures... Hello, I am Magnifier, a historian dispatched from the Prontera royal court."); - next(); - mes("[Historian Magniffer]"); - mes("Finding another line of work might make for a really worthy job, but only a historian gets to know the world over.."); - next(); - mes("[Historian Magniffer]"); - mes("How this world is organized... and the way of the future! With our studies of the past and present we can predict what is to come."); - next(); - mes("[Historian Magniffer]"); - mes("We are expecting a lot from you, expert adventurer. So, if you find anything... just tell me."); - close(); - } else if (ins_nyd == 2) { - mes("Does Commander Agip want to talk to me? Let's listen to his story."); - next(); - mes("[Historian Magniffer]"); - mes("Did you find the cave that the fairy tribes treat as a holy place? You are a really tough cookie. What did you find?"); - next(); - mes("[Historian Magnifier]"); - mes("..."); - next(); - mes("... ..."); - next(); - mes("[Historian Magnifier]"); - mes("Wait a second... I have a brilliant idea."); - next(); - mes("[Historian Magnifier]"); - mes("Let's see... This book... No... this one...? Hmm... Maybe this..."); - next(); - mes("[Historian Magnifier]"); - mes("..."); - next(); - mes("[Historian Magnifier]"); - mes("... ..."); - next(); - mes("[Historian Magnifier]"); - mes("Oh, here it is! World Tree Yggdrasil and God's tribes... This is their book!"); - next(); - mes("[Historian Magnifier]"); - mes("Maybe you found the central line to enter into the World Tree Yggdrasil!"); - next(); - mes("[Historian Magnifier]"); - mes("If that's true, you've found the greatest discovery since the harnessing of mana. Isn't this exciting?"); - next(); - mes("[Historian Magnifier]"); - mes("But we need a lot more information... Are they refusing you admission?"); - next(); - mes("[Historian Magnifier]"); - mes("I will send a message to my assistant who is in the Prontera Library. So, help her find more information."); - next(); - mes("[Historian Magnifier]"); - mes("I will definitely help you find a way to enter the World Tree directly so, just believe in me! Okay~!!"); - ins_nyd = 3; - close(); - } else if (ins_nyd == 3) { - mes("Why are you standing there? Go to my assistant in the Prontera Library!"); - close(); - } else if (ins_nyd == 4) { - mes("You've come back... Good, how's Naomi? Actually, I don't need to worry about her. She is always cheerful. Haha."); - next(); - mes("[Historian Magnifier]"); - mes("You look like you have a lot on your mind... Your face is full of curiosity and questions."); - next(); - mes("[Historian Magnifier]"); - mes("So, did you read the whole story that I have prepared?"); - next(); - switch (select("Not yet.", "I read all the stories.")) { - case 1: - mes("[Historian Magnifier]"); - mes("Sheesh~ I prepared these stories for you carefully, but you didn't bother to check anything out did you?"); - next(); - mes("[Historian Magnifier]"); - mes("It would be better if you returned after reading all of them. That's very basic data of what we should do for the future."); - close(); - case 2: - mes("[Historian Magnifier]"); - mes("Hm, good job. Maybe I don't need to check anything else, right?"); - next(); - mes("[Historian Magnifier]"); - mes("I sent you to figure out which basic materials will be needed for the jobs ahead of us. You should bring research reports..."); - next(); - mes("[Historian Magnifier]"); - mes("You might complain about why I didn't bring any myself... That's because I trust your abilities, don't ever take anything for granted."); - next(); - mes("[Historian Magnifier]"); - mes("But a while ago, while you were tranferring reports from Commander Agip to the mainland, you lost those reports... remember?"); - next(); - mes("[Historian Magnifier]"); - mes("So far, nothing's come up... Was it that somebody attacked you?"); - next(); - mes("[Historian Magnifier]"); - mes("Somehow, the truth will come out, but we should be careful of shocking the natives if we go there unannounced and they're not prepared for our arrival."); - next(); - mes("[Historian Magnifier]"); - mes("I've talked too much... Anyway, as you know through my report, you've found a great thing!"); - next(); - mes("[Historian Magnifier]"); - mes("Firstly, we should find out more about the place. I expect we can, but... we can't do much without help from others."); - next(); - mes("[Historian Magnifier]"); - mes("I have heard about recent expeditions of adventurers that have tried to contact the tribes... Have you heard anything about this?"); - next(); - mes("[Historian Magnifier]"); - mes("Anyway, let's try to contact them first, to be clear about any caves or treasures."); - next(); - mes("[Historian Magnifier]"); - mes("For now, you try to contact the Sapha and Laphine tribes, and try to extract information from them."); - next(); - mes("[Historian Magnifier]"); - mes("I'll also keep searching here. If you find anything, come back and let me know."); - ins_nyd = 5; - close(); - } - } else if (ins_nyd == 5 || ins_nyd == 51 || ins_nyd == 52) { - mes("Okay, let's try to contact them first, to be clear about any caves or treasures."); - next(); - mes("[Historian Magnifier]"); - mes("For now, you try to contact the Sapha and Laphine tribes, and try to extract more information."); - next(); - mes("[Historian Magnifier]"); - mes("I'll also keep searching here. If you find anything, come back and let me know."); - close(); - } else if (ins_nyd == 61 || ins_nyd == 62) { - mes("Ah, you've come at a proper time. I found a curious thing while looking for reports from Arunafeltz."); - next(); - mes("[Historian Magnifier]"); - mes("Right now, we are standing on part of one of the roots of the World Tree Yggdrasil."); - next(); - mes("[Historian Magnifier]"); - mes("This spot is connected to World Tree by the root. I think we can expect confrontations between the Sapha and Laphine here eventually, don't you think?"); - next(); - mes("[Historian Magnifier]"); - mes("As I expected, the cave is the entrance to go to one of Yggdrasil's roots..."); - next(); - mes("[Historian Magnifier]"); - mes("Did you find anything about the Sapha and Laphine?"); - next(); - mes("..."); - next(); - mes("... ..."); - next(); - mes("[Historian Magnifier]"); - mes("Both sides act ambiguously, so... I'm getting worried..."); - next(); - mes("[Historian Magnifier]"); - mes("The two tribes have some trouble amongst their top leaders. It's not anything official, but..."); - next(); - mes("[Historian Magnifier]"); - mes("Let's report to Commander Agip about the situation so far. Then, we wait on his decision."); - ins_nyd = 7; - close(); - } else if (ins_nyd == 7 || ins_nyd == 8) { - mes("Report to Commander Hibba Agip about what we have discovered, since time is dependent on his decision."); - close(); - } else if (ins_nyd == 121 || ins_nyd == 122 || ins_nyd == 131 || ins_nyd == 132 || ins_nyd == 14) { - mes("So that's how it is... we were right about some parts of it... it's called the Guardian's Nest."); - next(); - mes("[Historian Magnifier]"); - mes("We have gained a large amount of knowledge today, but..."); - next(); - mes("[Historian Magnifier]"); - mes("What we have figured out... how is it going to influence mankind? It's so unpredictable..."); - next(); - mes("[Historian Magnifier]"); - mes("This is only the beginning...we will be quite busy from now on."); - next(); - mes("[Historian Magnifier]"); - mes("First, report to Commander Agip, then act according to the situation. Let me organize my research findings..."); - close(); - } else { - mes("Sure, the mainland also has lots of interesting adventures... Hello, I am Magnifier, a historian dispatched from the Prontera royal court."); - next(); - mes("[Historian Magnifier]"); - mes("Finding another line of work might make for a really worthy job, but only a historian gets to know the world over.."); - next(); - mes("[Historian Magnifier]"); - mes("How this world is organized... and the way of the future! With our studies of the past and present we can predict what is to come."); - next(); - mes("[Historian Magnifier]"); - mes("We are expecting a lot from you, expert adventurer. So, if you find anything... just tell me."); - close(); - } -} - -prt_in,171,94,3 script Assistant Naomi#edq 4_F_HUWOMAN,3,3,{ - mes("[Assistant Naomi]"); - .@name$ = strcharinfo(PC_NAME); - if (ins_nyd == 3) { - mes("The doctor never ever tries to come back, and there're too many things to do... How can I do it all..."); - next(); - mes("[Assistant Naomi]"); - mes("Hey, you. Please move these books. Put them into shelf 3 row B."); - next(); - mesf("[%s]", .@name$); - mes("Ah...um..I...am..."); - next(); - mes("[Assistant Naomi]"); - mes("Don't you see I am too busy? Don't hesitate. Just do it."); - next(); - switch (select("Look busy, and take a step back.", "Help her just this once.")) { - case 1: - mes("[Assistant Naomi]"); - mes("Gosh! Where is-? Where did-? Ugh! It's so difficult!"); - close(); - case 2: - mes("[Assistant Naomi]"); - mes("Ah... if you're done moving those, then these should go in shelf 3 row B."); - next(); - mesf("[%s]", .@name$); - mes("Ah...I...see..."); - next(); - mes("[Assistant Naomi]"); - mes("Now, I am almost done... Who are you? Are you a new assistant to Dr. Magnifier?"); - next(); - mesf("[%s]", .@name$); - mes("He asked me to bring some reports. Didn't he say anything?"); - next(); - mes("[Assistant Naomi]"); - mes("Hmm... I haven't seen him in over a year! What's he doing now?"); - next(); - mesf("[%s]", .@name$); - mes("He said that he would send a message to you... didn't you get it?"); - next(); - mes("[Assistant Naomi]"); - mes("Message? ...Let's see... I never expected him to write a message..."); - next(); - mes("[Assistant Naomi]"); - mes("I will check the mailbox, wait a minute. If you get bored read those books."); - next(); - mes("..."); - next(); - mes("... ..."); - next(); - mes("It's too messy due to lots of stacked books and files. Dr. Magnifier looks like he has a ton of reports."); - next(); - mesf("[%s]", .@name$); - mes("'Birth of the World', 'The Fiction of Odin's Myth', 'God's Battle Then After', 'Dreams of the Tribes'. There are a variety of books..."); - next(); - mes("..."); - next(); - mes("[Assistant Naomi]"); - mes("Oh, sorry I took so long. There was too much mail, so it took me a while to find stuff."); - next(); - mes("[Assistant Naomi]"); - mes("He has sent me mail over 20 times. I did not know that..."); - next(); - mes("[Assistant Naomi]"); - mes("Ah, here's the message about you. He's said to share the information on research and reports."); - next(); - mesf("[%s]", .@name$); - mes("What is the Doctor's area of expertise?"); - next(); - mes("[Assistant Naomi]"); - mes("Ever since 5 years ago, he has been curious about how the world started, and so he began his search for the God of creation."); - next(); - mes("[Assistant Naomi]"); - mes("He researches combat between Odin and the Gods, and about the Gods' origins and life."); - next(); - mesf("[%s]", .@name$); - mes("So, did he already know that the Rebirth of Satan Morocc has occured before?"); - next(); - mes("[Assistant Naomi]"); - mes("I can't be sure, but he thought someday it would occur. It broke out earlier than he expected though."); - next(); - mesf("[%s]", .@name$); - mes("But Rune-Midgarts approved this research?"); - next(); - mes("[Assistant Naomi]"); - mes("Our academics are not a religion. And they too have curiosity about this world's history."); - next(); - mes("[Assistant Naomi]"); - mes("The combat of Odin vs. the Gods, and the God's sons and their purpose... The Doctor has researched this his whole life."); - next(); - mesf("[%s]", .@name$); - mes("But those reports haven't come out yet. Have they?"); - next(); - mes("[Assistant Naomi]"); - mes("That's why he sent you here. By the way, this isn't the first time I've heard this."); - next(); - mes("[Assistant Naomi]"); - mes("After the establishment of the Rune-Midgarts Kingdom and Arunafeltz, the rumors have spread in secret about their tribes, myths, etc."); - next(); - mes("[Assistant Naomi]"); - mes("Anyway, I should make sure that you read all these books, and I'll just keep doing my work."); - next(); - mesf("[%s]", .@name$); - mes("Shouldn't I have filed the books?"); - next(); - mes("[Assistant Naomi]"); - mes("The Doctor said he will pick up the books through another person. Besides, don't you need the basic information on what to do?"); - next(); - mes("[Assistant Naomi]"); - mes("Before you go back to the Doctor, you had better read these books. So, I will go back to work."); - ins_nyd = 4; - close(); - } - } else if (ins_nyd == 4) { - mes("Browse around, to take a look at the books."); - next(); - switch (select("Discovery of Heterogeneity", "Report of Indigenous Tribes")) { - case 1: - mes("Satan Morocc has known that he didn't resurrect normally or by himself."); - next(); - mes("Continuously, adventurers from Rune-Midgarts have attacked him and he is slowly losing his power. He would need more time to resurrect completely."); - next(); - mes("Satan Morroc stopped to destroy the city of Morroc, turning it into a ruined desert, then started to rip the world apart."); - next(); - mes("Satan Morroc was worried about those who would give chase, so he created Morocc clones to keep watch behind him."); - next(); - mes("Modeled after Morocc, their appearance made it difficult to go around the time-space gap."); - next(); - mes("Still the adventurers gave chase. They came from all over the world, trying to approach the Dimensional Gorge."); - next(); - mes("The reports of these adventurers have been sent to representatives of all kingdoms, and an expedition team has been created to find out more information."); - next(); - mes("The scientists of Schwartzwalt created a combination metal, using fragments of metals found in the dimensional gorge."); - next(); - mes("The Schwaltzvalt Republic requested approval to find the source of the new metal, and since Rune-Midgart couldn't complete the test themselves, they finally accepted."); - next(); - mes("They associated together to gather volunteers. The Assassin Guild was the first to volunteer."); - next(); - mes("The Assassins have a terrible past with Satan Morroc, so they gathered 18 members to chase him down."); - next(); - mes("About 3 hours later, all 18 members returned without any problem, and each man and woman shared the information that they had collected."); - next(); - mes("They had discovered another world with a definitively different nature and environment. And indeed, people could also live there."); - next(); - mes("The most surprising thing is the flow of time. The 18 assassins had stayed for about 2 weeks in there, yet they returned within 3 hours after departing."); - next(); - mes("The last thing to be tested... was to send adventurers who volunteered to explore the new world."); - next(); - mes("There was a flood of adventurer applications. Lots of volunteers disappeared over the dimensional gorge, and they brought back new data."); - next(); - mes("The new world could support 3 completely different eco-systems dependant upon the race of people that lived there."); - next(); - mes("The heterogenous phenomenon needed to be studied thoroughly and carefully in order to under the relationship between thair world and ours."); - next(); - mes("Just when it was expected to be impossible to travel into a different world, the first page of a new chapter was opened."); - close(); - case 2: - mes("Long ago, there wasn't a sun, moon, or stars; just empty earth... and Ymir was born. Then, by making sons, Ymir grew."); - next(); - mes("But, his sons grew as well and he was killed by Odin, Vili, and Ve; 3 brothers, Gods, that attacked from different sides."); - next(); - mes("At that time of Ymir's fall his blood flooded the world... killing all in it's path."); - next(); - mes("Only Hvergelmir of the Sapha tribe escaped from this flooding of blood. And he swore vengeance in Jotunheim, which is covered with foggy snow."); - next(); - mes("Currently, one of the Sapha tribe has been discovered from beyond the Dimensional Gorge."); - next(); - mes("Other than the Sapha tribe, there was another tribe beyond the time-space gap, known as the Laphine."); - next(); - mes("The Laphine tribes gathered as well for an expedition to explore the time-space gap and figure out the World Tree's strange symptoms and perharps a cure method."); - next(); - mes("The Laphine tribe was charged with the management of Yggdrasil, to establish their lands close to Asgard, and to protect the balance of Yggdrasil's magic power."); - next(); - mes("The Laphine tribe has never contacted anyone outside of Asgard. But since they found that Yggdrasil's power if weakening..."); - next(); - mes("They have declared they will attend to the high courts for the first time in 1000 human years, since the end of the battles of Gods vs. Magicians."); - close(); - } - } else { - mes("The doctor never ever tries to come back, and there're too many things to do... How can I do it all..."); - next(); - mes("[Assistant Naomi]"); - mes("Don't you see that I'm too busy? Don't dawdle, just go!"); - close(); - } -} - -splendide,198,178,3 script Grumbling Soldier#edq 4_M_FAIRYSOLDIER,3,3,{ - mes("[Grumbling Soldier]"); - if (isequipped(Ring_Of_Wise_King) == 1) { - mes("Nowadays, the world has turned unstable. I can't even fly comfortably anymore."); - next(); - if (ins_nyd == 5) { - switch (select("What's with the cave up north?", "Who are the Sapha tribesmen?", "Hmm. We can talk later.")) { - case 1: - mes("[Grumbling Soldier]"); - mes("What? If you wander around there... you might return with injuries."); - next(); - mes("[Grumbling Soldier]"); - mes("I don't know exactly how to explain it, but it's like it has a bad mood. There are lots of terrible monsters there."); - next(); - mes("[Grumbling Soldier]"); - mes("They whisper to each other, so... something is there... But I don't care..."); - next(); - mes("[Grumbling Soldier]"); - mes("Might be... those Sapha tribesmen have dug in the cave before... They do have a special talent for digging."); - ins_nyd = 51; - close(); - case 2: - mes("[Grumbling Soldier]"); - mes("Oh! It is because of them that we have been living here, a lowdown and dirty city, for over one hundred years."); - next(); - mes("[Grumbling Soldier]"); - mes("They don't care if there's trouble with the Yggdrasil."); - next(); - mes("[Grumbling Soldier]"); - mes("They are surely full of bad ideas, so... they have destroyed the Yggdrasil's root."); - next(); - mes("[Grumbling Soldier]"); - mes("We are here to make sure that the Sapha don't make things worse."); - close(); - case 3: - close(); - } - } else { - mes("[Grumbling Soldier]"); - mes("Nowadays, the world has turned unstable. I can't even fly comfortably anymore."); - next(); - mes("[Grumbling Soldier]"); - mes("What can you expect when Manuk giants start to dig into the world to destroy the Yggdrasil..."); - next(); - mes("[Grumbling Soldier]"); - mes("And the worst thing is... that strange things are strutting along the streets of the towns..."); - next(); - mes("[Grumbling Soldier]"); - mes("Yes, you... What do you think about the way the government is handling this...?"); - next(); - mes("[Grumbling Soldier]"); - mes("Although they ignore your track record, still, one should be careful..."); - close(); - } - } else { - mes("SeLarsmar Di marThusVil U SeMushVohl"); - close(); - } -} - -splendide,240,164,3 script Sighing Soldier#edq 4_M_FAIRYSOLDIER2,3,3,{ - mes("[Sighing Soldier]"); - if (isequipped(Ring_Of_Wise_King) == 1) { - mes("When will we be finished with this combat with the Sapha? Ugghhhh..."); - next(); - if (ins_nyd == 5) { - switch (select("What's with the cave up north?", "Who are the Sapha tribesmen?", "Hmm. We can talk later.")) { - case 1: - mes("[Sighing Soldier]"); - mes("Well... I'm not sure, but we have avoided going to that area."); - next(); - mes("[Sighing Soldier]"); - mes("Sometimes, the dispatched researchers hang around here... I feel bad that there's nothing to see... without any reason..."); - next(); - mes("[Sighing Soldier]"); - mes("But the command officers make sure that there's something hidden in there."); - next(); - mes("[Sighing Soldier]"); - mes("We don't know if the monsters there are strong, so we never checked it out. But on a personal level, nobody wants to go there..."); - ins_nyd = 51; - close(); - case 2: - mes("[Sighing Soldier]"); - mes("I don't know what others think about it... but we've had some trouble with our attitude against the Sapha tribes."); - next(); - mes("[Sighing Soldier]"); - mes("We didn't try to solve the problems with talk. We attacked them first."); - next(); - mes("[Sighing Soldier]"); - mes("Maybe... our command officers don't want to accept other species different than us..."); - next(); - mes("[Sighing Soldier]"); - mes("Don't misunderstand... Recently, we have talked about your particular species and our commanders feel grateful to you."); - next(); - mes("[Sighing Soldier]"); - mes("Anyway... I'm just exhausted during this useless and nerve-wracking situation... Sigh."); - close(); - case 3: - close(); - } - } else { - mes("[Sighing Soldier]"); - mes("When will we be finished with this combat with the Sapha? Ugghhhh..."); - next(); - mes("[Sighing Soldier]"); - mes("Frankly, I don't think of you or any Sapha is our enemy. Sigh..."); - next(); - mes("[Sighing Soldier]"); - mes("Is there no way to resolve this by communicating? There's no meaning in useless combat! Geez."); - close(); - } - } else { - mes("VohlLarsmar Ha DielCyatas"); - close(); - } -} - -spl_in01,109,60,3 script Commander Lebiordirr#edq 4_F_FAIRY,3,3,{ - mes("[Commander Lebiordirr]"); - if (isequipped(Ring_Of_Wise_King) == 1) { - if (ins_nyd == 51) { - mes("Are you...? Are you the one collecting information from my soldiers...?"); - next(); - mes("[Commander Lebiordirr]"); - mes("You should be cautious. Our tribe has respected the existence of you humans but..."); - next(); - mes("[Commander Lebiordirr]"); - mes("I've taken a great risk in allowing you in here. So be wary."); - next(); - mes("[Commander Lebiordirr]"); - mes("Don't attract too much attention because that would make your people look bad."); - next(); - mes("[Commander Lebiordirr]"); - mes("Now, we don't need to talk much about this, so just go back where you came from."); - next(); - mes("[Commander Lebiordirr]"); - mes("Unless you have any messages for me...? Your face says you do..."); - next(); - if (select("No. Nothing. We can talk later.", "I intend to stay. For good reasons.") == 1) - close(); - mes("[Splendide Guard]"); - mes("Sir, I can drag this pest out right now."); - next(); - mes("[Commander Lebiordirr]"); - mes("No. Let's hear an explanation. Good? Now, if you want..."); - next(); - mes("[Commander Lebiordirr]"); - mes("I have known that, recently, time has broken... so, you're here exploring for a solution, no?"); - next(); - mes("[Commander Lebiordirr]"); - mes("Our tribe has respected you, so just forget about the searching and exploring around here."); - next(); - mes("[Commander Lebiordirr]"); - mes("I heard that you are to search for any treasure in the closed cave to the north."); - next(); - mes("[Commander Lebiordirr]"); - mes("That place is banned by order of the Laphine tribe. So, people can't just go there without permission."); - next(); - mes("[Commander Lebiordirr]"); - mes("If you can't follow this rule, I will stop associating with you and ban all of your people from here."); - next(); - mes("[Commander Lebiordirr]"); - mes("We still have an unstable relationship with the Sapha, we usually don't worry about outsiders."); - next(); - mes("[Commander Lebiordirr]"); - mes("Now, if you understand this, inform your friends."); - ins_nyd = 61; - close(); - } else if (ins_nyd == 61) { - mes("If you can't follow this rule, I will stop associating with you and ban all of your people from here."); - next(); - mes("[Commander Lebiordirr]"); - mes("We still have an unstable relationship with the Sapha, we usually don't worry about outsiders."); - next(); - mes("[Commander Lebiordirr]"); - mes("Now, if you understand this, inform your friends."); - close(); - } else if (ins_nyd == 81) { - mes("Why have you come back, outsider?"); - next(); - select("To ask the Laphines about exploring..."); - mes("[Commander Lebiordirr]"); - mes("Exploring what? Choose your words wisely?"); - next(); - mes("[Commander Lebiordirr]"); - mes("Do we not understand each other? What do you want?"); - next(); - select("I must explore the cave."); - mes("[Commander Lebiordirr]"); - mes("That means... that you are ignoring my warning? Is this your decision or are you just following orders?"); - next(); - select("I'm just following orders"); - mes("[Commander Lebiordirr]"); - mes("Are you trying to insult me on purpose, outsider?"); - next(); - mes("[Commander Lebiordirr]"); - mes("Why do you want to explore? It better be a very good reason."); - next(); - select("It's about Dr. Magnifier's report..."); - mes("[Commander Lebiordirr]"); - mes("So... What do I care about an outsider's report?"); - next(); - mes("[Commander Lebiordirr]"); - mes("To protect the Yggdrasil! That's the Laphine's fate. Can you say that about yourself?"); - next(); - mes("[Commander Lebiordirr]"); - mes("Do you have any proof of your birth with Odin and Yggdrasil's blessings?"); - next(); - mes("[Commander Lebiordirr]"); - mes("I shouldn't say anymore. Please don't take this as being rude but, please go now!"); - next(); - select("Then I'll ask the Sapha for help."); - mes("[Commander Lebiordirr]"); - mes("What are you talking about, outsider?"); - next(); - mes("[Splendide Guard]"); - mes("Sir, I can get rid of this rude outsider if you wish?"); - next(); - mes("[Commander Lebiordirr]"); - mes("No, wait... The Sapha tribesmen know the meaning of that place? Did you ask to associate with them?"); - next(); - mes("[Commander Lebiordirr]"); - mes("Ah... How tricky... Are you testing us?"); - next(); - mes("[Splendide Guard]"); - mes("Calm down, sir. I will throw this outsider into prison."); - next(); - mes("[Commander Lebiordirr]"); - mes("No... No, wait. Ok, I will accept it. I can accept your admission into the Holy Sekos."); - next(); - mes("[Commander Lebiordirr]"); - mes("Okay. If you are a servant of the Yggdrasil as you claim to be, I will allow you admission. But I am not responsible for your actions."); - next(); - mes("[Commander Lebiordirr]"); - mes("And make sure that if you find anything out of the ordinary in there, that you share it with us!"); - next(); - select("But of course!"); - mes("[Commander Lebiordirr]"); - mes("So... since I have agreed to allow your exploration... Arioss, help them, and take the results."); - next(); - mes("[Aide Arioss]"); - mes("Sir... are you sure? This is an invasion of the Holy Sekos..."); - next(); - mes("[Commander Lebiordirr]"); - mes("Invasion is a harsh word. I am allowing them entrance. Better them than a dirty giant. It might just save our lives..."); - next(); - mes("[Commander Lebiordirr]"); - mes("Here, outsider. Arioss will explain the situation with the giants. Talk with him..."); - ins_nyd = 91; - close(); - } else if (ins_nyd == 91 || ins_nyd == 101 || ins_nyd == 111 || ins_nyd == 200 || ins_nyd == 201 || ins_nyd == 202) { - mes("Outsider. Arioss here will explain the situation with the giants, talk with him..."); - close(); - } else if (ins_nyd == 72 || ins_nyd == 82 || ins_nyd == 92 || ins_nyd == 102 || ins_nyd == 112 || ins_nyd == 122 || ins_nyd == 132) { - mes("Welcome to the Laphine camp in Splendide, outsider... I am Lebiordirr. I am in charge here."); - next(); - mes("[Commander Lebiordirr]"); - mes("Be cautious of your actions. We already have lots of problems with the Sapha tribe as it is."); - next(); - mes("[Commander Lebiordirr]"); - mes("If you are cautious with your actions, I won't place any harm on you. Fare well."); - close(); - } else if (ins_nyd == 203) { - mes("I was waiting for you. You came back safe, that's good news. Did you find anything?"); - next(); - select("Explain about the guardian Nidhoggur's leave."); - mes("[Commander Lebiordirr]"); - mes("What? The Guardian is not in his nest...?"); - next(); - mes("[Commander Lebiordirr]"); - mes("And because of his disppearance, the Guardian's Shadow is currently destorying the roots of the World Tree...?"); - next(); - mes("[Commander Lebiordirr]"); - mes("That's unbelievable. You must be insulting the Guardian's and our pride. I did not provide you with our help for that."); - next(); - mes("[Aide Arioss]"); - mes("It's not like that, Commander, they speak the truth."); - next(); - mes("[Commander Lebiordirr]"); - mes("What are you saying? Arioss, do not forget your place as the Guardian's priest."); - next(); - mes("[Aide Arioss]"); - mes("Even though I have not seen it with my own eyes, this does explain why we lost communication with the great World Tree Yggdrasil."); - next(); - mes("[Commander Lebiordirr]"); - mes("Do not speak of His Highness, the World Tree Yggdrasil's name so lightly."); - next(); - select("Pass along World Tree Yggdrasil's words."); - mes("[Commander Lebiordirr]"); - mes("His Highness, the World Tree Yggdrasil, said that?"); - next(); - mes("[Commander Lebiordirr]"); - mes("The reason behind all of this... is not because of the Sapha tribe, but because of the sudden leave of the Guardian? And the Guaridan has given up on his identity?"); - next(); - mes("[Commander Lebiordirr]"); - mes("This must be reported... reported to the High Priest of Alfheim... Unbelievable."); - next(); - mes("[Aide Arioss]"); - mes("Commander... do we need to alert the rest of the tribe...?"); - next(); - mes("[Commander Lebiordirr]"); - mes("You don't need to worry about this, Arioss. As commander, I will handle it. You just pretend nothing happened..."); - next(); - mes("[Commander Lebiordirr]"); - mes("Strange one, thank you for your cooperation in such situations... Please forget what has happened today..."); - next(); - mes("[Commander Lebiordirr]"); - mes("Arioss, please compensate this strange one for the help. I need to go rest..."); - next(); - mes("[Aide Arioss]"); - mes("Commander..."); - ins_nyd = 121; - close(); - } else if (ins_nyd == 121 || ins_nyd == 131) { - mes("Strange one, thank you for your cooperation in such situations... Please forget what has happened today..."); - close(); - } else { - mes("Welcome to the Laphine camp in Splendide, outsider... I am Lebiordirr. I am in charge here."); - next(); - mes("[Commander Lebiordirr]"); - mes("Be cautious of your actions. We already have lots of problems with the Sapha tribe as it is."); - next(); - mes("[Commander Lebiordirr]"); - mes("If you are cautious with your actions, I won't place any harm on you. Fare well."); - close(); - } - } else { - mes("ThusDurnah Ra SharVeldIyaz U UorAmanDur Yee neaOsaAdor Yee..."); - close(); - } -} - -spl_in01,104,56,3 script Aide Arioss#edq 4_F_FAIRYKID2,3,3,{ - mes("[Aide Arioss]"); - if (isequipped(Ring_Of_Wise_King) == 1) { - if (ins_nyd == 91) { - mes("Sigh, since it's Commander Lebiordirr's wish, I will cooperate with you..."); - next(); - mes("[Aide Arioss]"); - mes("You want to go there to find out exactly what that place is?"); - next(); - mes("[Aide Arioss]"); - mes("Alright...it's as you have assumed, a place connecting to the World Tree. It's also the Guardian's Nest."); - next(); - select("Guardian's Nest?"); - mes("[Aide Arioss]"); - mes("Yes, that's the nest of Nidhoggur, the Guardian of the World Tree..."); - next(); - mes("[Aide Arioss]"); - mes("Only a marked guardian's servant from the Laphine tribe is allowed to enter."); - next(); - mes("[Aide Arioss]"); - mes("That place was initially closed off from the public, but then the giants of the Sapha tribe turned things around..."); - next(); - mes("[Aide Arioss]"); - mes("To obtain more minerals, they started to dig with madness."); - next(); - mes("[Aide Arioss]"); - mes("In the end, they have harmed a part of the World Tree's root that lies very close to their mine, and thus, the World Tree became very ill."); - next(); - mes("[Aide Arioss]"); - mes("After we have arrived here knowing the facts, the World Tree was already in a very bad state due to the many factories built by the Sapha tribe."); - next(); - mes("[Aide Arioss]"); - mes("Even though, for a long time, we have been attacking the Sapha tribe, trying to force them to leave, they are not so easily defeated, leading to this stalemate."); - next(); - mes("[Aide Arioss]"); - mes("During this time, your people have travelled through the space-time gap to this land."); - next(); - mes("[Aide Arioss]"); - mes("Because of those many unexpected reasons, the Guardian's nest, which was meant to stay hidden deep underground, has been discovered by your race..."); - next(); - mes("[Aide Arioss]"); - mes("Now you understand how serious this situation is. Because of the Sapha tribe, we are no longer able to approach the Guardian, and seek his teachings of wisdom."); - next(); - mes("[Aide Arioss]"); - mes("It's very insulting to our pride... but if you can help us enter that place again, and speak to the Guardian, maybe we can find a solution..."); - next(); - mes("[Aide Arioss]"); - mes("Then we'll leave it to you. As for your request, I will do my best to cooperate."); - next(); - mes("[Aide Arioss]"); - mes("I have already told you what you wanted to know... If you need anything else, just let me know."); - ins_nyd = 101; - close(); - } else if (ins_nyd == 101) { - mes("Ah, you said that there is a strange power blocking the entrance to the Guardian's nest, right?"); - next(); - mes("[Aide Arioss]"); - mes("That's because only the ones chosen by the Guardian may enter."); - next(); - mes("[Aide Arioss]"); - mes("We have been the Guardian's servants for generations, and have been protecting the World Tree ever since."); - next(); - mes("[Aide Arioss]"); - mes("Before we were captured and brought here, there were 3 servants including me. Our task was to heal the World Tree."); - next(); - mes("[Aide Arioss]"); - mes("One was killed in our last war with the Sapha tribe... and the other has been taken captive."); - next(); - mes("[Aide Arioss]"); - mes("I will give you my proof. Don't worry, I'm just temporarily marking you as a guardian's servant."); - specialeffect(EF_HOLYHIT, AREA, playerattached()); - next(); - mes("[Aide Arioss]"); - mes("Also, remember this spell, it's needed to open the gate of the Guardian."); - next(); - mes("[Aide Arioss]"); - mes("AnomarDu Ha OdesUdenVer Ie "); - next(); - mes("[Aide Arioss]"); - mes("remuAlaAsh Mu ModtasAn Yu Dur"); - next(); - mes("[Aide Arioss]"); - mes("TalsehrDur So CyaReMush Di DielAlaWos Ie RuffserIman Ie "); - next(); - mes("[Aide Arioss]"); - mes("Go find the fairy guarding the gate, and say this spell."); - next(); - mes("[Aide Arioss]"); - mes("The proof and the spell will confirm that you are one of the Guardian's servants."); - next(); - mes("[Aide Arioss]"); - mes("Please meet the Guardian, and come back with an answer to everything. I believe in you."); - ins_nyd = 111; - close(); - } else if (ins_nyd == 101 || ins_nyd == 111 || ins_nyd == 200 || ins_nyd == 201 || ins_nyd == 202) { - mes("Please meet with the Guardian and take a wise answer from him. I will trust you."); - close(); - } else if (ins_nyd == 72 || ins_nyd == 82 || ins_nyd == 92 || ins_nyd == 102 || ins_nyd == 112) { - mes("... ..."); - next(); - mes("Not even caring about this a single bit? What a stupid woman..."); - close(); - } else if (ins_nyd == 121) { - mes("Things have actually become like this... as priests of the Guardian, it's our responsibility..."); - next(); - mes("[Aide Arioss]"); - mes("I represent the entire Laphine tribe, and show you our gratitude. This must all be very hard for our commander..."); - next(); - mes("[Aide Arioss]"); - mes("It can't compare with the effort you have put in for us... but please accept our token of friendship."); - getexp(1500000, 350000); - getitem(Splendide_Coin, 10); - ins_nyd = 131; - mes("[Aide Arioss]"); - mes("If we can help you with anything in the future, we will do all we can to assist you. Once again, thank you."); - close(); - } else if (ins_nyd == 131) { - mes("If we can help you with anything in the future, we will do all we can to assist you. Once again, thank you."); - close(); - } else { - mes("... ..."); - next(); - mes("Never give attention to... um... a blunt woman..."); - close(); - } - } else { - mes("AmanVilShar Ie DorLuShar Mu Re"); - close(); - } -} - -spl_in01,110,21,0 script trap#s_edq FAKE_NPC,10,10,{ -OnTouch_: - if (isequipped(Ring_Of_Wise_King) == 1 && ins_nyd == 51) { - mes("[Splendide Guard]"); - mes("That man is currently under arrest."); - next(); - mes("[Splendide Guard]"); - mes("You'd better behave, Aide Arioss says that different races shall be treated the same way."); - warp("spl_in01", 109, 58); - close(); - } - end; -} - -spl_in01,101,52,5 script Splendide Guard#1_edq 4_M_FAIRYSOLDIER,1,1,{ - mes("[Splendide Guard]"); - if (isequipped(Ring_Of_Wise_King) == 1) - mes("This is the Splendide office. Don't act impolitely."); - else - mes("ThusDurnah Ra SharVeldIyaz U UorAmanDur Yee neaOsaAdor Yee "); - close(); -} - -spl_in01,118,52,3 script Splendide Guard#2_edq 4_M_FAIRYSOLDIER,1,1,{ - mes("[Splendide Guard]"); - if (isequipped(Ring_Of_Wise_King) == 1) - mes("This is the Splendide office. Don't act impolitely."); - else - mes("ThusDurnah Ra SharVeldIyaz U UorAmanDur Yee neaOsaAdor Yee "); - close(); -} - -man_in01,311,57,3 script Neat Etorr#edq 4_MAN_NITT,3,3,{ - mes("[Neat Etorr]"); - if (isequipped(Ring_Of_Wise_King) == 1) { - if (ins_nyd == 52) { - mes("Guest from the other world, please excuse our rudeness..."); - next(); - mes("[Neat Etorr]"); - mes("As the leader of the Sapha tribe, I have something very important to tell you. That is why I asked for you..."); - next(); - mes("[Neat Etorr]"); - mes("Your race has come to this land not long ago through the space-time gap."); - next(); - mes("[Neat Etorr]"); - mes("You should have already seen what is going on. We have been at war with the Laphine tribe for a very long time."); - next(); - mes("[Neat Etorr]"); - mes("Recently, because you do not understand the current situations, you have done some things that I, as a leader, can't ignore any longer."); - next(); - mes("[Neat Etorr]"); - mes("I hope that your people will becareful of your actions on this land, and terminate any unnecessary interventions."); - next(); - if (select("Leave quietly.", "Don't know what he's talking about, and ask for details.") == 1) - close(); - mes("[Manuk Field Elite Soldier]"); - mes("Are we really just letting these people go after they have stirred up problems on our land?"); - next(); - mes("[Neat Etorr]"); - mes("After what happened, I don't think they know what else they can do. Let me explain."); - next(); - mes("[Neat Etorr]"); - mes("For now, we have acknowledged your race, and have been tolerant towards your activities."); - next(); - mes("[Neat Etorr]"); - mes("But we have recently started to suspect you of being the Laphine tribe's eyes and ears."); - next(); - mes("[Neat Etorr]"); - mes("Not long ago, We have heard that you have found remains in an abandoned cave in the north, and have been conducting investigations and researches regarding it."); - next(); - mes("[Neat Etorr]"); - mes("We have captured a Laphine tribe priest during the last war, and we have heard that you have had contact with said captive."); - next(); - mes("[Neat Etorr]"); - mes("That captive is the only reference for our tribe, so we have taken good care of her. She is related to your current investigation."); - next(); - mes("[Neat Etorr]"); - mes("For your people, who have no direct connections, it is not a place satisfy your curiosity. I hope that you stop your investigations, and mind your own business."); - next(); - mes("[Neat Etorr]"); - mes("If you don't accept our request, then do not expect any cooperations between our races in the future."); - next(); - mes("[Neat Etorr]"); - mes("Because of the war against the Laphine tribe, everything is a mess. But even then, we cannot allow a foreign race to interfere."); - next(); - mes("[Neat Etorr]"); - mes("You have heard it all, now please report back to your race."); - ins_nyd = 62; - close(); - } else if (ins_nyd == 62) { - mes("That captive is the only reference for our tribe, so we have taken good care of her. She is related to your current investigation."); - next(); - mes("[Neat Etorr]"); - mes("For your people, who have no direct connections, it is not a place to satisfy your curiosity. I hope that you stop your investigations, and mind your own business."); - next(); - mes("[Neat Etorr]"); - mes("If you don't accept our request, then do not expect any cooperations between our races in the future."); - close(); - } else if (ins_nyd == 72) { - mes("Recently, because you do not understand the current situations, you have done some things that I, as a leader, can't ignore any longer."); - next(); - mes("[Neat Etorr]"); - mes("I hope that your people will becareful of your actions on this land, and terminate any unnecessary interventions."); - close(); - } else if (ins_nyd == 82) { - mes("Do you need me for something, strange one?"); - next(); - select("Received invitation from the Sapha tribe to cooperate and investigate."); - mes("[Neat Etorr]"); - mes("Cooperate and investigate? What do you mean?"); - next(); - mes("[Neat Etorr]"); - mes("It seems like you did not understand what I said. What are you thinking?"); - next(); - select("Please allow me to investigate the cave."); - mes("[Neat Etorr]"); - mes("From what I can tell, you are disrespecting my request. Is this your intention, or your people's intention?"); - next(); - select("It's our intention."); - mes("[Neat Etorr]"); - mes("Ah, it is not an easy decision. You frighten me."); - next(); - mes("[Neat Etorr]"); - mes("But may I ask why you want to do this?"); - next(); - select("Explain Professor Magnifier's theory."); - mes("[Neat Etorr]"); - mes("It's surprising that you are able to obtain such results. We also have a similar theory."); - next(); - mes("[Neat Etorr]"); - mes("At least we also think that we must use the Laphine prisoner to get information."); - next(); - mes("[Neat Etorr]"); - mes("This problem has been the root of our conflicts with the Laphine tribe. Of course, it may also be an opportunity to resolve them."); - next(); - mes("[Neat Etorr]"); - mes("Therefore, it's more of a reason to depend on our own powers. There is no room for you to interfere. Please give up."); - next(); - select("Give up request, and ask Laphine tribe for help instead."); - mes("[Manuk Field Elite Soldier]"); - mes("You finally showed your true face. I knew you were a spy from the Laphine tribe!"); - next(); - mes("[Neat Etorr]"); - mes("Ah...you'd go as far as saying that. What good will it do for you, helping the Laphine tribe?"); - next(); - mes("[Neat Etorr]"); - mes("Those obnoxious dwarves offended our right of living, and are trying to get rid of us."); - next(); - mes("[Neat Etorr]"); - mes("The reason we don't allow anyone to enter that site is because it's full of suspicions."); - next(); - mes("[Neat Etorr]"); - mes("Alright, I'll approve of your request, and let you investigate the secret the Laphine tribe has hidden inside the cave."); - next(); - mes("[Neat Etorr]"); - mes("If you promise to share all of your research results and findings, we will accept your request."); - next(); - select("Of course."); - mes("[Neat Etorr]"); - mes("Alright, from now on, we will cooperate with you, and allow you to directly communicate with the Laphine prisoner."); - next(); - mes("[Manuk Field Elite Soldier]"); - mes("Commander...are you sure of this? We don't even know if they're friend or foe..."); - next(); - mes("[Neat Etorr]"); - mes("With just our powers, it's impossible to figure out what the Laphine is up to. I think the past has proven that."); - next(); - mes("[Neat Etorr]"); - mes("What they're doing right now could potentially lead us to a solution."); - next(); - mes("[Neat Etorr]"); - mes("Strange one, we hope our cooperation will be a good one. Now please go interrogate the Laphine prisoner."); - ins_nyd = 92; - close(); - } else if (ins_nyd == 92 || ins_nyd == 102 || ins_nyd == 112 || ins_nyd == 200 || ins_nyd == 201 || ins_nyd == 202) { - mes("Strange one, we hope our cooperation will be a good one. Now please go interrogate the Laphine prisoner."); - close(); - } else if (ins_nyd == 71 || ins_nyd == 81 || ins_nyd == 91 || ins_nyd == 101 || ins_nyd == 111 || ins_nyd == 121 || ins_nyd == 131) { - mes("Outsider. Welcome to Manuk, the village of the Sapha. I am its representative, Neat Etorr."); - next(); - mes("[Neat Etorr]"); - mes("We are just a small village, nothing special... but rest comfortably."); - close(); - } else if (ins_nyd == 203) { - mes("I was waiting for you. It's good that you're safe. Did you find anything?"); - next(); - select("Explain the sudden leave of the Guardian."); - mes("[Neat Etorr]"); - mes("So... that's the nest of the Guardian of the World Tree, the sacred grounds for the Laphine tribe."); - next(); - mes("[Neat Etorr]"); - mes("But because of the angry leave of the Guardian, his shadow is wreaking havoc on the World Tree?"); - next(); - mes("[Neat Etorr]"); - mes("If what you're saying is true, then there is no more reason for us to continue fighting the Laphine tribe..."); - next(); - mes("[Neat Etorr]"); - mes("What a huge discovery... So Nidhoggur is no longer the Guardian of the World Tree...?"); - next(); - mes("[Neat Etorr]"); - mes("Nidhoggur's Shadow came to exist in this world, and harmed the roots of the World Tree... what a disaster."); - next(); - select("Pass along the World Tree Yggdrasil's message."); - mes("[Neat Etorr]"); - mes("Is that what the priest of the Guardian said?"); - next(); - mes("[Neat Etorr]"); - mes("From now on, we need to talk about this with the Laphine tribe."); - next(); - mes("[Neat Etorr]"); - mes("But of course...we don't know if they're reasonable enough...hehe."); - next(); - mes("[Neat Etorr]"); - mes("This is all we needed from you...What is left is business between us and the Laphine tribe."); - next(); - mes("[Neat Etorr]"); - mes("Thank you for helping us with such a huge problem. You may forget about it now."); - next(); - mes("[Neat Etorr]"); - mes("It's not a lot, but please this as a token of our appreciation."); - getexp(1500000, 350000); - getitem(Manuk_Coin, 10); - ins_nyd = 132; - close(); - } else if (ins_nyd == 132) { - mes("Strange one, thank you for helping us in the time of need. I will never forget your kindness."); - close(); - } else { - mes("Outsider. Welcome to the Manuk village of Sapha. I am its representative, Neat Etorr."); - next(); - mes("[Neat Etorr]"); - mes("We are just a small village, nothing special... but rest comfortably."); - close(); - } - } else { - mes("Tkeh likek Ohek QekhlHkl PkedlioH."); - close(); - } -} - -man_in01,286,61,5 script Manuk Guard#1_edq 4_MAN_GALTUN,1,1,{ - mes("[Manuk Guard]"); - if (isequipped(Ring_Of_Wise_King) == 1) - mes("I'm guarding this Laphine prisoner. Leave me alone."); - else - mes("Klekod Oi Thekd Pheid Okei."); - close(); -} - -man_in01,295,61,3 script Manuk Guard#2_edq 4_MAN_GALTUN,1,1,{ - mes("[Manuk Guard]"); - if (isequipped(Ring_Of_Wise_King) == 1) - mes("I'm guarding this Laphine prisoner. Leave me alone."); - else - mes("Liek QUekdk Ohei Vue."); - close(); -} - -man_in01,291,62,3 script Laphine Prisoner#edq 4_F_FAIRYKID2,3,3,{ - mes("[Laphine Prisoner]"); - if (isequipped(Ring_Of_Wise_King) == 1) { - if (ins_nyd == 5) { - mes("You... are not of the Sapha tribe... Are you... an outsider?"); - next(); - mes("[Laphine Prisoner]"); - mes("Have you ever come in contact with the Laphine tribe? Have you ever been to Splendide?"); - next(); - mes("[Laphine Prisoner]"); - mes("Please, talk to my people in Splendide. They will come to help me."); - next(); - switch (select("What happened to you?", "What's in the cave to the north?", "Tell me about your tribe.", "I will leave you alone.")) { - case 1: - mes("[Laphine Prisoner]"); - mes("During out last battle with the Sapha tribe... they caught me and took me prisoner."); - next(); - mes("[Laphine Prisoner]"); - mes("The Sapha tribe attacked first. They are destroying the World Tree."); - next(); - mes("[Laphine Prisoner]"); - mes("That's why the war started. But I don't want to fight with the Sapha tribe anymore..."); - next(); - mes("[Laphine Prisoner]"); - mes("If it wasn't for that... I wouldn't survive here..."); - next(); - mes("[Laphine Prisoner]"); - mes("Please. Bring this news to all of Splendide. Send someone to save me... or they might kill me."); - close(); - case 2: - mes("[Laphine Prisoner]"); - mes("There is..."); - next(); - mes("[Laphine Prisoner]"); - mes("No... I can't tell you... It's the secret of our tribe..."); - next(); - mes("[Laphine Prisoner]"); - mes("I just want to say this...if the Sapha tribe intrude that place, we will never forgive them!"); - ins_nyd = 52; - close(); - case 3: - mes("[Laphine Prisoner]"); - mes("The Laphines have protected the Yggdrasil World Tree for generations."); - next(); - mes("[Laphine Prisoner]"); - mes("We live in a... different time, different land... we came for an expedition."); - next(); - mes("[Laphine Prisoner]"); - mes("After we received reports from our spy about the World Tree's strange symptoms, we recgnized the Manuk's existence."); - next(); - mes("[Laphine Prisoner]"); - mes("They are mining metal, and in so doing, destroying the World Tree's roots..."); - next(); - mes("[Laphine Prisoner]"); - mes("So we dispatched an expedition here. Soonafter, the war with the Sapha began..."); - close(); - case 4: - close(); - } - } else if (ins_nyd == 92) { - mes("The sapha tribe went as far as cooperating with an unknown race?"); - next(); - mes("[Laphine Prisoner]"); - mes("What is your purpose? Why do you want to know what that place is?"); - next(); - mes("[Laphine Prisoner]"); - mes("lright...it's as you have assumed, a place connecting to the World Tree. It's also the Guardian's Nest."); - next(); - select("Guardian's Nest?"); - mes("[Laphine Prisoner]"); - mes("Yes, that's the nest of Nidhoggur, the Guardian of the World Tree..."); - next(); - mes("[Laphine Prisoner]"); - mes("Only a marked guardian's servant from the Laphine tribe is allowed to enter."); - next(); - mes("[Laphine Prisoner]"); - mes("That place was initially closed off from the public, but then the giants of the Sapha tribe turned things around..."); - next(); - mes("[Laphine Prisoner]"); - mes("To obtain more minerals, they started to dig with madness."); - next(); - mes("[Laphine Prisoner]"); - mes("In the end, they have harmed a part of the World Tree's root that lies very close to their mine, and thus, the World Tree became very ill."); - next(); - mes("[Laphine Prisoner]"); - mes("After we have arrived here knowing the facts, the World Tree was already in a very bad state due to the many factories built by the Sapha tribe."); - next(); - mes("[Laphine Prisoner]"); - mes("Even though, for a long time, we have been attacking the Sapha tribe, trying to force them to leave, they are not so easily defeated, leading to this stalemate."); - next(); - mes("[Laphine Prisoner]"); - mes("During this time, your people have travelled through the space-time gap to this land."); - next(); - mes("[Laphine Prisoner]"); - mes("Because of those many unexpected reasons, the Guardian's nest, which was meant to stay hidden deep underground, has been discovered by your race..."); - next(); - mes("[Laphine Prisoner]"); - mes("Now you understand how serious this situation is. Because of the Sapha tribe, we are no longer able to approach the Guardian, and seek his teachings of wisdom."); - next(); - mes("[Laphine Prisoner]"); - mes("Hmph...even if I don't cooperate, I know you will find other means to get in..."); - next(); - mes("[Laphine Prisoner]"); - mes("Looking at the current situation of the Laphine tribe, we do not have enough power to surround the Manuk fields, and chase the giants away."); - next(); - mes("[Laphine Prisoner]"); - mes("Okay, if it has already become like this, I will help you. There are no dead-ends. If you keep going, you will find a solution."); - next(); - mes("[Laphine Prisoner]"); - mes("Even if I don't say anything, my situation will not change."); - next(); - mes("[Laphine Prisoner]"); - mes("I have already told you everything you wanted to hear. If you have any other requests, please let me know."); - ins_nyd = 102; - close(); - } else if (ins_nyd == 102) { - mes("Ah, you said that there is a strange power blocking the entrance to the Guardian's nest, right?"); - next(); - mes("[Laphine Prisoner]"); - mes("That's because only the ones chosen by the Guardian may enter."); - next(); - mes("[Laphine Prisoner]"); - mes("We have been the Guardian's servants for generations, and have been protecting the World Tree ever since."); - next(); - mes("[Laphine Prisoner]"); - mes("Before we were captured and brought here, there were 3 servants including me. Our task was to heal the World Tree."); - next(); - mes("[Laphine Prisoner]"); - mes("One was killed in our last war with the Sapha tribe...and I have been taken captive."); - next(); - mes("[Laphine Prisoner]"); - mes("I will give you my proof. Don't worry, I'm just temporarily marking you as a guardian's servant."); - specialeffect(EF_HOLYHIT, AREA, playerattached()); - next(); - mes("[Laphine Prisoner]"); - mes("Also, remember this spell, it's needed to open the gate of the Guardian."); - next(); - mes("[Laphine Prisoner]"); - mes("AnomarDu Ha OdesUdenVer Ie "); - next(); - mes("[Laphine Prisoner]"); - mes("remuAlaAsh Mu ModtasAn Yu Dur"); - next(); - mes("[Laphine Prisoner]"); - mes("TalsehrDur So CyaReMush Di DielAlaWos Ie RuffserIman Ie "); - next(); - mes("[Laphine Prisoner]"); - mes("Go find the fairy guarding the gate, and say this spell."); - next(); - mes("[Laphine Prisoner]"); - mes("he proof and the spell will confirm that you are one of the Guardian's servants."); - next(); - mes("[Laphine Prisoner]"); - mes("Please meet the Guardian, and come back with an answer to everything. And tell the answer to..."); - ins_nyd = 112; - close(); - } else if (ins_nyd == 71 || ins_nyd == 81 || ins_nyd == 91 || ins_nyd == 101 || ins_nyd == 111 || ins_nyd == 121 || ins_nyd == 131) { - mes("... ..."); - next(); - mes("[Manuk Guard]"); - mes("Hey, outsider! Step away from the prisoner!"); - close(); - } else if (ins_nyd == 112) { - mes("Please meet the Guardian, and come back with an answer to everything. And tell the answer to..."); - close(); - } else if (ins_nyd == 132) { - mes("Yes...I heard your conversation with the Sapha tribe..."); - next(); - mes("[Laphine Prisoner]"); - mes("If our tribe were to really trust in the Sapha tribe...I don't know."); - next(); - mes("[Laphine Prisoner]"); - mes("Our hatred towards them has already reached an abnormal level..."); - next(); - mes("[Laphine Prisoner]"); - mes("Those giants...can they really be trusted?"); - next(); - mes("[Laphine Prisoner]"); - mes("It's...it's better if you don't believe the one called Etorr...the minds of the Sapha tribe is unpredictable."); - close(); - } else { - mes("... ..."); - next(); - mes("[Manuk Guard]"); - mes("Hey, outsider! Step away from the prisoner!"); - close(); - } - } else { - mes("AmanVilShar Ie DorLuShar Mu Re"); - close(); - } -} - -man_in01,282,42,0 script trap#edq2 FAKE_NPC,10,10,{ -OnTouch_: - if (isequipped(Ring_Of_Wise_King) == 1 && ins_nyd == 52) { - mes("[Manuk Field Elite Soldier]"); - mes("This is Neat Etorr's order. Please come with us to see him."); - next(); - mes("[Manuk Field Elite Soldier]"); - mes("Bring him to Neat Etorr. All soldiers be prepared."); - warp("man_in01", 311, 54); - close(); - } - end; -} - -//== First floor =========================================== -1@nyd,213,277,5 script Murdered Yggdrasilid#1F 4_F_FAIRYKID2,5,5,{ - if ('ins_nyd2 == 0) { - mes("When a faint light enters your heart, a voice sounds in your head."); - next(); - mes("[World Tree World Tree Yggdrasil]"); - mes("It's all over... servants of the Guardian... Hurry up and leave this place."); - next(); - while (true) { - switch (select("Who are you?", "What do you mean?")) { - case 1: - mes("[World Tree World Tree Yggdrasil]"); - mes("I... I am the World Tree Yggdrasil, servant of the Guardian of Nidhoggur, as well as the High Priest leading the Laphine Tribe."); - next(); - mes("[World Tree World Tree Yggdrasil]"); - mes("So you're not priestess of the Laphine Tribe... How did you get in? No, there's no time to answer that."); - next(); - mes("[World Tree World Tree Yggdrasil]"); - mes("Hurry... and leave... leave this place before it's too late."); - next(); - break; - case 2: - mes("[World Tree World Tree Yggdrasil]"); - mes("The guardian... something's wrong with the guardian. I don't know what made him like this."); - next(); - mes("[World Tree World Tree Yggdrasil]"); - mes("This... this is no longer the nest of the Guardian of the World Tree Yggdrasil."); - next(); - mes("[World Tree Yggdrasil]"); - mes("Darkness took over the Guardian and destroyed all living things... now this place has become the cursed home of monsters."); - next(); - mes("[World Tree Yggdrasil]"); - mes("Now the vile Nidhoggur's Shadow is wreaking havoc here..."); - next(); - mes("[World Tree Yggdrasil]"); - mes("Now's not too late, hurry and get out... tell the Laphine Tribe about this... tell the commanders of Alfheim..."); - next(); - mes("[World Tree Yggdrasil]"); - mes("My soul... it has been trapped here. You're the only ones I can trust now."); - next(); - .@exit = 1; - } - if (.@exit) - break; - } - select("Nidhoggur's Shadow?"); - mes("[World Tree Yggdrasil]"); - mes("The Guardian Nidhoggur... he's not in the nest."); - next(); - mes("[World Tree Yggdrasil]"); - mes("He...for some reason abandoned his own shadow, and left."); - next(); - mes("[World Tree Yggdrasil]"); - mes("All that's left, is the ugly Shadow of the Guardian of Nidhoggur...the Shadow that is going mad."); - next(); - mes("[World Tree Yggdrasil]"); - mes("The Shadow sucked all the nutrients from the World Tree Yggdrasil, and has gone mad when there is nothing more left to obtain. Now, he wants this land."); - next(); - mes("[World Tree Yggdrasil]"); - mes("Once the ugly Shadow leaves here to steal power from the other World Yggdrasil Trees, there will be great destruction. This world will become hell."); - next(); - mes("[World Tree Yggdrasil]"); - mes("You must... tell the commanders of Alfheim about this, and come up with a plan. Only them..."); - next(); - select("Is there nothing else we can do?"); - mes("[World Tree Yggdrasil]"); - mes("With our current powers...it is impossible to defeat the Guardian."); - next(); - mes("[World Tree Yggdrasil]"); - mes("But the one going mad is not the Guardian, but his dark Shadow...maybe we can trap him here..."); - next(); - mes("[World Tree Yggdrasil]"); - mes("Are you willing to accept this mission? Even if it means to pay with your life?"); - next(); - if (select("Leave it to us.", "We can't do it.") == 2) - close(); - mes("[World Tree Yggdrasil]"); - mes("I thank you deeply for your decision. I will use what is left of my powers to open up the path towards the Guardian's Nest."); - next(); - mes("[World Tree Yggdrasil]"); - if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY), 2)) { - mes("The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North. The defensive mechanisms of the Sanctuary will start immediately."); - next(); - mes("[World Tree Yggdrasil]"); - mes("Defeat all of Nidhoggur's guardians and go through the waterfall into the nest... and stop Nidhoggur's Shadow there."); - next(); - mes("[World Tree Yggdrasil]"); - mes("The gate will open soon. Go defeat all of the guardians... you must kill them all in 30 minutes before the gate opens..."); - next(); - mes("[World Tree Yggdrasil]"); - mes("30 minutes... that's the limit of my powers. Please hurry."); - next(); - mes("[World Tree Yggdrasil]"); - mes("And... Be careful... Be careful of the shadow's power."); - 'ins_nyd2 = 1; - donpcevent(instance_npcname("ins_nyd_1f_timer")+"::OnEnable"); - donpcevent(instance_npcname("nyd_call_mon_1")+"::OnEnable"); - close(); - } else { - mes("The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North. The defensive mechanisms will start immediately."); - next(); - mes("[World Tree Yggdrasil]"); - mes("Defeat all of Nidhoggur's guardians and go through the waterfall into the nest... and stop Nidhoggur's Shadow there."); - next(); - mes("[World Tree Yggdrasil]"); - mes("The gate will open soon. Go defeat all of the guardians... you must kill them all in 30 minutes before the gate opens..."); - next(); - mes("[World Tree Yggdrasil]"); - mes("30 minutes... that's the limit of my powers. Please hurry."); - next(); - mes("[World Tree Yggdrasil]"); - mes("And... Be careful... Be careful of the shadow's power."); - close(); - } - } else if ('ins_nyd2 == 1) { - mes("[World Tree Yggdrasil]"); - mes("The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North. The defensive mechanisms will start immediately."); - next(); - mes("[World Tree Yggdrasil]"); - mes("Defeat all of Nidhoggur's guardians and go through the waterfall into the nest... and stop Nidhoggur's Shadow there."); - next(); - mes("[World Tree Yggdrasil]"); - mes("The gate will open soon. Go defeat all of the guardians."); - close(); - } else if ('ins_nyd2 == 2) { - mes("[World Tree Yggdrasil]"); - mes("The path to the Guardian's Nest is just past the waterfall by the large World Tree Yggdrasil to the North."); - next(); - mes("[World Tree Yggdrasil]"); - mes("Use your powers... and destroy the vile Shadow..."); - next(); - mes("[World Tree Yggdrasil]"); - mes("This is... all I can do for you..."); - close(); - } else { - mes("[World Tree Yggdrasil]"); - mes("Those who want to taint the sacred Sanctuary of the Guardian... Get out."); - warp("mid_camp", 100, 100); - } - end; - -OnTouch: - if ('ins_nyd2 == 0) { - mes("What's a woman from the Laphine Tribe doing here..."); - next(); - mes("What's happening? Let's go check it out."); - close(); - } - end; - -OnInstanceInit: // Temporary fix for @reloadscript. - 'ins_nyd2 = 0; - end; -} - -1@nyd,1,1,0 script nyd_call_mon_1 FAKE_NPC,{ -OnInstanceInit: - enablenpc(instance_npcname("nyd_call_mon_1")); - end; - -OnEnable: - .@map$ = instance_mapname("1@nyd"); - monster(.@map$, 220, 250, _("Nidhoggur's Guardian#1"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - monster(.@map$, 220, 252, _("Nidhoggur's Guardian#2"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - monster(.@map$, 240, 270, _("Nidhoggur's Guardian#3"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - monster(.@map$, 240, 272, _("Nidhoggur's Guardian#4"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - monster(.@map$, 200, 200, _("Nidhoggur's Guardian#5"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - monster(.@map$, 210, 210, _("Nidhoggur's Guardian#6"), RHYNCHO, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - monster(.@map$, 225, 265, _("Nidhoggur's Guardian#7"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - monster(.@map$, 225, 270, _("Nidhoggur's Guardian#8"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - monster(.@map$, 245, 235, _("Nidhoggur's Guardian#9"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - monster(.@map$, 255, 255, _("Nidhoggur's Guardian#10"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - monster(.@map$, 225, 245, _("Nidhoggur's Guardian#11"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - monster(.@map$, 230, 280, _("Nidhoggur's Guardian#12"), PHYLLA, 1, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - mapannounce(.@map$, _("Nidhoggur's Guardian : Protect the Guardian's Sanctuary. Get rid of the intruders."), bc_map, C_SPRINGGREEN); - end; - -OnDisable: - killmonster(instance_mapname("1@nyd"), instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - disablenpc(instance_npcname("nyd_call_mon_1")); - end; - -OnMyMobDead: - .@map$ = instance_mapname("1@nyd"); - .@mob_dead_num = mobcount(.@map$, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - mapannounce(.@map$, _("All of Nidhoggur's Guardians have been defeated!"), bc_map, C_SPRINGGREEN); - donpcevent(instance_npcname("ins_nyd_1f_timer")+"::OnDisable"); - donpcevent(instance_npcname("nyd_to2f_warp")+"::OnEnable"); - 'ins_nyd2 = 2; - } - end; -} - -1@nyd,1,2,0 script ins_nyd_1f_timer FAKE_NPC,{ -OnInstanceInit: - disablenpc(instance_npcname("ins_nyd_1f_timer")); - end; - -OnEnable: - enablenpc(instance_npcname("ins_nyd_1f_timer")); - initnpctimer(); - end; - -OnDisable: - disablenpc(instance_npcname("ins_nyd_1f_timer")); - stopnpctimer(); - killmonsterall(instance_mapname("1@nyd")); - end; - -OnTimer900000: - mapannounce(instance_mapname("1@nyd"), _("World Tree Yggdrasil : There's not much time left. Please hurry."), bc_map, C_YELLOW); - end; - -OnTimer1200000: - mapannounce(instance_mapname("1@nyd"), _("World Tree Yggdrasil : My powers are slowly disappearing. Please hurry."), bc_map, C_YELLOW); - end; - -OnTimer1500000: - mapannounce(instance_mapname("1@nyd"), _("World Tree Yggdrasil : I'm... almost at my limit... please hurry up."), bc_map, C_YELLOW); - end; - -OnTimer1800000: - mapannounce(instance_mapname("1@nyd"), _("World Tree Yggdrasil : You've failed... but I will use what power I have left... to send you out of here."), bc_map, C_YELLOW); - end; - -OnTimer1830000: - mapannounce(instance_mapname("1@nyd"), _("Opening of the Gate has failed."), bc_map, C_YELLOW); - end; - -OnTimer1850000: - donpcevent(instance_npcname("ins_nyd_1f_timer")+"::OnDisable"); - donpcevent(instance_npcname("nyd_call_mon_1")+"::OnDisable"); - instance_warpall("mid_camp", 310, 150); - stopnpctimer(); - end; -} - -1@nyd,195,320,0 script nyd_to2f_warp WARPNPC,5,5,{ -OnInstanceInit: -OnDisable: - disablenpc(instance_npcname("nyd_to2f_warp")); - end; - -OnEnable: - enablenpc(instance_npcname("nyd_to2f_warp")); - end; - -OnTouch: - 'ins_nyd2 = 3; - warp(instance_mapname("2@nyd"), 200, 10); - end; -} - -1@nyd,1,1,0 script ins_nyd1_spawn_mobs FAKE_NPC,{ -OnInstanceInit: - .@map$ = instance_mapname("1@nyd"); - monster(.@map$, 0, 0, _("Ancient Tree"), ANCIENT_TREE, 40, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyTreeDead"); - monster(.@map$, 0, 0, _("Rhyncho"), RHYNCHO, 30, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyRhynDead"); - monster(.@map$, 0, 0, _("Phylla"), PHYLLA, 30, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPhyDead"); - monster(.@map$, 0, 0, _("Aqua Elemental"), AQUA_ELEMENTAL, 30, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyAquaDead"); - monster(.@map$, 0, 0, _("Dark Pinguicula"), PINGUICULA_D, 30, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPingDead"); - end; - -OnMyTreeDead: - monster(instance_mapname("1@nyd"), 0, 0, _("Ancient Tree"), ANCIENT_TREE, 1, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyTreeDead"); - end; - -OnMyRhynDead: - monster(instance_mapname("1@nyd"), 0, 0, _("Rhyncho"), RHYNCHO, 1, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyRhynDead"); - end; - -OnMyPhyDead: - monster(instance_mapname("1@nyd"), 0, 0, _("Phylla"), PHYLLA, 1, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPhyDead"); - end; - -OnMyAquaDead: - monster(instance_mapname("1@nyd"), 0, 0, _("Aqua Elemental"), AQUA_ELEMENTAL, 1, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyAquaDead"); - end; - -OnMyPingDead: - monster(instance_mapname("1@nyd"), 0, 0, _("Dark Pinguicula"), PINGUICULA_D, 1, instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPingDead"); - end; -} - -//== Second Floor ========================================== -2@nyd,200,14,0 script nyd_2f_enter FAKE_NPC,6,6,{ -OnTouch_: - donpcevent(instance_npcname("nyd_2f_enter_broad")+"::OnEnable"); - disablenpc(instance_npcname("nyd_2f_enter")); - end; -} - -2@nyd,1,1,0 script nyd_2f_enter_broad FAKE_NPC,{ -OnInstanceInit: -OnDisable: - disablenpc(instance_npcname("nyd_2f_enter_broad")); - end; - -OnEnable: - enablenpc(instance_npcname("nyd_2f_enter_broad")); - initnpctimer(); - end; - -OnTimer12000: - mapannounce(instance_mapname("2@nyd"), _("Nidhoggur's Shadow : No more... I can't stand this anymore..."), bc_map, C_YELLOW); - end; - -OnTimer15000: - mapannounce(instance_mapname("2@nyd"), _("Nidhoggur's Shadow : I need... I need the World Tree Yggdrasil's powers..."), bc_map, C_YELLOW); - end; - -OnTimer18000: - mapannounce(instance_mapname("2@nyd"), _("Nidhoggur's Shadow : Destroy... everything..."), bc_map, C_YELLOW); - stopnpctimer(); - disablenpc(instance_npcname("nyd_2f_enter_broad")); - end; -} - -2@nyd,199,178,0 script nyd_2f_ddr_control FAKE_NPC,6,6,{ -OnTouch: - specialeffect(EF_HOLYHIT, AREA, playerattached()); - mes("From below the gorgeous stones, a strange breeze is forming."); - next(); - mes("The strange power slowly surrounds your body, the dimension is starting to shift."); - close2(); - warp(instance_mapname("2@nyd"), 199, 255); - end; -} - -2@nyd,199,268,0 script nyd_2f_boss_enter FAKE_NPC,8,8,{ -OnTouch_: - if (getcharid(CHAR_ID_CHAR) == getpartyleader(getcharid(CHAR_ID_PARTY), 2)) { - donpcevent(instance_npcname("nyd_2f_boss_enter_call")+"::OnEnable"); - disablenpc(instance_npcname("nyd_2f_boss_enter")); - end; - } - end; -} - -2@nyd,2,2,0 script nyd_2f_boss_enter_call FAKE_NPC,{ -OnInstanceInit: - disablenpc(instance_npcname("nyd_2f_boss_enter_call")); - end; - -OnEnable: - enablenpc(instance_npcname("nyd_2f_boss_enter_call")); - .@map$ = instance_mapname("2@nyd"); - monster(.@map$, 199, 327, _("Nidhoggur's Shadow"), S_NYDHOG, 1, instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead"); - mapannounce(.@map$, _("Nidhoggur's Shadow : I will devour all of you... you and the World Tree Yggdrasil."), bc_map, C_SPRINGGREEN); - //donpcevent(instance_npcname("nyd_2f_boss_enter_call")+"::OnGo"); - initnpctimer(); - end; - -OnDisable: - killmonster(instance_mapname("2@nyd"), instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead"); - disablenpc(instance_npcname("nyd_2f_boss_enter_call")); - end; - -OnTimer180000: - stopnpctimer(); -OnWarpColor: - .@map$ = instance_mapname("2@nyd"); - switch (rand(1, 4)) { - case 1: - mapannounce(.@map$, _("Nidhoggur's Shadow : In this chaos... your blood is just what I need."), bc_map, C_YELLOW); - donpcevent(instance_npcname("nyd_2f_white")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_yellow")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_green")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_red")+"::OnEnable"); - instance_warpall(.@map$, 115, 278); - end; - case 2: - mapannounce(.@map$, _("Nidhoggur's Shadow : I will freeze every last drop of your blood."), bc_map, C_YELLOW); - donpcevent(instance_npcname("nyd_2f_red")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_yellow")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_green")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_white")+"::OnEnable"); - instance_warpall(.@map$, 115, 373); - end; - case 3: - mapannounce(.@map$, _("Nidhoggur's Shadow : Sleep for eternity in an empty illusion."), bc_map, C_YELLOW); - donpcevent(instance_npcname("nyd_2f_red")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_white")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_green")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_yellow")+"::OnEnable"); - instance_warpall(.@map$, 284, 278); - end; - case 4: - mapannounce(.@map$, _("Nidhoggur's Shadow : I'll let you enjoy the pain of dying slowly."), bc_map, C_YELLOW); - donpcevent(instance_npcname("nyd_2f_red")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_white")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_yellow")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_green")+"::OnEnable"); - instance_warpall(.@map$, 284, 374); - end; - } - end; - -OnMyMobDead: - .@map$ = instance_mapname("2@nyd"); - if (mobcount(.@map$, instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead") < 1) { - mapannounce(.@map$, _("Nidhoggur's Shadow : World Tree Yggdrasil's guardian... his powers are disappearing..."), bc_map, C_SPRINGGREEN); - donpcevent(instance_npcname("World Tree Yggdrasil#2F")+"::OnEnable"); - donpcevent(instance_npcname("nyd_2f_boss_enter_call")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_boss_enter_logic")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_red_c")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_white_c")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_yellow_c")+"::OnDisable"); - donpcevent(instance_npcname("nyd_2f_green_c")+"::OnDisable"); - 'ins_nyd2 = 4; - end; - } - end; -} - -2@nyd,2,4,0 script nyd_2f_boss_enter_logic FAKE_NPC,{ -OnInstanceInit: - disablenpc(instance_npcname("nyd_2f_boss_enter_logic")); - end; - -OnEnable: - stopnpctimer(); - initnpctimer(); - end; - -OnDisable: - stopnpctimer(); - disablenpc(instance_npcname("nyd_2f_boss_enter_logic")); - end; - -OnTimer180000: - stopnpctimer(); - donpcevent(instance_npcname("nyd_2f_boss_enter_call")+"::OnWarpColor"); - end; -} - -2@nyd,202,324,5 script World Tree Yggdrasil#2F 4_F_FAIRYKID2,3,3,{ - mes("[World Tree Yggdrasil]"); - mes("Thank you. You're the saviour of humans and the Laphine Tribe."); - next(); - mes("[World Tree Yggdrasil]"); - mes("You've defeated Nidhoggur's Shadow. But...It's not gone for good. Its powers are merely put to sleep."); - next(); - mes("[World Tree Yggdrasil]"); - mes("But you have won us plenty of time. This is great."); - next(); - mes("[World Tree Yggdrasil]"); - mes("Please go and report this to those in charge of Splendide and Manuk."); - next(); - mes("[World Tree Yggdrasil]"); - mes("As you have seen, neither the Sapha tribe nor the Laphine tribe is at fault for the weakening of the World Tree. It's all because of the Guardian's Shadow..."); - next(); - mes("[World Tree Yggdrasil]"); - mes("The Guardian's insanity...is caused by powers unknown to us... You must tell this to everyone."); - next(); - mes("[World Tree Yggdrasil]"); - mes("Now... Allow me to escort you out of the cursed nest."); - next(); - switch (select("Please let me out.", "I want to look around for a while.")) { - case 1: - 'ins_nyd2 = 0; - ins_nyd = 203; - //setquest(3135); - warp("nyd_dun02", 98, 196); - end; - case 2: - mes("[World Tree Yggdrasil]"); - mes("Is that so... I'll be around if you want to leave."); - close(); - } - -OnInstanceInit: -OnDisable: - disablenpc(instance_npcname("World Tree Yggdrasil#2F")); - end; - -OnEnable: - enablenpc(instance_npcname("World Tree Yggdrasil#2F")); - mapannounce(instance_mapname("2@nyd"), _("World Tree Yggdrasil : You did good. Have everyone go to the Magic Circle in the middle, and get ready for the destruction of the nest."), bc_map, C_SPRINGGREEN); - end; -} - -2@nyd,115,278,0 script nyd_2f_red FAKE_NPC,5,5,{ -OnInstanceInit: - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; - -OnEnable: - enablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp1")+"::OnEnable"); - donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp2")+"::OnEnable"); - donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp3")+"::OnEnable"); - donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_c")+"::OnEnable"); - initnpctimer(); - end; - -OnDisable: - donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp1")+"::OnDisable"); - donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp2")+"::OnDisable"); - donpcevent(instance_npcname(strnpcinfo(NPC_NAME)+"_warp3")+"::OnDisable"); - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; - -OnTouch: - if (compare(strnpcinfo(NPC_NAME), "red")) { - percentheal(-50, 0); - percentheal(-30, 0); - sc_start(SC_BLOODING, 60000, 0); - } else if (compare(strnpcinfo(NPC_NAME), "white")) { - percentheal(-50, 0); - sc_start(SC_FREEZE, 20000, 0); - } else if (compare(strnpcinfo(NPC_NAME), "yellow")) { - percentheal(0, -50); - sc_start(SC_SLEEP, 20000, 0); - sc_start(SC_CONFUSION, 60000, 0); - } else if (compare(strnpcinfo(NPC_NAME), "green")) { - percentheal(-50, -50); - sc_start(SC_POISON, 60000, 0); - } - end; - -OnTimer10000: - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - stopnpctimer(); - end; -} - -2@nyd,6,6,0 script nyd_2f_red_c FAKE_NPC,{ -OnInstanceInit: - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; - -OnEnable: - enablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - initnpctimer(); - .@map$ = instance_mapname("2@nyd"); - .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"; - if (compare(strnpcinfo(NPC_NAME), "red")) { - monster(.@map$, 120, 285, _("Nidhoggur's Guardian#1"), RHYNCHO, 1, .@label$); - monster(.@map$, 119, 286, _("Nidhoggur's Guardian#2"), RHYNCHO, 1, .@label$); - monster(.@map$, 120, 270, _("Nidhoggur's Guardian#3"), RHYNCHO, 1, .@label$); - monster(.@map$, 119, 269, _("Nidhoggur's Guardian#4"), PHYLLA, 1, .@label$); - monster(.@map$, 118, 270, _("Nidhoggur's Guardian#5"), PHYLLA, 1, .@label$); - } else if (compare(strnpcinfo(NPC_NAME), "white")) { - monster(.@map$, 120, 380, _("Nidhoggur's Guardian#1"), RHYNCHO, 1, .@label$); - monster(.@map$, 119, 381, _("Nidhoggur's Guardian#2"), RHYNCHO, 1, .@label$); - monster(.@map$, 120, 367, _("Nidhoggur's Guardian#3"), RHYNCHO, 1, .@label$); - monster(.@map$, 119, 366, _("Nidhoggur's Guardian#4"), PHYLLA, 1, .@label$); - monster(.@map$, 118, 365, _("Nidhoggur's Guardian#5"), PHYLLA, 1, .@label$); - } else if (compare(strnpcinfo(NPC_NAME), "yellow")) { - monster(.@map$, 282, 284, _("Nidhoggur's Guardian#1"), RHYNCHO, 1, .@label$); - monster(.@map$, 283, 283, _("Nidhoggur's Guardian#2"), RHYNCHO, 1, .@label$); - monster(.@map$, 280, 275, _("Nidhoggur's Guardian#3"), RHYNCHO, 1, .@label$); - monster(.@map$, 281, 276, _("Nidhoggur's Guardian#4"), PHYLLA, 1, .@label$); - monster(.@map$, 281, 277, _("Nidhoggur's Guardian#5"), PHYLLA, 1, .@label$); - } else if (compare(strnpcinfo(NPC_NAME), "green")) { - monster(.@map$, 282, 378, _("Nidhoggur's Guardian#1"), RHYNCHO, 1, .@label$); - monster(.@map$, 283, 377, _("Nidhoggur's Guardian#2"), RHYNCHO, 1, .@label$); - monster(.@map$, 280, 368, _("Nidhoggur's Guardian#3"), RHYNCHO, 1, .@label$); - monster(.@map$, 281, 368, _("Nidhoggur's Guardian#4"), PHYLLA, 1, .@label$); - monster(.@map$, 281, 367, _("Nidhoggur's Guardian#5"), PHYLLA, 1, .@label$); - } - end; - -OnMyMobDead: - .@map$ = instance_mapname("2@nyd"); - if (mobcount(.@map$, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) { - mapannounce(.@map$, _("Nidhoggur's Shadow : You're not bad... but I will be your opponent this time."), bc_map, C_SPRINGGREEN); - donpcevent(instance_npcname("nyd_2f_boss_enter_logic")+"::OnEnable"); - donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable"); - end; - } - end; - -/* -OnReset: // Label not called. - killmonster(instance_mapname("2@nyd"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"); - donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnDisable"); - end; -*/ - -OnDisable: - stopnpctimer(); - killmonster(instance_mapname("2@nyd"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"); //custom - donpcevent(instance_npcname(substr(strnpcinfo(NPC_NAME), 0, getstrlen(strnpcinfo(NPC_NAME)) - 3))+"::OnDisable"); - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; - -OnTimer180000: - killmonster(instance_mapname("2@nyd"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"); - stopnpctimer(); - donpcevent(instance_npcname("nyd_2f_boss_enter_call")+"::OnWarpColor"); - end; -} - -2@nyd,130,298,0 script nyd_2f_red_warp1 FAKE_NPC,6,6,{ -OnInstanceInit: -OnDisable: - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; - -OnEnable: - enablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; - -OnTouch: - if (compare(strnpcinfo(NPC_NAME), "red")) - warp(instance_mapname("2@nyd"), 115, 278); - else if (compare(strnpcinfo(NPC_NAME), "white")) - warp(instance_mapname("2@nyd"), 115, 373); - else if (compare(strnpcinfo(NPC_NAME), "yellow")) - warp(instance_mapname("2@nyd"), 284, 278); - else if (compare(strnpcinfo(NPC_NAME), "green")) - warp(instance_mapname("2@nyd"), 284, 374); - end; -} -2@nyd,142,296,0 duplicate(nyd_2f_red_warp1) nyd_2f_red_warp2 FAKE_NPC,6,6 -2@nyd,145,283,0 duplicate(nyd_2f_red_warp1) nyd_2f_red_warp3 FAKE_NPC,6,6 - -2@nyd,115,373,0 duplicate(nyd_2f_red) nyd_2f_white FAKE_NPC,5,5 -2@nyd,6,7,0 duplicate(nyd_2f_red_c) nyd_2f_white_c FAKE_NPC -2@nyd,127,354,0 duplicate(nyd_2f_red_warp1) nyd_2f_white_warp1 FAKE_NPC,6,6 -2@nyd,140,357,0 duplicate(nyd_2f_red_warp1) nyd_2f_white_warp2 FAKE_NPC,6,6 -2@nyd,145,367,0 duplicate(nyd_2f_red_warp1) nyd_2f_white_warp3 FAKE_NPC,6,6 - -2@nyd,284,278,0 duplicate(nyd_2f_red) nyd_2f_yellow FAKE_NPC,5,5 -2@nyd,6,8,0 duplicate(nyd_2f_red_c) nyd_2f_yellow_c FAKE_NPC -2@nyd,255,285,0 duplicate(nyd_2f_red_warp1) nyd_2f_yellow_warp1 FAKE_NPC,6,6 -2@nyd,257,296,0 duplicate(nyd_2f_red_warp1) nyd_2f_yellow_warp2 FAKE_NPC,6,6 -2@nyd,268,300,0 duplicate(nyd_2f_red_warp1) nyd_2f_yellow_warp3 FAKE_NPC,6,6 - -2@nyd,284,374,0 duplicate(nyd_2f_red) nyd_2f_green FAKE_NPC,5,5 -2@nyd,6,9,0 duplicate(nyd_2f_red_c) nyd_2f_green_c FAKE_NPC -2@nyd,274,356,0 duplicate(nyd_2f_red_warp1) nyd_2f_green_warp1 FAKE_NPC,6,6 -2@nyd,260,356,0 duplicate(nyd_2f_red_warp1) nyd_2f_green_warp2 FAKE_NPC,6,6 -2@nyd,258,368,0 duplicate(nyd_2f_red_warp1) nyd_2f_green_warp3 FAKE_NPC,6,6 - -2@nyd,1,1,0 script ins_nyd2_spawn_mobs FAKE_NPC,{ -OnInstanceInit: - .@map$ = instance_mapname("2@nyd"); //temp fix since all mobs spawn on the same (inaccessable) area - areamonster(.@map$, 14, 20, 382, 180, _("Rhyncho"), RHYNCHO, 40, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyRhynDead"); - areamonster(.@map$, 14, 20, 382, 180, _("Phylla"), PHYLLA, 40, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPhyDead"); - areamonster(.@map$, 14, 20, 382, 180, _("Dark Shadow"), DARK_SHADOW, 40, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyDarkshaDead"); - areamonster(.@map$, 14, 20, 382, 180, _("Dark Pinguicula"), PINGUICULA_D, 40, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPingDead"); - end; - -OnMyRhynDead: - areamonster(instance_mapname("2@nyd"), 14, 20, 382, 180, _("Rhyncho"), RHYNCHO, 1, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyRhynDead"); - end; - -OnMyPhyDead: - areamonster(instance_mapname("2@nyd"), 14, 20, 382, 180, _("Phylla"), PHYLLA, 1, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPhyDead"); - end; - -OnMyDarkshaDead: - areamonster(instance_mapname("2@nyd"), 14, 20, 382, 180, _("Dark Shadow"), DARK_SHADOW, 1, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyDarkshaDead"); - end; - -OnMyPingDead: - areamonster(instance_mapname("2@nyd"), 14, 20, 382, 180, _("Dark Pinguicula") , PINGUICULA_D, 1, instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPingDead"); - end; -} - -//== GM Management NPCs ==================================== -sec_in02,36,167,3 script Nidhoggur Manager 4_M_FAIRYSOLDIER,1,1,{ - callfunc("F_GM_NPC"); - mes("Enter the password."); - next(); - if (callfunc("F_GM_NPC", "1854", 1) == 0) { - mes("Incorrect password."); - close(); - } - mes("What do you need to do?"); - next(); - switch (select("Reset variables to allow entrance to Nidhoggur", "change variable 'ins_nyd'", "Remove 3 day timer 3135", "Confirm variable number")) { - case 1: - ins_nyd = 200; - ins_nyd2 = 0; - erasequest(3135); - mes("ins_nyd set to 200 ins_nyd2 set to 0"); - mes("quest 3135 erased."); - close(); - case 2: - mes("Which variable do you want to change?"); - next(); - switch (select("ins_nyd", "ins_nyd2")) { - case 1: - .@var$ = "ins_nyd"; - break; - case 2: - .@var$ = "ins_nyd2"; - break; - } - mes("Input the variable number"); - next(); - input(.@input, 0); - setd(.@var$, .@input); - mesf("%s has been set to %d.", .@var$, .@input); - close(); - case 3: - mes("The 3 day timer will be removed when you close this dialog."); - next(); - erasequest(3135); - mes("Finished removing Quest Timer."); - close(); - case 4: - mesf("ins_nyd is at %d.", ins_nyd); - mesf("ins_nyd2 is at %d.", ins_nyd2); - close(); - } -} - -nyd_dun02,7,7,2 script Purification Admin#nyd2 CLEAR_NPC,2,0,{ - callfunc("F_GM_NPC"); - mes("Please enter the password"); - .@i = callfunc("F_GM_NPC", "dragonslayer", 1); - next(); - if (.@i == 0) { - mes("Enter the password exactly."); - close(); - } - switch (select("Generate Purification Stone", "Remove Purification Stone", "Turn Entrance NPC OFF", "Turn Entrance NPC On", "Cancel")) { - case 1: - mes("Purification stone has been created and will stay on for 30 minutes."); - donpcevent("Purification Stone#nyd2::OnEnable"); - close(); - case 2: - mes("The Purification Stone has been destroyed."); - donpcevent("Purification Stone#nyd2::OnDisable"); - close(); - case 3: - mes("The Yggdrasil Gatekeeper at nyd_dun02 100 201 is now OFF."); - disablenpc("Yggdrasil Gatekeeper"); - close(); - case 4: - mes("The Yggdrasil Gatekeeper at nyd_dun02 100 201 is now On."); - enablenpc("Yggdrasil Gatekeeper"); - close(); - case 5: - close(); - } -} - -nyd_dun02,88,195,4 script Purification Stone#nyd2 2_MONEMUS,{ - erasequest(3135); - erasequest(3136); - ins_nyd = 200; - ins_nyd2 = 0; - mes("^0000FFThe records and after-effect related to the Nidhoggur's Nest have been removed. You can generate and enter the dungeon again.^000000"); - close(); -OnInit: - disablenpc("Purification Stone#nyd2"); - end; -OnEnable: - initnpctimer(); - end; -OnDisable: - stopnpctimer(); - disablenpc("Purification Stone#nyd2"); - end; -OnTimer1000: - enablenpc("Purification Stone#nyd2"); - end; -OnTimer1740000: - mapannounce("nyd_dun02", _("The Purification Stone will be destroyed in one minute."), bc_map, C_SPRINGGREEN, FW_NORMAL, 12); - end; -OnTimer1800000: - disablenpc("Purification Stone#nyd2"); - end; -} diff --git a/npc/instances/OrcsMemory.txt b/npc/instances/OrcsMemory.txt deleted file mode 100644 index a9ab68be7..000000000 --- a/npc/instances/OrcsMemory.txt +++ /dev/null @@ -1,896 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2020 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see <http://www.gnu.org/licenses/>. -//========================================================================= -//= Orc's Memory -//================= Description =========================================== -//= Relive the memory of an orc. -//================= Current Version ======================================= -//= 1.7 -//========================================================================= - -//== Entrance ============================================== -gef_fild10,242,202,0 script Dimensional Gorge Piece 2_MONEMUS,{ - - .@party_id = getcharid(CHAR_ID_PARTY); - .@p_name$ = getpartyname(.@party_id); - .@md_name$ = _("Orc's Memory"); - - if (!instance_check_party(.@party_id, 2, 30, 80)) { - mes("Only users between Levels ^ff000030 ~ 80^000000 can enter this Dungeon."); - close(); - } - - .@orctime = questprogress(12059, PLAYTIME); - if (.@orctime == 2) { - mes("^0000ffAll records and after-effects related to the Orc's Memory Dungeon are deleted. You can now regenerate or re-enter the dungeon.^000000"); - erasequest(12059); - close(); - } - - if (.@orctime == 1) { - mes("You can enter the Dungeon if it has been generated."); - next(); - .@str$ = sprintf(_$("Enter the Dungeon %s"), .@md_name$); - if (select(.@str$, "Cancel") == 2) - close(); - // Fall through to access the dungeon - } else { // !.@orctime - if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2)) { - mesf("Party status confirmed. Would you like to book entrance to the %s?", .@md_name$); - next(); - .@str$ = sprintf(_$("Reserve the %s"), .@md_name$); - switch (select(.@str$, "Enter the Dungeon", "Cancel")) { - case 1: - .@instance = instance_create(.@md_name$, .@party_id); - if (.@instance >= 0) { - for (.@i = 1; .@i <= 2; ++.@i) { - if (instance_attachmap(.@i + "@orcs", .@instance) == "") { - mesf("Party Name: %s", .@p_name$); - mesf("Party Leader: %s", strcharinfo(PC_NAME)); - mesf("^0000ff%s ^000000 - Reservation Failed.", .@md_name$); - instance_destroy(.@instance); - close(); - } - } - instance_set_timeout(7200, 300, .@instance); - instance_init(.@instance); - } - mesf("^0000ff%s^000000- Attempting to book an entrance", .@md_name$); - mesf("After making a reservation, you have to select 'Enter the Dungeon' from the menu if you wish to enter the %s.", .@md_name$); - close(); - case 2: - break; // Fall through to access the dungeon (after the else) - case 3: - close(); - } - } else if (select(sprintf(_$("%s Enter the Memorial Dungeon"), .@md_name$), "Cancel") == 2) { - end; - } - // Else access the dungeon - } - - // Dungeon access - - if (has_instance("1@orcs") == "") { - mesf("Memorial Dungeon %s does not exist.", .@md_name$); - mes("The party leader has not reserved entrance to the dungeon yet."); - next(); - mes("Once the reservation is complete, the dungeon will be generated."); - mes("If your dungeon has been destroyed you must wait 7 days before re-entering."); - close(); - } - - mapannounce("gef_fild10", sprintf(_$("%s of the party, %s is entering the %s."), strcharinfo(PC_NAME), .@p_name$, .@md_name$), bc_map, C_SPRINGGREEN); - if (!questprogress(12059)) - setquest(12059); - warp("1@orcs", 179, 15); - end; -} - -gef_fild10,238,202,6 script Mad Scientist#orc 4_LGTSCIENCE,{ - if (BaseLevel < 50) { - mes("The Mad Scientist doesn't seem to notice you and keeps mumbling to himself..."); - close(); - } - if (mad == 0) { - mes("[Mad Scientist]"); - mes("Haha, no Orcs are coming near me!"); - mes("The power of the Dimensional Gorge is undefeatable!!"); - next(); - switch (select("Orcs don't attack you?", "You wish!")) { - case 1: - mes("[Mad Scientist]"); - mes("Yeah, yeah.. I know it's hard to belive. I don't blame ya."); - mes("I used to study the Dimensional Gorge discovered near Morroc."); - mes("According to my research, the minerals found there have enormous power inside them!"); - next(); - break; - case 2: - mes("[Mad Scientist]"); - mes("You are a pretty distrustful person, huh?"); - next(); - break; - } - select("Oh? Like what, travel to alternate space?"); - mes("[Mad Scientist]"); - mes("Very smart! I have actually just done that! See that statue over there? It's not your normal Monolith!"); - next(); - mes("[Mad Scientist]"); - mes("I have created it with a combination of our technology and the unlimited energy I discovered from the Gorge! Want to try it?"); - next(); - select("...Um, that doesn't sound legal?"); - mes("[Mad Scientist]"); - mes("Hey, since when did something so interesting have to be legal!? How about it! You can talk to the Orcs! C'mon!"); - next(); - mes("[Mad Scientist]"); - mes("Chances are they'll just give you lots of instructions once they see you, so just wing it! They're always saying the same thing, to the point where I memorized them!"); - next(); - switch (select("Alright... What do I do?", "Umm, maybe not.")) { - case 1: - mes("[Mad Scientist]"); - mes("Very good! Just sit in the hands of this statue! And try to act natural when you're in there!"); - mad = 1; - close(); - case 2: - mes("[Mad Scientist]"); - mes("Oh fine, be that way!"); - close(); - } - } else if (mad == 1) { - mes("[Mad Scientist]"); - mes("Hmm? Put your hand on that Monemus Statue if you want to experience traveling through dimensions!"); - close(); - } else { - mad = 1; - end; - } -} - -//== Orc's Memory Floor 1 ================================== -1@orcs,180,30,0 script #Resurrect Monsters1 CLEAR_NPC,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("#Resurrect Monsters1")); - end; - -OnDisable: - stopnpctimer(); - killmonster(instance_mapname("1@orcs"), instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"); - end; - -OnEnable: - enablenpc(instance_npcname("#Resurrect Monsters1")); - monster(instance_mapname("1@orcs"), 0, 0, _("Orc Warrior"), ORK_WARRIOR, 30, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("1@orcs"); - .@mob_dead_num = 30 - mobcount(.@map$, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"); - if (.@mob_dead_num > 0) { - .@mob_ran = rand(1, 30); - if (.@mob_ran > 29) { - monster(.@map$, 0, 0, _("Orc Warrior"), ORK_WARRIOR, .@mob_dead_num, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"); - } else if (.@mob_ran > 28 && .@mob_ran < 30) { - monster(.@map$, 0, 0, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"); - if (rand(1, 10) == 9) - mapannounce(.@map$, _("High Orc: We need more defenses! Get more people here!"), bc_map, "0xff4444"); - } else if (.@mob_ran > 26 && .@mob_ran < 29) { - areamonster(.@map$, 41, 91, 51, 81, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"); - if (rand(1, 10) == 9) - mapannounce(.@map$, _("Where are the High Orcs!? Get them to stop the enemies!"), bc_map, "0xff4444"); - } else { - areamonster(.@map$, 17, 187, 27, 177, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"); - if (rand(1, 5) == 3) - mapannounce(.@map$, _("Caution: The army's starting to concentrate at Zone No. 4."), bc_map, "0x77ff77"); - if (rand(1, 100) == 50) - initnpctimer(); - } - } - end; - -OnTimer10: - mapannounce(instance_mapname("1@orcs"), _("Shouts of the Chief Orc of Safeguards: Looks like this will take longer than expected. Summon the Stalactic Golems!"), bc_map, "0xff4444"); - end; - -OnTimer4010: - .@map$ = instance_mapname("1@orcs"); - mapannounce(.@map$, _("Stalactic Golems are digging out of the deep underground."), bc_map, "0x77ff77"); - areamonster(.@map$, 17, 187, 27, 177, _("Stalactic Golem"), STALACTIC_GOLEM, 20, instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"); - stopnpctimer(); - end; -} - -1@orcs,180,30,0 script #Resurrect Monsters2 CLEAR_NPC,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("#Resurrect Monsters2")); - end; - -OnDisable: - killmonster(instance_mapname("1@orcs"), instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead"); - end; - -OnEnable: - enablenpc(instance_npcname("#Resurrect Monsters2")); - monster(instance_mapname("1@orcs"), 0, 0, _("Trained Wolf"), DESERT_WOLF, 15, instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("1@orcs"); - .@mob_dead_num = 15 - mobcount(.@map$, instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead"); - if (rand(1, 30) > 15) { - if (.@mob_dead_num > 0) - monster(.@map$, 0, 0, _("Trained Wolf"), DESERT_WOLF, .@mob_dead_num, instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead"); - } else { - if (.@mob_dead_num > 0) - areamonster(.@map$, 17, 187, 27, 177, _("Trained Wolf"), DESERT_WOLF, .@mob_dead_num, instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead"); - } - end; -} - -1@orcs,180,30,0 script #Resurrect Monsters3 CLEAR_NPC,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("#Resurrect Monsters3")); - end; - -OnDisable: - killmonster(instance_mapname("1@orcs"), instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"); - end; - -OnEnable: - enablenpc(instance_npcname("#Resurrect Monsters3")); - monster(instance_mapname("1@orcs"), 0, 0, _("Orc Archer"), ORC_ARCHER, 15, instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("1@orcs"); - .@mob_dead_num = 15 - mobcount(.@map$, instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"); - .@mob_ran = rand(1, 30); - if (.@mob_ran > 29) { - if (.@mob_dead_num > 0) - monster(.@map$, 0, 0, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"); - } else if (.@mob_ran > 26 && .@mob_ran < 30) { - if (.@mob_dead_num > 0) { - areamonster(.@map$, 43, 155, 47, 159, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"); - if (rand(1, 3) == 3) - mapannounce(.@map$, _("High Orc: Attack them from behind! Cut off their support!"), bc_map, "0xff4444"); - } - } else { - if (.@mob_dead_num > 0) - areamonster(.@map$, 17, 187, 27, 177, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"); - } - end; -} - -1@orcs,180,30,0 script #Resurrect Monsters4 CLEAR_NPC,{ - end; - -OnInstanceInit: - enablenpc(instance_npcname("#Resurrect Monsters4")); - areamonster(instance_mapname("1@orcs"), 98, 35, 178, 115, _("Anopheles"), ANOPHELES, 10, instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("1@orcs"); - .@mob_dead_num = 10 - mobcount(.@map$, instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead"); - if (.@mob_dead_num > 0) - monster(.@map$, 0, 0, _("Anopheles"), ANOPHELES, .@mob_dead_num, instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead"); - end; - -OnDisable: - killmonster(instance_mapname("1@orcs"), instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead"); - end; -} - -1@orcs,180,29,4 script Kruger#1-1 4_ORCWARRIOR,{ - donpcevent(instance_npcname("Kruger#1-2")+"::OnEnable"); - end; -} - -1@orcs,180,29,4 script Kruger#1-2 4_ORCWARRIOR,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("Kruger#1-2")); - end; - -OnEnable: - disablenpc(instance_npcname("Kruger#1-1")); - enablenpc(instance_npcname("Kruger#1-2")); - initnpctimer(); - end; - -OnTimer10: - mapannounce(instance_mapname("1@orcs"), _("Kruger: Damn... What took you so long!! I don't have all day!!"), bc_map, C_YELLOW); - end; - -OnTimer5710: - mapannounce(instance_mapname("1@orcs"), _("Kruger: My plan was to let our comrades open the gate, but it's all ruined since I got busted by the Orc Shaman."), bc_map, C_YELLOW); - end; - -OnTimer14610: - mapannounce(instance_mapname("1@orcs"), _("Shouts of the Chief Orc of Safeguards: I smell a rat.. Send some patrols to the entrance!!"), bc_map, "0xff4444"); - end; - -OnTimer20210: - mapannounce(instance_mapname("1@orcs"), _("Kruger: Darn it.. They'll be here any minute. Ok. Listen to me now."), bc_map, C_YELLOW); - end; - -OnTimer24910: - mapannounce(instance_mapname("1@orcs"), _("Kruger: The Orc Shaman has sealed the 1st basement by dividing it into 4 zones. Each zone has one Enchanted Orc who has the power to unseal the next zone."), bc_map, C_YELLOW); - end; - -OnTimer34310: - mapannounce(instance_mapname("1@orcs"), _("Kruger: Find those Enchanted Orcs and get rid of them to move to the next zone."), bc_map, C_YELLOW); - end; - -OnTimer39710: - mapannounce(instance_mapname("1@orcs"), _("Kruger: Try to avoid encountering Orcs other then the Enchanted ones. Everytime you kill a normal Orc, High Orcs will gather at the last path to the 2nd floor."), bc_map, C_YELLOW); - end; - -OnTimer49210: - mapannounce(instance_mapname("1@orcs"), _("Kruger: In the worst case, the path to the 2nd floor could be completely blocked. For your own sake, you should be as sneaky as possible."), bc_map, C_YELLOW); - end; - -OnTimer56310: - mapannounce(instance_mapname("1@orcs"), _("Mission: Sneak in and get rid of the 'Enchanted Orcs'. Avoiding battles with other Orcs is the best way of getting into the 2nd floor."), bc_map, "0x44ffff"); - donpcevent(instance_npcname("#Resurrect Monsters1")+"::OnEnable"); - donpcevent(instance_npcname("#Resurrect Monsters2")+"::OnEnable"); - donpcevent(instance_npcname("#Resurrect Monsters3")+"::OnEnable"); - disablenpc(instance_npcname("Kruger#1-2")); - end; - -OnTimer60000: - areamonster(instance_mapname("1@orcs"), 137, 83, 143, 89, _("Enchanted Orc"), ORK_WARRIOR, 1, instance_npcname("B1 Area Mobs")+"::OnMyMobDead"); - stopnpctimer(); - end; - -} - -1@orcs,168,125,0 script B1 Area 1 WARPNPC,3,3,{ -OnInstanceInit: - disablenpc(instance_npcname("B1 Area 1")); - end; - -OnEnable: - enablenpc(instance_npcname("B1 Area 1")); - areamonster(instance_mapname("1@orcs"), 103, 105, 109, 111, _("Enchanted Orc"), ORK_WARRIOR, 1, instance_npcname("B1 Area Mobs")+"::OnMyMobDead1"); - end; - -OnTouch: - warp(instance_mapname("1@orcs"), 168, 130); - end; - -OnContinue: - donpcevent(instance_npcname("B1 Area 2")+"::OnEnable"); - initnpctimer(); - end; - -OnTimer10300: - mapannounce(instance_mapname("1@orcs"), _("Kruger's Whisper: The Orcs here used to be my companions. They just lost their will ever since the Orc Shaman started to control them with her magic."), bc_map, "0xff4499"); - end; - -OnTimer18700: - mapannounce(instance_mapname("1@orcs"), _("Kruger's Whisper: There's nothing we can do but to defeat the Orc Shaman if we want to save the remaining tribes."), bc_map, "0xff4499"); - stopnpctimer(); - end; -} - -1@orcs,89,94,0 script B1 Area 2 WARPNPC,3,3,{ -OnInstanceInit: - disablenpc(instance_npcname("B1 Area 2")); - end; - -OnEnable: - enablenpc(instance_npcname("B1 Area 2")); - areamonster(instance_mapname("1@orcs"), 32, 40, 38, 46, _("Enchanted Orc"), ORK_WARRIOR, 1, instance_npcname("B1 Area Mobs")+"::OnMyMobDead2"); - end; - -OnTouch: - warp(instance_mapname("1@orcs"), 85, 85); - end; - -OnContinue: - donpcevent(instance_npcname("B1 Area 3")+"::OnEnable"); - initnpctimer(); - end; - -OnTimer30300: - mapannounce(instance_mapname("1@orcs"), _("Kruger's Whisper: I saw the bodies of our tribe. It seems that the Orc Shaman used those Orcs for her rituals."), bc_map, "0xff4499"); - end; - -OnTimer37600: - mapannounce(instance_mapname("1@orcs"), _("Kruger's Whisper: ... It all has to do with me. I am responsible for this evil."), bc_map, "0xff4499"); - stopnpctimer(); - end; -} - -1@orcs,38,105,0 script B1 Area 3 WARPNPC,3,3,{ -OnInstanceInit: - disablenpc(instance_npcname("B1 Area 3")); - end; - -OnEnable: - enablenpc(instance_npcname("B1 Area 3")); - areamonster(instance_mapname("1@orcs"), 19, 177, 25, 183, _("Enchanted Orc"), ORK_WARRIOR, 1, instance_npcname("B1 Area Mobs")+"::OnMyMobDead3"); - end; - -OnTouch: - warp(instance_mapname("1@orcs"), 38, 110); - end; - -OnContinue: - donpcevent(instance_npcname("B1 Area 4")+"::OnEnable"); - initnpctimer(); - end; - -OnTimer30300: - mapannounce(instance_mapname("1@orcs"), _("Please, hang in there!"), bc_map, "0xff4499"); - end; - -OnTimer32700: - mapannounce(instance_mapname("1@orcs"), _("We'll get some rest when we get to the 2nd basement after passing through here."), bc_map, "0xff4499"); - stopnpctimer(); - end; -} - -1@orcs,21,189,0 script B1 Area 4 WARPNPC,3,3,{ -OnInstanceInit: - disablenpc(instance_npcname("B1 Area 4")); - end; - -OnEnable: - enablenpc(instance_npcname("B1 Area 4")); - donpcevent(instance_npcname("#Resurrect Monsters1")+"::OnDisable"); - donpcevent(instance_npcname("#Resurrect Monsters2")+"::OnDisable"); - donpcevent(instance_npcname("#Resurrect Monsters3")+"::OnDisable"); - donpcevent(instance_npcname("#Resurrect Monsters4")+"::OnDisable"); - end; - -OnTouch: - warp(instance_mapname("2@orcs"), 32, 171); - end; -} - -1@orcs,1,1,0 script B1 Area Mobs FAKE_NPC,{ - end; - -OnMyMobDead: - donpcevent(instance_npcname("B1 Area 1")+"::OnEnable"); - end; - -OnMyMobDead1: - donpcevent(instance_npcname("B1 Area 1")+"::OnContinue"); - end; - -OnMyMobDead2: - donpcevent(instance_npcname("B1 Area 2")+"::OnContinue"); - end; - -OnMyMobDead3: - donpcevent(instance_npcname("B1 Area 3")+"::OnContinue"); - end; -} - -//== Orc's Memory Floor 2 ================================== -2@orcs,36,171,0 script #2Resurrect Monsters1 CLEAR_NPC,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("#2Resurrect Monsters1")); - end; - -OnEnable: - enablenpc(instance_npcname("#2Resurrect Monsters1")); - monster(instance_mapname("2@orcs"), 0, 0, _("Vengeful Orc"), ORC_SKELETON, 30, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"); - end; - -OnDisable: - stopnpctimer(); - killmonster(instance_mapname("2@orcs"), instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("2@orcs"); - .@mob_dead_num = 30 - mobcount(.@map$, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"); - if (.@mob_dead_num > 0) { - .@mob_ran = rand(1, 30); - if (.@mob_ran > 29) { - monster(.@map$, 0, 0, _("Vengeful Orc"), ORC_SKELETON, .@mob_dead_num, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"); - } else if (.@mob_ran > 28 && .@mob_ran < 30) { - monster(.@map$, 0, 0, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"); - } else if (.@mob_ran > 26 && .@mob_ran < 29) { - areamonster(.@map$, 157, 112, 167, 122, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"); - if (rand(1, 10) == 9) - mapannounce(.@map$, _("Warning: High Orcs are gathering near area 3."), bc_map, "0xff4444"); - } else { - areamonster(.@map$, 173, 13, 183, 23, _("High Orc"), HIGH_ORC, .@mob_dead_num, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"); - if (rand(1, 5) == 3) - mapannounce(.@map$, _("Caution: The Forces have started to concentrate at the Shaman's Altar."), bc_map, "0x77ff77"); - if (rand(1, 70) == 50) - initnpctimer(); - } - } - end; - -OnTimer10: - mapannounce(instance_mapname("2@orcs"), _("Voice from somewhere: Foolish... Do you really think the altar would fall like that?"), bc_map, "0xff4444"); - end; - -OnTimer4010: - .@map$ = instance_mapname("2@orcs"); - mapannounce(.@map$, _("[ Wraiths were summoned by an unknown power ]"), bc_map, "0x77ff77"); - areamonster(.@map$, 167, 25, 177, 35, _("Wraith"), G_WRAITH, 30, instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"); - stopnpctimer(); - end; -} - -2@orcs,36,171,0 script #2Resurrect Monsters3 CLEAR_NPC,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("#2Resurrect Monsters3")); - end; - -OnEnable: - enablenpc(instance_npcname("#2Resurrect Monsters3")); - monster(instance_mapname("2@orcs"), 0, 0, _("Orc Zombie"), ORC_ZOMBIE, 15, instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("2@orcs"); - .@mob_dead_num = 15 - mobcount(.@map$, instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"); - .@mob_ran = rand(1, 30); - if (.@mob_ran > 29) { - if (.@mob_dead_num > 0) { - monster(.@map$, 0, 0, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"); - } - } else if (.@mob_ran > 6 && .@mob_ran < 30) { - if (.@mob_dead_num > 0) { - areamonster(.@map$, 168, 10, 184, 26, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"); - if (rand(1, 15) == 3) - mapannounce(.@map$, _("Warning: Orc Archer teams are gathering near the altar."), bc_map, "0xff4444"); - } - } else { - if (.@mob_dead_num > 0) - areamonster(.@map$, 168, 21, 184, 21, _("Orc Archer"), ORC_ARCHER, .@mob_dead_num, instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"); - } - end; - -OnDisable: - killmonster(instance_mapname("2@orcs"), instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"); - end; -} - -2@orcs,180,30,0 script #2Resurrect Monsters4 CLEAR_NPC,{ - end; - -OnInstanceInit: - enablenpc(instance_npcname("#2Resurrect Monsters4")); - monster(instance_mapname("2@orcs"), 0, 0, _("Anopheles"), ANOPHELES, 10, instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("2@orcs"); - .@mob_dead_num = 10 - mobcount(.@map$, instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead"); - if (.@mob_dead_num > 0) - monster(.@map$, 0, 0, _("Anopheles"), ANOPHELES, 1, instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead"); - end; -} - -2@orcs,35,169,4 script Kruger#2-1 4_ORCWARRIOR,{ - donpcevent(instance_npcname("Kruger#2-2")+"::OnEnable"); - end; -} - -2@orcs,35,169,4 script Kruger#2-2 4_ORCWARRIOR,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("Kruger#2-2")); - end; - -OnEnable: - disablenpc(instance_npcname("Kruger#2-1")); - enablenpc(instance_npcname("Kruger#2-2")); - initnpctimer(); - end; - -OnTimer10: - mapannounce(instance_mapname("2@orcs"), _("Kruger's Whisper: I'll tell you how to get to the Shaman's altar."), bc_map, C_YELLOW); - end; - -OnTimer3510: - mapannounce(instance_mapname("2@orcs"), _("Kruger's Whisper: Do you see the braziers that light the path? Unseal the next zone by strengthening their flames."), bc_map, C_YELLOW); - end; - -OnTimer10710: - mapannounce(instance_mapname("2@orcs"), _("Kruger's Whisper: Of course those monsters won't let you touch the braziers that easily."), bc_map, C_YELLOW); - end; - -OnTimer16310: - mapannounce(instance_mapname("2@orcs"), _("Kruger's Whisper: But still, try keep the battles not too noticable so the Shaman won't guard the altar with her army squad."), bc_map, C_YELLOW); - end; - -OnTimer21910: - mapannounce(instance_mapname("2@orcs"), _("Kruger's Whisper: Only the Party Leader can strengthen the flames, so protect your leader."), bc_map, C_YELLOW); - end; - -OnTimer23910: - mapannounce(instance_mapname("2@orcs"), _("Mission: Unseal the zone by lighting the braziers. They can only be lit in a certain order, so be careful."), bc_map, "0x4444ff"); - donpcevent(instance_npcname("#2Resurrect Monsters1")+"::OnEnable"); - donpcevent(instance_npcname("#2Resurrect Monsters3")+"::OnEnable"); - donpcevent(instance_npcname("Torch#1-1")+"::OnEnable"); - disablenpc(instance_npcname("Kruger#2-2")); - end; -} - -2@orcs,26,164,0 script Torch#1-1 CLEAR_NPC,{ - if (getpartyleader(getcharid(CHAR_ID_PARTY), 2) != getcharid(CHAR_ID_CHAR)) - end; - progressbar(sprintf("0x%x", C_YELLOW), 5); - setarray(.@id[0], atoi(charat(strnpcinfo(NPC_NAME_HIDDEN), 0)), atoi(charat(strnpcinfo(NPC_NAME_HIDDEN), 2))); - if (.@id[1] == 4) - donpcevent(instance_npcname("#Warp2-"+.@id[0])+"::OnEnable"); - else - donpcevent(instance_npcname("Torch#"+.@id[0]+"-"+(.@id[1]+1))+"::OnEnable"); - initnpctimer(); - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; - -OnInstanceInit: - if (strnpcinfo(NPC_NAME) != "Torch#2-1" && strnpcinfo(NPC_NAME) != "Torch#3-1") - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; - -OnEnable: - enablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; - -OnTimer100: - specialeffect(EF_FIREPILLAR); - end; - -OnTimer2000: - specialeffect(EF_FIREPILLARBOMB); - stopnpctimer(); - end; -} -2@orcs,55,155,0 duplicate(Torch#1-1) Torch#1-2 CLEAR_NPC -2@orcs,108,146,0 duplicate(Torch#1-1) Torch#1-3 CLEAR_NPC -2@orcs,98,171,0 duplicate(Torch#1-1) Torch#1-4 CLEAR_NPC - -2@orcs,48,100,0 script #Warp2-1 WARPNPC,3,3,{ -OnInstanceInit: - disablenpc(instance_npcname("#Warp2-1")); - end; - -OnEnable: - .@map$ = instance_mapname("2@orcs"); - monster(.@map$, 109, 156, _("Safeguard Chief"), I_HIGH_ORC, 1, instance_npcname("#Mobs Control")+"::OnMyMobDead1"); - mapannounce(.@map$, _("The Chief Orc of Safeguards: Oh!! Looks like I have company. Defeat me if you can!!"), bc_map, "0xff8888"); - end; - -OnContinue: - enablenpc(instance_npcname("#Warp2-1")); - initnpctimer(); - end; - -OnTimer10000: - areamonster(instance_mapname("2@orcs"), 28, 158, 40, 170, _("Safeguard Chief"), I_HIGH_ORC, 1, instance_npcname("#Mobs Control")+"::OnMyMobDead1"); - stopnpctimer(); - end; - -OnTouch: - warp(instance_mapname("2@orcs"), 47, 93); - end; -} - -2@orcs,35,92,0 duplicate(Torch#1-1) Torch#2-1 CLEAR_NPC -2@orcs,32,70,0 duplicate(Torch#1-1) Torch#2-2 CLEAR_NPC -2@orcs,70,31,0 duplicate(Torch#1-1) Torch#2-3 CLEAR_NPC -2@orcs,84,51,0 duplicate(Torch#1-1) Torch#2-4 CLEAR_NPC - -2@orcs,101,55,0 script #Warp2-2 WARPNPC,3,3,{ -OnInstanceInit: - disablenpc(instance_npcname("#Warp2-2")); - end; - -OnEnable: - .@map$ = instance_mapname("2@orcs"); - monster(.@map$, 67, 64, _("Orc Sniper"), I_ORC_ARCHER, 1, instance_npcname("#Mobs Control")+"::OnMyMobDead2"); - mapannounce(.@map$, _("Orc Sniper: Hah! Pretty impressive that you made it this far, but your foolish little trip ends here..."), bc_map, "0xff8888"); - end; - -OnContinue: - enablenpc(instance_npcname("#Warp2-2")); - initnpctimer(); - end; - -OnTimer10000: - areamonster(instance_mapname("2@orcs"), 40, 91, 52, 103, _("Orc Sniper"), I_ORC_ARCHER, 1, instance_npcname("#Mobs Control")+"::OnMyMobDead2"); - stopnpctimer(); - end; - -OnTouch: - warp(instance_mapname("2@orcs"), 107, 55); - end; -} - -2@orcs,142,145,0 duplicate(Torch#1-1) Torch#3-1 CLEAR_NPC -2@orcs,162,134,0 duplicate(Torch#1-1) Torch#3-2 CLEAR_NPC -2@orcs,144,117,0 duplicate(Torch#1-1) Torch#3-3 CLEAR_NPC -2@orcs,136,98,0 duplicate(Torch#1-1) Torch#3-4 CLEAR_NPC - -2@orcs,167,104,0 script #Warp2-3 WARPNPC,3,3,{ -OnInstanceInit: - disablenpc(instance_npcname("#Warp2-3")); - end; - -OnEnable: - .@map$ = instance_mapname("2@orcs"); - monster(.@map$, 152, 147, _("Depraved Orc Spirit"), I_ORC_SKELETON, 1, instance_npcname("#Mobs Control")+"::OnMyMobDead3"); - mapannounce(.@map$, _("Depraved Orc Spirit: I smell flesh! Hungry! Wanna try some human meat!!"), bc_map, "0xff8888"); - end; - -OnContinue: - areamonster(instance_mapname("2@orcs"), 117, 61, 129, 73, _("Depraved Orc Spirit"), I_ORC_SKELETON, 1); - donpcevent(instance_npcname("#Boss Control")+"::OnEnable"); - enablenpc(instance_npcname("#Warp2-3")); - initnpctimer(); - end; - -OnTimer10: - mapannounce(instance_mapname("2@orcs"), _("Shaman Cargalache: Hahaha!! So, you finally made it here. The assassin you sent was just terrible. That stupid Orc is getting cold under my feet."), bc_map, C_YELLOW); - end; - -OnTimer6810: - mapannounce(instance_mapname("2@orcs"), _("Shaman Cargalache: My loyal slave, go get those intruders!"), bc_map, C_YELLOW); - end; - -OnTimer10310: - mapannounce(instance_mapname("2@orcs"), _("Depraved Orc Hero: Whatever you say, my lord."), bc_map, "0xff7777"); - end; - -OnTimer13110: - mapannounce(instance_mapname("2@orcs"), _("Caution: You have been discovered by Shaman Cargalache. Kruger's plan to assassinate the Shaman has failed. You must defeat Cargalache and find traces of Kruger."), bc_map, "0x8888ff"); - stopnpctimer(); - end; - -OnTouch: - warp(instance_mapname("2@orcs"), 167, 95); - end; -} - -2@orcs,36,171,0 script #Boss Control CLEAR_NPC,{ - end; - -OnInstanceInit: - disablenpc(instance_npcname("#Boss Control")); - end; - -OnEnable: - .@map$ = instance_mapname("2@orcs"); - monster(.@map$, 185, 8, _("Shaman Cargalache"), I_ORC_LADY, 1, instance_npcname("#Boss Control")+"::OnMyMobDead"); - monster(.@map$, 179, 15, _("Depraved Orc Hero"), ORK_HERO, 1); - enablenpc(instance_npcname("#Boss Control")); - end; - -OnMyMobDead: - donpcevent(instance_npcname("Kruger#")+"::OnEnable"); - .@map$ = instance_mapname("2@orcs"); - .@mob_ran = rand(1, 5); - if (.@mob_ran == 1) - mapannounce(.@map$, _("Shaman Cargalache: How... How could this be... How could someone like you...!!"), bc_map, C_YELLOW); - else if (.@mob_ran == 2) - mapannounce(.@map$, _("Shaman Cargalache: How is it that I've been overpowered by mere humans!"), bc_map, C_YELLOW); - else if (.@mob_ran == 3) - mapannounce(.@map$, _("Shaman Cargalache: This... This can't be the end..."), bc_map, C_YELLOW); - else if (.@mob_ran == 4) - mapannounce(.@map$, _("Shaman Cargalache: I... Can't die... Yet...!"), bc_map, C_YELLOW); - else - mapannounce(.@map$, _("Shaman Cargalache: Defeated by these fools... It can't be happening...!"), bc_map, C_YELLOW); - donpcevent(instance_npcname("#2Resurrect Monsters1")+"::OnDisable"); - donpcevent(instance_npcname("#2Resurrect Monsters3")+"::OnDisable"); - donpcevent(instance_npcname("#Warp Outside Orc Dun")+"::OnEnable"); - end; -} - -2@orcs,182,8,0 script #Warp Outside Orc Dun WARPNPC,3,3,{ -OnInstanceInit: - disablenpc(instance_npcname("#Warp Outside Orc Dun")); - end; - -OnEnable: - enablenpc(instance_npcname("#Warp Outside Orc Dun")); - end; - -OnTouch: - warp("gef_fild10", 240, 197); - end; -} - -2@orcs,172,13,0 script Kruger# 4_ORCWARRIOR2,{ - if (yong_odun < 2) { - mes("[Kruger]"); - mes("*Coughing*"); - mesf("%s, it's you...", strcharinfo(PC_NAME)); - next(); - mesf("[%s]", strcharinfo(PC_NAME)); - mes("Don't move! You are wounded!"); - next(); - mes("[Kruger]"); - mes("It's... all right.. I'm dying..."); - mes("...."); - mes("The Shaman? What about the Shaman?"); - next(); - mesf("[%s]", strcharinfo(PC_NAME)); - mes("The Shaman's dead now. Who was that Shaman really?"); - next(); - mes("Kruger seemed to be relieved as he hears of the death of the Shaman, but you notice the bitter expression on his face."); - next(); - mes("[Kruger]"); - mes("I.. I just couldn't kill my own daughter..."); - mes("Thank you, I'm sure she's finally free from the nightmare that used to choke her soul."); - next(); - mes("Kruger was about to say something more, but he breathed his last breath before he could..."); - yong_odun = 2; - close(); - } else { - mes("You can see the dead body of Kruger, peacefully lying on the ground."); - close(); - } - -OnInstanceInit: - disablenpc(instance_npcname("Kruger#")); - end; - -OnEnable: - enablenpc(instance_npcname("Kruger#")); - end; -} - -2@orcs,36,171,0 script #Mobs Control CLEAR_NPC,{ - end; - -OnMyMobDead1: - donpcevent(instance_npcname("#Warp2-1")+"::OnContinue"); - end; - -OnMyMobDead2: - donpcevent(instance_npcname("#Warp2-2")+"::OnContinue"); - end; - -OnMyMobDead3: - donpcevent(instance_npcname("#Warp2-3")+"::OnContinue"); - end; -} diff --git a/npc/instances/SealedShrine.txt b/npc/instances/SealedShrine.txt deleted file mode 100644 index b4873a593..000000000 --- a/npc/instances/SealedShrine.txt +++ /dev/null @@ -1,1472 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2020 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Joseph -//= Copyright (C) Gepard -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see <http://www.gnu.org/licenses/>. -//========================================================================= -//= Sealed Shrine -//================= Description =========================================== -//= Seal away the Great Demon Baphomet. -//================= Current Version ======================================= -//= 2.3 -//========================================================================= - -//== Sealed Catacomb Entrance ============================== -monk_test,309,146,3 script Friar Patrick#edq 4_M_OLDFRIAR,{ - cutin("ins_cata_pri_n", 2); - mes("[Friar Patrick]"); - mes("The peace of this world cannot last forever... The hands of Evil are reaching into the world again..."); - next(); - mes("[Friar Patrick]"); - mes("What brought you to this place?"); - next(); - if (countitem(Bapho_Doll) > 0) { - .@doll = 1; - .@selection = select("What is this place?", "I want to enter.", "About the Cursed Baphomet Doll.", "Cancel."); - } else { - .@selection = select("What is this place?", "I want to enter.", "Cancel."); - } - switch (.@selection) { - case 1: - mes("[Friar Patrick]"); - mes("Huh... Don't you know? This is St. Capitolina Monastery where the Brothers who wish to become monks train and pray."); - next(); - mes("[Friar Patrick]"); - mes("And this place is... What can I say... Yes. It's the grave of the Devil. Grave..."); - next(); - mes("[Friar Patrick]"); - mes("The very place where the great Devil who once demolished this world is sleeping."); - next(); - switch (select("Tell me more.", "Stop talking.")) { - case 1: - cutin("ins_cata_pri_n", 2); - mes("[Friar Patrick]"); - mes("Baphomet... is the name of the Devil... I think you have heard of his name."); - next(); - mes("[Friar Patrick]"); - mes("Numerous brave men and brothers have trained in this monastery..."); - next(); - mes("[Friar Patrick]"); - mes("Under this gravestone in front of you... Baphomet is sealed."); - next(); - mes("[Friar Patrick]"); - mes("But... As we speak Satan Morocc is marshalling his powerful magic in order to affect all life on this continent."); - next(); - mes("[Friar Patrick]"); - mes("Baphomet also... has awakened and is preparing for his revival, into this world, by weakening the power of the seal through the power of Satan Morocc..."); - next(); - mes("[Friar Patrick]"); - mes("Now... I'm looking for someone brave enough to reseal Baphomet in its shrine... as we once did many years ago..."); - next(); - mes("[Friar Patrick]"); - mes("Anyone who fights for good will know, deep inside, that evil is threatening to conquer this world..."); - next(); - mes("[Friar Patrick]"); - mes("Train more and use your skills to protect the world from evil's looming presence..."); - break; - case 2: - cutin("ins_cata_pri_n", 2); - mes("[Friar Patrick]"); - mes("Anyone who fights for good will know, deep inside, that evil is threatening to conquer this world..."); - next(); - mes("[Friar Patrick]"); - mes("Train more and use your skills to protect the world from evil's looming presence..."); - break; - } - break; - case 2: - if (BaseLevel >= 75) { - - .@party_id = getcharid(CHAR_ID_PARTY); - - mes("[Friar Patrick]"); - mes("Do you mean you'll go to the shrine and reseal Baphomet?"); - next(); - - // 12 hour cooldown - .@ins_bapho_check = questprogress(3040, PLAYTIME); - // Two hour play limit - //.@ins_bapho_check2 = questprogress(3045, PLAYTIME); - - if (!.@ins_bapho_check) { - if (getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR) && instance_check_party(.@party_id, 2, 75)) { - mes("[Friar Patrick]"); - mesf("Party name is %s...", getpartyname(.@party_id)); - mesf("Name of the leader is %s...", strcharinfo(PC_NAME)); - .@instance = instance_create(_("Sealed Catacomb"), .@party_id); - if (.@instance >= 0) { - for (.@i = 1; .@i <= 2; .@i++) { - if (instance_attachmap(.@i + "@cata", .@instance) == "") { - mes("Umm... But it seems that there is a problem here... I'll check quickly. Please wait."); - instance_destroy(.@instance); - close(); - } - } - instance_set_timeout(7200, 300, .@instance); - instance_init(.@instance); - } - mes("Okay... I'll adjust the shrine's seal so that you and your group can enter."); - next(); - mes("[Friar Patrick]"); - mes("You will see a sign when the seal has broken. Please wait until the sign appears..."); - next(); - mes("[Friar Patrick]"); - mes("When you see the sign, put your hands on the gravestone... Then you can move inside."); - next(); - mes("[Friar Patrick]"); - mes("One thing that you should remember is... Anyone who enters this shrine will be cursed by Baphomet and cannot enter or leave while they are cursed."); - next(); - mes("[Friar Patrick]"); - mes("And one more thing... In this cursed area, some skills, which are protected by outer physical power are prohibited by the effect of the seal."); - next(); - mes("[Friar Patrick]"); - mes("For example, the skills like ^0000FFSafety Wall and Assumptio^000000... So you'd better prepare before entering the shrine."); - } else { - mes("[Friar Patrick]"); - mes("Umm... I recognize your courage, but... I can't permit anyone to enter this place. I can only permit the leader of a party to enter first."); - next(); - mes("[Friar Patrick]"); - mes("Once the party leader is permitted, the rest of the party can enter. This is a rule of this monastery, so please understand."); - } - } else if (.@ins_bapho_check == 1) { - mes("[Friar Patrick]"); - mes("It seems you have entered this shrine recently... You cannot reenter because Baphomet's Curse still remains. Baphomet's Curse disappears only after a certain amount of time has passed."); - } else if (.@ins_bapho_check == 2) { - mes("[Friar Patrick]"); - mes("Umm... It seems that Baphomet's Curse has weakened. I can remove it now."); - next(); - mes("[Friar Patrick]"); - mes("Haaaaaaap... Hocus Pocus Wingardium Abracadabra!!!!!"); - next(); - erasequest(3040); - if (questprogress(3041)) - erasequest(3041); - if (questprogress(3045)) - erasequest(3045); - mes("[Friar Patrick]"); - mes("Huu... It's over. Now that I've released Baphomet's Curse, you can enter again."); - } - } else { - mes("[Friar Patrick]"); - mes("Umm... You should train more to enter this dangerous place... You should reach at least Lv 75 to enter here."); - next(); - mes("[Friar Patrick]"); - mes("Please train more and come again."); - } - break; - case 3: - if (.@doll == 1) { - mes("[Friar Patrick]"); - mes("That is... the villainous doll that you are holding... Let me see it."); - next(); - mes("[Friar Patrick]"); - mes("... ... ..."); - next(); - mes("[Friar Patrick]"); - mes("That's correct... I can feel Baphomet's evil inside... So, what will you do with the doll?"); - next(); - mes("[Friar Patrick]"); - mes("It is just a dangerous and useless thing if you do nothing with it... I'll introduce someone who can help you... Do you want to see him?"); - next(); - mes("[Friar Patrick]"); - mes("Go to see ^0000FFRust Blackhand^000000 who is near the main building of the monastery... He will make this doll helpful to you."); - setquest(3042); - break; - } - case 4: - mes("[Friar Patrick]"); - mes("Anyone who fights for good will know, deep inside, that evil is threatening to conquer this world..."); - next(); - mes("[Friar Patrick]"); - mes("Train more and use your skills to protect the world from evil's looming presence..."); - break; - } - close2(); - cutin("", 255); - end; -} - -monk_test,306,151,3 script Grave of Baphomet#edq HIDDEN_NPC,{ - if (countitem(Token_Of_Apostle)) - delitem(Token_Of_Apostle, countitem(Token_Of_Apostle)); - mes("This gravestone has a carving of a wicked devil with large horns. It arouses an ominous feeling."); - next(); - if (select("Touch the stone.", "Step back.") == 2) - close(); - - // 12 hour cooldown - .@ins_bapho_check = questprogress(3040, PLAYTIME); - // Two hour play limit - //.@ins_bapho_check2 = questprogress(3045, PLAYTIME); - - if (!.@ins_bapho_check) { - if (has_instance("1@cata") == "") { - mes("It's cold to the touch. It doesn't respond."); - close(); - } else { - mapannounce("monk_test", sprintf(_$("[%s] member of the [%s] party has entered the Sealed Shrine."), strcharinfo(PC_NAME), getpartyname(.@party_id)), bc_map, C_SPRINGGREEN); - setquest(3040); - warp("1@cata", 100, 224); - end; - } - } else if (.@ins_bapho_check == 1) { - mes("[Friar Patrick]"); - mes("It seems you have entered this shrine recently... You cannot reenter because the curse of Baphomet still remains."); - mes("The curse of Baphomet disappears after a certain amount of time after you entered."); - close(); - } else if (.@ins_bapho_check == 2) { - mes("[Friar Patrick]"); - mes("Umm... It seems the curse of Baphomet weakened. I'll clear the bad curse."); - next(); - mes("[Friar Patrick]"); - mes("Haaaaaaap... Wingardium Leviosa Expecto Patronum !!!!!"); - specialeffect(EF_HOLYHIT, AREA, playerattached()); - erasequest(3040); - if (questprogress(3041)) - erasequest(3041); - if (questprogress(3045)) - erasequest(3045); - next(); - mes("[Friar Patrick]"); - mes("Huu... It's over. Now I released all of the curses on you. You can enter again."); - close(); - } -} - -prt_monk,261,91,3 script Rust Blackhand#edq 4_M_DWARF,{ - .@new_maje = questprogress(3043); - mes("[Rust Blackhand]"); - mes("Who are you? What do you want me for?"); - next(); - mes("[Rust Blackhand]"); - mes("You're not a monk, then what do you want?"); - next(); - if (.@new_maje == 1) { - mes("[Rust Blackhand]"); - mes("Did you bring all of the ingredients?"); - next(); - if (countitem(Bapho_Doll) && countitem(Magestic_Goat) && countitem(Dark_Crystal) > 29 && countitem(Dark_Debris) > 49 && Zeny >= 990000) { - mes("[Rust Blackhand]"); - mes("kkk... You prepared the ingredients well. Why don't you leave it there and wait?"); - next(); - mes("[Rust Blackhand]"); - mes("Hmm... It's been such a long time since I last saw these wicked horns... kkk... Let me start..."); - next(); - mes("..."); - next(); - mes("... ..."); - next(); - mes("... ... ..."); - next(); - delitem(Bapho_Doll, 1); - delitem(Magestic_Goat, 1); - delitem(Dark_Crystal, 30); - delitem(Dark_Debris, 50); - Zeny -= 990000; - completequest(3043); - getitem(L_Magestic_Goat, 1); - mes("[Rust Blackhand]"); - mes("It's done. You may be excited, of course. I understand..."); - next(); - mes("[Rust Blackhand]"); - mes("I don't accept complaints or A/S requests, so use it with care. I must go..."); - close(); - } else { - mes("[Rust Blackhand]"); - mes("Huu... You don't understand what I said. You cannot make anything with these ingredients."); - next(); - mes("[Rust Blackhand]"); - mes("I'll tell you the ingredients one more time, so please gather them correctly."); - next(); - mes("[Rust Blackhand]"); - mes("^0000FFCursed Baphomet Doll, Magestic Goat, 30 Crystal of Darkness, 50 Fragment of Darkness^000000, and the most important, production cost is ^0000FF990000^000000 Zeny."); - close(); - } - } else if (!.@new_maje && countitem(Bapho_Doll) > 0) { - switch (select("About the Cursed Baphomet Doll", "Stop talking.")) { - case 1: - mes("[Rust Blackhand]"); - mes("What?... Hmmm... Did you get the doll? You're pretty good, unlike your appearance..."); - next(); - mes("[Rust Blackhand]"); - mes("Let me see... Needless to say, Patric must have sent you here to deal with the doll, right?"); - next(); - mes("[Rust Blackhand]"); - mes("Cool... I'll help you make the evil doll useful. What? What can I do?"); - next(); - mes("[Rust Blackhand]"); - mes("I can make the strong and large horns of the wicked devil Baphomet for you. A helm that has his immense power."); - next(); - mes("[Rust Blackhand]"); - mes("It is called the ^4d4dffGigantic Magestic Goat^000000. You'll realize that the Magestic Goat you're familiar with is nothing in comparison."); - next(); - mes("[Rust Blackhand]"); - mes("The Cursed Baphomet Doll is the most important ingredient... I'll make you if you want. What would you like to do?"); - next(); - switch (select("I want to make one!", "I don't need one.")) { - case 1: - mes("[Rust Blackhand]"); - mes("kkk... Yes, wise men take their chances when the opportunity comes. I'll tell you the ingredients. Don't forget, and bring them all."); - next(); - mes("[Rust Blackhand]"); - mes("^0000FFCursed Baphomet Doll, Magestic Goat, 30 Crystal of Darkness, 50 Fragment of Darkness^000000, and the most important, production cost is ^0000FF990000^000000 Zeny."); - next(); - mes("[Rust Blackhand]"); - mes("You can get the Magestic Goat from the weak Baphomet in the Labyrinth Forest. Crystal of Darkness and Fragment of Darkness are from the Incarnation of Morocc."); - next(); - mes("[Rust Blackhand]"); - mes("I'm sure that you can get the ingredients because you sealed the real Baphomet. Can't you? kkk..."); - next(); - mes("[Rust Blackhand]"); - mes("You'll never know how great this hat is until you get one. If you understood, go and get the ingredients."); - if (questprogress(3042)) - erasequest(3042); - setquest(3043); - close(); - case 2: - mes("[Rust Blackhand]"); - mes("Huh... Do you? Do whatever you want... Do you really want to let this opportunity go to waste?"); - next(); - mes("[Rust Blackhand]"); - mes("Tut, tut... I don't care if the wicked doll threatens your life all the time!"); - close(); - } - case 2: - mes("[Rust Blackhand]"); - mes("What a dull boy he is... huh..."); - close(); - } - } else if (!.@new_maje && !countitem(Bapho_Doll)) { - mes("[Rust Blackhand]"); - mes("If you don't have business with me, go away! As you see, I make equipment for the Brothers at the monastery, not for adventurers like you. Do you understand?"); - close(); - } else if (.@new_maje == 2 && countitem(Bapho_Doll)) { - switch (select("About the Cursed Baphomet Doll", "Stop talking.")) { - case 1: - mes("[Rust Blackhand]"); - mes("What?... You again? What do you want this time?"); - next(); - mes("[Rust Blackhand]"); - mes("What? You got another doll from the wicked devil? Umm... You're much better than I thought..."); - next(); - mes("[Rust Blackhand]"); - mes("Alright... I'll help you again."); - next(); - mes("[Rust Blackhand]"); - mes("If you want to make the doll into a ^4d4dffGigantic Magestic Goat^000000 again, I can make you another."); - next(); - mes("[Rust Blackhand]"); - mes("I'll tell you the ingredients again. So, do you want to make?"); - next(); - switch (select("I want.", "No, I don't want.")) { - case 1: - mes("[Rust Blackhand]"); - mes("kkk... Yes, wise men take their chances when the opportunity comes. I'll tell you the ingredients. Don't forget, and bring them all."); - next(); - mes("[Rust Blackhand]"); - mes("^0000FFCursed Baphomet Doll, Magestic Goat, 30 Crystal of Darkness, 50 Fragment of Darkness^000000, and the most important, production cost is ^0000FF990000^000000 Zeny."); - next(); - mes("[Rust Blackhand]"); - mes("You can get the Magestic Goat from the weak Baphomet in the Labyrinth Forest. Crystal of Darkness and Fragment of Darkness are from the Incarnation of Morocc."); - next(); - mes("[Rust Blackhand]"); - mes("I'm sure that you can get the ingredients because you sealed the real Baphomet. Can't you? kkk..."); - next(); - mes("[Rust Blackhand]"); - mes("You'll never know how great this hat is until you get one. If you understood, go and get the ingredients."); - if (questprogress(3042)) - erasequest(3042); - erasequest(3043); - setquest(3043); - close(); - case 2: - mes("[Rust Blackhand]"); - mes("Huh... Do you? Do whatever you want... Do you really want to let this opportunity go to waste?"); - next(); - mes("[Rust Blackhand]"); - mes("Tut, tut... I don't care if the wicked doll threatens your life all the time!"); - close(); - } - case 2: - mes("[Rust Blackhand]"); - mes("What a dull boy he is... huh..."); - close(); - } - } else if (.@new_maje == 2 && !countitem(Bapho_Doll)) { - mes("[Rust Blackhand]"); - mes("Why are you hanging around here? If you don't want a ^4d4dffGigantic Magestic Goat^000000, go away."); - close(); - } -} - -//== Sealed Shrine Interior ================================ -1@cata,1,2,0 script ins_baphomet_lotto FAKE_NPC,{ -OnInstanceInit: - // Pick one "true" Gravestone and 12 "false" Gravestones. - .@true = rand(1, 13); - for (.@i = 1; .@i <= 13; ++.@i) - disablenpc(instance_npcname("Gravestone#1F_"+.@i+((.@i == .@true)?"T":"F"))); - disablenpc(instance_npcname("ins_baphomet_lotto")); - end; -} - -1@cata,3,2,0 script ins_baphomet_lotto2 FAKE_NPC,{ -OnEnable: - for (.@i = 1; .@i <= 12; ++.@i) - enablenpc(instance_npcname("Bobbing Torch#"+.@i)); - end; -} - -1@cata,4,2,0 script ins_baphomet_lotto3 FAKE_NPC,{ -OnEnable: - .@label$ = instance_npcname("ins_baphomet_lotto3")+"::OnMyMobDead"; - .@map$ = instance_mapname("1@cata"); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), FLAME_SKULL, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), WRAITH_DEAD, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), FLAME_SKULL, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), WRAITH_DEAD, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), FLAME_SKULL, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), WRAITH_DEAD, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), FLAME_SKULL, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), KHALITZBURG, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), EVIL_DRUID, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), KHALITZBURG, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), EVIL_DRUID, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), KHALITZBURG, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), WRAITH_DEAD, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), EVIL_DRUID, 1, .@label$); - monster(.@map$, 0, 0, _("Apostle of Baphomet"), FLAME_SKULL, 1, .@label$); - end; - -OnDisable: - killmonster(instance_mapname("1@cata"), instance_npcname("ins_baphomet_lotto3")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("1@cata"); - if (mobcount(.@map$, instance_npcname("ins_baphomet_lotto3")+"::OnMyMobDead") < 1) - mapannounce(.@map$, _("All apostles of Baphomet are dead!"), bc_map, C_SPRINGGREEN); - getitem(Token_Of_Apostle, 1); - end; -} - -//== Soul of hero near the north grave ===================== -1@cata,141,221,0 script Gravestone# CLEAR_NPC,3,3,{ - .@party_id = getcharid(CHAR_ID_PARTY); - if ('ins_baphomet == 0) { - mes("The gravestone is trembling..."); - next(); - mes("When touching the gravestone, I hear a voice."); - next(); - specialeffect(EF_CONE, AREA, playerattached()); - mes("[Voice of the Gravestone]"); - mes("I have waited and waited for a brave adventurer like you who will come back here again..."); - next(); - while (true) { - switch (select("Who are you?", "Waited for me?", "Cancel.")) { - case 1: - mes("[Voice of the Gravestone]"); - mes("I was one of the warriors to stop Baphomet like you. Now, I'm dead and only my soul remains..."); - next(); - mes("[Voice of the Gravestone]"); - mes("As you know... We don't have much time. You can't stop Baphomet by yourselves. The power of the devil has strengthened over the years."); - next(); - mes("[Voice of the Gravestone]"); - mes("In the past, my companions and I sealed Baphomet at the altar located on the 2nd basement and blocked the entrance."); - next(); - mes("[Voice of the Gravestone]"); - mes("I moved my soul's essence to my pendant, so that I could remain in this world. That's when I became this grave's guardian."); - next(); - break; - case 2: - mes("[Voice of the Gravestone]"); - mes("Baphomet's power is about to break the seal that we made. If you don't reactivate them... Baphomet's revival will only be a matter of time."); - next(); - mes("[Voice of the Gravestone]"); - mes("To open the entrance, you must substantialize my soul. I'll open the entrance and reactivate the weakened seals after I am substantilized."); - next(); - mes("[Voice of the Gravestone]"); - mes("To substantialize my soul, you should find my pendant. You can find my body near a grave here."); - next(); - mes("[Voice of the Gravestone]"); - mes("If your ^0000FFparty leader^000000 brings me the pendant, my soul can be substantialized. So, hurry up."); - 'ins_baphomet = 1; - close(); - case 3: - mes("I can feel the voice becoming faint."); - close(); - } - } - } else if ('ins_baphomet == 1) { - mes("[Voice of the Gravestone]"); - mes("To open the entrance, you must substantialize my soul. I'll open the entrance and reactivate the weakened seals after I am substantilized."); - next(); - mes("[Voice of the Gravestone]"); - mes("To substantialize my soul, you should find my pendant. You can find my body near a grave here."); - next(); - mes("[Voice of the Gravestone]"); - mes("If your ^0000FFparty leader^000000 brings me the pendant, my soul can be substantialized. So, hurry up."); - close(); - } else if ('ins_baphomet == 2 && getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) { - mes("[Voice of the Gravestone]"); - mes("Did you find the pendant?"); - next(); - if (countitem(Soul_Pendant) > 0) { - specialeffect(EF_MAPPILLAR); - mes("[Voice of the Gravestone]"); - mes("Yes... This is... My pendant..."); - next(); - delitem(Soul_Pendant, 1); - enablenpc(instance_npcname("Ancient Hero's Soul#1F")); - disablenpc(instance_npcname("Gravestone#")); - mes("[Voice of the Gravestone]"); - mes("Now I can substantialize my soul. I'll wait for you in front of the altar of fire located at the center of this grave. Let's meet there."); - next(); - mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : I'll wait for you in front of the altar of fire located at the center"), bc_map, C_YELLOW); - mes("I can feel the voice becoming faint."); - close(); - } else { - mes("[Voice of the Gravestone]"); - mes("Are you still there? Bring back my pendant as soon as possible."); - next(); - mes("[Voice of the Gravestone]"); - mes("You can find my body near a grave here. Go and get my pendant there."); - close(); - } - } else { - mes("[Voice of the Gravestone]"); - mes("I want to talk to ^0000FFa representative among your party^000000. Everyone else, wait here."); - close(); - } - end; - -OnTouch: - if ('ins_baphomet == 0) { - mes("'Krrrr... Krrrr...'"); - next(); - mes("I can feel something odd at the grave. It's like someone is calling out silently..."); - close(); - } - end; - -OnInstanceInit: // Temporary fix for @reloadscript. - 'ins_baphomet = 0; - end; -} - -1@cata,176,119,4 script Ancient Hero's Soul#1F 4_M_CHAMPSOUL,{ - .@party_id = getcharid(CHAR_ID_PARTY); - cutin("ins_cata_champ_n", 2); - if ('ins_baphomet == 2) { - mes("[Ancient Hero's Soul]"); - mes("With your help, my soul can be substantialized. I want to talk more, but we do not have enough time..."); - next(); - mes("[Ancient Hero's Soul]"); - mes("I must be substantialized within the next hour. To reach the Main Altar underground, you must help me perform the ceremony for opening each seal."); - next(); - mes("[Ancient Hero's Soul]"); - mes("Now I'll tell you what should you do. First, collect ^0000FFEssence of Fire^000000 from the torches on the graves..."); - next(); - mes("[Ancient Hero's Soul]"); - mes("Second, all members who will enter the underground must carry a symbol, called the Token of Apostle."); - next(); - while (true) { - cutin("ins_cata_champ_n", 2); - switch (select("What is Essence of Fire?", "What is a Token of Apostle?", "What should I do?", "I am ready.")) { - case 1: - ++.@ins_baphomet_1f_1; - mes("[Ancient Hero's Soul]"); - mes("You can see the torches here and there. These torches are the essence of Thor, the god of Thunder. They are inherited from our predecessors to stop the darkness of Baphomet..."); - next(); - mes("[Ancient Hero's Soul]"); - mes("To open the sealed underground gate, I must be purified by the ^0000FFEssence of Fire^000000 which has the power of Thor. Collect ^0000FF10 Essence of Fire^000000 from the torches."); - next(); - mes("[Ancient Hero's Soul]"); - mes("One thing you must remember is... ^0000FFEssence of Fire^000000 can only be collected by the Inheritor of Faith."); - next(); - mes("[Ancient Hero's Soul]"); - mes("I'll give the token of the Inheritor of Faith to the party leader. Only the party leader can collect the ^0000FFEssence of Fire^000000."); - next(); - break; - case 2: - ++.@ins_baphomet_1f_2; - mes("[Ancient Hero's Soul]"); - mes("At that time, it was impossible to get rid of Devil Baphomet by ourselves. After numerous heroes sacrificed their lives, we could barely seal him under this Abbey."); - next(); - mes("[Ancient Hero's Soul]"); - mes("However, Baphomet never gave up. He continuously strengthened his power. And his power has brought new life to this shrine."); - next(); - mes("[Ancient Hero's Soul]"); - mes("Some of these monsters have magical powers. Baphomet calls them his 'Apostles'."); - next(); - mes("[Ancient Hero's Soul]"); - mes("The apostles are cloning themselves to fill the shrine with their evil energy. They are the monsters here in this catacomb."); - next(); - mes("[Ancient Hero's Soul]"); - mes("Kill the Apostles. They can only be distinguished from their clones because they will possess a ^0000FFToken of Apostle^000000..."); - next(); - mes("[Ancient Hero's Soul]"); - mes("If each party member possesses a ^0000FFToken of Apostle^000000, Baphomet will not be able to perceive your entrance to the Main Altar underground."); - next(); - mes("[Ancient Hero's Soul]"); - mes("If Baphomet perceives you when you pass through the sealed gate, he may release his tremendous magical power. Then, this abbey will be demolished."); - next(); - mes("[Ancient Hero's Soul]"); - mes("Kill the apostles and get the ^0000FFToken of Apostle^000000."); - next(); - break; - case 3: - ++.@ins_baphomet_1f_3; - if (getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) { - mes("[Ancient Hero's Soul]"); - mes("You look like the leader of this party. You need to go and get ^0000FF10 Essence of Fire^000000 from the torches."); - next(); - mes("[Ancient Hero's Soul]"); - mes("Now I'll carve you the symbol which shows you're a inheritor of faith. Be aware that no one in your party but you can collect the Essence of Fire."); - next(); - specialeffect(EF_HOLYHIT, AREA, playerattached()); - mes("[Ancient Hero's Soul]"); - mes("You should also carry a ^0000FFToken of Apostle^000000, so find one for yourself too."); - next(); - mes("[Ancient Hero's Soul]"); - mes("When all of you are ready to go, let me know. I'll open the sealed gate when you're ready."); - next(); - } else { - mes("[Ancient Hero's Soul]"); - mes("Make sure that your party leader has listened to my explanation of what you and your companions must do."); - next(); - mes("[Ancient Hero's Soul]"); - mes("Kill the Apostles of Baphomet and find their ^0000FFToken of Apostle^000000."); - next(); - mes("[Ancient Hero's Soul]"); - mes("It might be better to kill all of them because there is no way to differentiate them from their clones."); - next(); - mes("[Ancient Hero's Soul]"); - mes("Are you ready?"); - mes("Make sure that you have listened to all that I have to say before saying that you are ready."); - next(); - } - break; - case 4: - if (.@ins_baphomet_1f_1 > 0 && .@ins_baphomet_1f_2 > 0 && .@ins_baphomet_1f_3 > 0) { - cutin("ins_cata_champ_n", 2); - mes("[Ancient Hero's Soul]"); - mes("Are you ready to go? Then I'll open this sealed gate now."); - next(); - .@exitloop = 1; - } else { - cutin("ins_cata_champ_a", 2); - mes("[Ancient Hero's Soul]"); - mes("It may be difficult but I wish you luck braving the perils of this catacomb."); - next(); - mes("[Ancient Hero's Soul]"); - mes("Remember, you need to collect ^0000FF10 Essence of Fire^000000 from the torches and the ^0000FFToken of Apostle^000000 from the Apostles of Baphomet."); - next(); - } - break; - } - if (.@exitloop) - break; - } - if (getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) { - mes("[Ancient Hero's Soul]"); - mes("To remind you again, I must be substantialized within the next hour. So everyone, finish your work within that time!"); - 'ins_baphomet = 3; - donpcevent(instance_npcname("ins_baphomet_1f_timer")+"::OnEnable"); - donpcevent(instance_npcname("ins_baphomet_lotto2")+"::OnEnable"); - donpcevent(instance_npcname("ins_baphomet_lotto3")+"::OnEnable"); - } else { - mes("[Ancient Hero's Soul]"); - mes("To remind you again, I can be substantialized for the next hour. So everyone, finish your work within that time."); - //'ins_baphomet = 3; - } - close2(); - cutin("", 255); - end; - } else if ('ins_baphomet == 3 && getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) { - cutin("ins_cata_champ_n", 2); - mes("[Ancient Hero's Soul]"); - mes("Did you get 10 ^0000FFEssence of Fire^000000 and ^0000FFToken of Apostle^000000?"); - next(); - if (countitem(Essence_Of_Fire) > 9 && countitem(Token_Of_Apostle) > 0) { - delitem(Essence_Of_Fire, countitem(Essence_Of_Fire)); - 'ins_baphomet = 4; - mes("[Ancient Hero's Soul]"); - mes("Okay. You've done your work. Now check your companions and tell me when everyone has finished their work."); - } else { - mes("[Ancient Hero's Soul]"); - mes("Not ready yet? You should prepare 10 ^0000FFEssence of Fire^000000 and ^0000FFToken of Apostle^000000."); - } - close2(); - cutin("", 255); - end; - } else if ('ins_baphomet == 3) { - cutin("ins_cata_champ_n", 2); - mes("[Ancient Hero's Soul]"); - mes("Do you have a ^0000FFToken of Apostle^000000?"); - next(); - if (countitem(Token_Of_Apostle) > 0) { - 'ins_baphomet = 4; - mes("[Ancient Hero's Soul]"); - mes("Okay. You've done your work. Tell your representative to check your companions and come to me when everyone has finished their work."); - } else { - mes("[Ancient Hero's Soul]"); - mes("Not ready yet? You should prepare ^0000FFToken of Apostle^000000."); - } - close2(); - cutin("", 255); - end; - } else if ('ins_baphomet == 4 && getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) { - cutin("ins_cata_champ_n", 2); - mes("[Ancient Hero's Soul]"); - mes("Are you ready? I opened the sealed gate. To pass the gate, you should carry a ^0000FFToken of Apostle^000000."); - next(); - 'ins_baphomet = 5; - specialeffect(EF_TELEPORTATION); - enablenpc(instance_npcname("ins_bapho_to_2f")); - mes("[Ancient Hero's Soul]"); - mes("Now you can go to the main altar. It is located in the bottom right corner of this floor."); - next(); - mes("[Ancient Hero's Soul]"); - mes("Your real battle will begin... I'll follow you soon and find a way to help you."); - next(); - mes("[Ancient Hero's Soul]"); - mes("Go ahead, warriors."); - cutin("", 255); - mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : Now you can go to the Main Altar's gate. It is located in the Southeast"), bc_map, C_YELLOW); - close(); - } else if ('ins_baphomet == 4) { - cutin("ins_cata_champ_n", 2); - mes("[Ancient Hero's Soul]"); - mes("Are you ready? I opened the sealed gate. To pass the gate, you should carry a ^0000FFToken of Apostle^000000."); - next(); - mes("[Ancient Hero's Soul]"); - mes("I'll complete opening the sealed gate when your representative tells me that you're ready."); - cutin("", 255); - close(); - } else if ('ins_baphomet == 5) { - cutin("ins_cata_champ_n", 2); - mes("[Ancient Hero's Soul]"); - mes("What are you doing? The entrance of the main altar is opened now, go and fight! The entrance is near the bottom right side of this floor."); - cutin("", 255); - close(); - } else { - cutin("ins_cata_champ_n", 2); - mes("[Ancient Hero's Soul]"); - mes("I have nothing to say to you..."); - cutin("", 255); - close(); - } - -OnInstanceInit: - disablenpc(instance_npcname("Ancient Hero's Soul#1F")); - end; -} - -//== To 2F Warp ============================================ -1@cata,281,12,0 script ins_bapho_to_2f WARPNPC,1,1,{ -OnTouch: - if (countitem(Token_Of_Apostle) > 0) { - delitem(Token_Of_Apostle, countitem(Token_Of_Apostle)); - 'ins_baphomet = 5; - warp(instance_mapname("2@cata"), 80, 144); - end; - } else { - mes("[Ancient Hero's Soul]"); - mes("Where is your Token of Apostle? I said you should carry the Token of Apostle to pass this gate."); - close(); - } - -OnInstanceInit: - disablenpc(instance_npcname("ins_bapho_to_2f")); - end; -} - -//== Gravestones =========================================== -- script Gravestone#SS1 FAKE_NPC,{ - if ('ins_baphomet == 1) { - getitem(Soul_Pendant, 1); - 'ins_baphomet = 2; - mes("A small object is shining under a leaning grave."); - next(); - mesf("[%s]", strcharinfo(PC_NAME)); - mes("I think this is the pendant..."); - close(); - } else { - mes("I can only feel gloom from this Gravestone."); - close(); - } -} - -1@cata,86,214,0 duplicate(Gravestone#SS1) Gravestone#1F_1T CLEAR_NPC -1@cata,200,209,0 duplicate(Gravestone#SS1) Gravestone#1F_2T CLEAR_NPC -1@cata,230,195,0 duplicate(Gravestone#SS1) Gravestone#1F_3T CLEAR_NPC -1@cata,118,182,0 duplicate(Gravestone#SS1) Gravestone#1F_4T CLEAR_NPC -1@cata,193,182,0 duplicate(Gravestone#SS1) Gravestone#1F_5T CLEAR_NPC -1@cata,253,156,0 duplicate(Gravestone#SS1) Gravestone#1F_6T CLEAR_NPC -1@cata,88,154,0 duplicate(Gravestone#SS1) Gravestone#1F_7T CLEAR_NPC -1@cata,127,116,0 duplicate(Gravestone#SS1) Gravestone#1F_8T CLEAR_NPC -1@cata,90,98,0 duplicate(Gravestone#SS1) Gravestone#1F_9T CLEAR_NPC -1@cata,188,84,0 duplicate(Gravestone#SS1) Gravestone#1F_10T CLEAR_NPC -1@cata,244,42,0 duplicate(Gravestone#SS1) Gravestone#1F_11T CLEAR_NPC -1@cata,127,32,0 duplicate(Gravestone#SS1) Gravestone#1F_12T CLEAR_NPC -1@cata,267,30,0 duplicate(Gravestone#SS1) Gravestone#1F_13T CLEAR_NPC - -- script Gravestone#SS2 FAKE_NPC,{ - mes("I can only feel gloom from this Gravestone."); - close(); -} - -1@cata,86,214,0 duplicate(Gravestone#SS2) Gravestone#1F_1F CLEAR_NPC -1@cata,200,209,0 duplicate(Gravestone#SS2) Gravestone#1F_2F CLEAR_NPC -1@cata,230,195,0 duplicate(Gravestone#SS2) Gravestone#1F_3F CLEAR_NPC -1@cata,118,182,0 duplicate(Gravestone#SS2) Gravestone#1F_4F CLEAR_NPC -1@cata,193,182,0 duplicate(Gravestone#SS2) Gravestone#1F_5F CLEAR_NPC -1@cata,253,156,0 duplicate(Gravestone#SS2) Gravestone#1F_6F CLEAR_NPC -1@cata,88,154,0 duplicate(Gravestone#SS2) Gravestone#1F_7F CLEAR_NPC -1@cata,127,116,0 duplicate(Gravestone#SS2) Gravestone#1F_8F CLEAR_NPC -1@cata,90,98,0 duplicate(Gravestone#SS2) Gravestone#1F_9F CLEAR_NPC -1@cata,188,84,0 duplicate(Gravestone#SS2) Gravestone#1F_10F CLEAR_NPC -1@cata,244,42,0 duplicate(Gravestone#SS2) Gravestone#1F_11F CLEAR_NPC -1@cata,127,32,0 duplicate(Gravestone#SS2) Gravestone#1F_12F CLEAR_NPC -1@cata,267,30,0 duplicate(Gravestone#SS2) Gravestone#1F_13F CLEAR_NPC - -//== Bobbing Torches ======================================= -- script Bobbing Torch#SS FAKE_NPC,{ - .@party_id = getcharid(CHAR_ID_PARTY); - if (getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) { - if ('ins_baphomet == 3 && countitem(Essence_Of_Fire) < 11) { - mes("A huge torch appearing as if it can burn everything is bobbing up and down in front of me."); - next(); - mes("The grand appearance and heat of the fire makes me step back... But I pluck up my courage and reach out to pick up the torch."); - next(); - specialeffect(EF_HOLYHIT, AREA, playerattached()); - getitem(Essence_Of_Fire, 1); - mes("The symbol of inheritor shines. Then a small crystal falls into my hand from the torch."); - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - close(); - } else if ('ins_baphomet == 3 && countitem(Essence_Of_Fire) > 10) { - mes("You have 10 Essence of Fire already, so you don't need to collect any more."); - close(); - } else { - mes("You don't need to collect Essence of Fire anymore."); - close(); - } - } else { - mes("A huge torch appearing as if it can burn everything is bobbing up and down in front of me.."); - next(); - mes("[Unknown Voice]"); - mes("You are not a inheritor of faith. Do not desecrate the Essence of Fire with your disrespectful hands."); - specialeffect(EF_FIRESPLASHHIT, AREA, playerattached()); - percentheal(-50, 0); - close(); - } - -OnInstanceInit: - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; -} - -1@cata,267,210,0 duplicate(Bobbing Torch#SS) Bobbing Torch#1 CLEAR_NPC -1@cata,85,182,0 duplicate(Bobbing Torch#SS) Bobbing Torch#2 CLEAR_NPC -1@cata,267,154,0 duplicate(Bobbing Torch#SS) Bobbing Torch#3 CLEAR_NPC -1@cata,157,139,0 duplicate(Bobbing Torch#SS) Bobbing Torch#4 CLEAR_NPC -1@cata,193,138,0 duplicate(Bobbing Torch#SS) Bobbing Torch#5 CLEAR_NPC -1@cata,193,102,0 duplicate(Bobbing Torch#SS) Bobbing Torch#6 CLEAR_NPC -1@cata,157,102,0 duplicate(Bobbing Torch#SS) Bobbing Torch#7 CLEAR_NPC -1@cata,113,112,0 duplicate(Bobbing Torch#SS) Bobbing Torch#8 CLEAR_NPC -1@cata,253,56,0 duplicate(Bobbing Torch#SS) Bobbing Torch#9 CLEAR_NPC -1@cata,239,56,0 duplicate(Bobbing Torch#SS) Bobbing Torch#10 CLEAR_NPC -1@cata,71,42,0 duplicate(Bobbing Torch#SS) Bobbing Torch#11 CLEAR_NPC -1@cata,155,14,0 duplicate(Bobbing Torch#SS) Bobbing Torch#12 CLEAR_NPC - -1@cata,1,1,0 script ins_baphomet_1f_timer FAKE_NPC,{ -OnInstanceInit: - disablenpc(instance_npcname("ins_baphomet_1f_timer")); - end; - -OnEnable: - enablenpc(instance_npcname("ins_baphomet_1f_timer")); - initnpctimer(); - end; - -OnDisable: - disablenpc(instance_npcname("ins_baphomet_1f_timer")); - stopnpctimer(); - end; - -OnTimer1800000: - mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : We don't have enough time! Hurry up!"), bc_map, C_YELLOW); - end; - -OnTimer2400000: - mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : My body is disappearing... Hurry up!"), bc_map, C_YELLOW); - end; - -OnTimer3000000: - mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : Everything is over... There is no other way but to wait for the next chance..."), bc_map, C_YELLOW); - end; - -OnTimer3050000: - mapannounce(instance_mapname("1@cata"), _("Ancient Hero's Soul : We failed... However... We still have a chance. I hope you will train yourselves until the time comes."), bc_map, C_YELLOW); - end; - -OnTimer3100000: - mapannounce(instance_mapname("1@cata"), _("You've failed to open the seal of main altar."), bc_map, C_YELLOW); - end; - -OnTimer3500000: - instance_warpall("monk_test", 310, 150); - stopnpctimer(); - end; -} - -2@cata,80,144,0 script ins_2f_enter FAKE_NPC,3,3,{ -OnTouch: - donpcevent(instance_npcname("ins_2f_enter_broad")+"::OnEnable"); - disablenpc(instance_npcname("ins_2f_enter")); - end; -} - -2@cata,1,1,0 script ins_2f_enter_broad FAKE_NPC,{ -OnInstanceInit: -OnDisable: - disablenpc(instance_npcname("ins_2f_enter_broad")); - end; - -OnEnable: - enablenpc(instance_npcname("ins_2f_enter_broad")); - initnpctimer(); - end; - -OnTimer10000: - mapannounce(instance_mapname("2@cata"), _("Baphomet : Humans... interfering again..."), bc_map, "0xdb7093"); - end; - -OnTimer13000: - mapannounce(instance_mapname("2@cata"), _("Apostle of Baphomet : Humans! Humans have invaded our sanctum!"), bc_map, C_YELLOW); - end; - -OnTimer16000: - mapannounce(instance_mapname("2@cata"), _("Apostle of Baphomet : Kill the humans! Do not stop the revival of our Master!"), bc_map, C_YELLOW); - end; - -OnTimer18000: - mapannounce(instance_mapname("2@cata"), _("Apostle of Baphomet : Hurry up and release the seals of the altars! Our Master's return is upon us!"), bc_map, C_YELLOW); - stopnpctimer(); - disablenpc(instance_npcname("ins_2f_enter_broad")); - end; -} - -2@cata,50,67,0 script slave_left FAKE_NPC,5,5,{ -OnTouch: - .@map$ = instance_mapname("2@cata"); - mapannounce(.@map$, _("Apostle of Baphomet : Kill the humans! Don't let them interrupt the revival of our Master!"), bc_map, C_YELLOW); - monster(.@map$, 55, 67, _("Apostle of Baphomet"), FLAME_SKULL, 1); - monster(.@map$, 51, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1); - monster(.@map$, 58, 67, _("Apostle of Baphomet"), MINI_DEMON, 1); - monster(.@map$, 53, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1); - monster(.@map$, 54, 67, _("Apostle of Baphomet"), FLAME_SKULL, 1); - monster(.@map$, 55, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1); - monster(.@map$, 56, 67, _("Apostle of Baphomet"), EVIL_DRUID, 1); - monster(.@map$, 58, 66, _("Apostle of Baphomet"), FLAME_SKULL, 1); - monster(.@map$, 56, 66, _("Apostle of Baphomet"), EVIL_DRUID, 1); - monster(.@map$, 60, 66, _("Apostle of Baphomet"), KHALITZBURG, 1); - monster(.@map$, 59, 66, _("Apostle of Baphomet"), EVIL_DRUID, 1); - monster(.@map$, 54, 66, _("Apostle of Baphomet"), KHALITZBURG, 1); - monster(.@map$, 55, 66, _("Apostle of Baphomet"), MINI_DEMON, 1); - monster(.@map$, 56, 66, _("Apostle of Baphomet"), KHALITZBURG, 1); - monster(.@map$, 50, 65, _("Apostle of Baphomet"), BANSHEE, 1); - monster(.@map$, 61, 65, _("Apostle of Baphomet"), MINI_DEMON, 1); - disablenpc(instance_npcname("slave_left")); - end; -} - -2@cata,109,67,0 script slave_right FAKE_NPC,5,5,{ -OnTouch: - .@map$ = instance_mapname("2@cata"); - mapannounce(.@map$, _("Apostle of Baphomet : Kill the humans! Don't let them interrupt the revival of our Master!"), bc_map, C_YELLOW); - monster(.@map$, 105, 67, _("Apostle of Baphomet"), FLAME_SKULL, 1); - monster(.@map$, 104, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1); - monster(.@map$, 107, 67, _("Apostle of Baphomet"), FLAME_SKULL, 1); - monster(.@map$, 106, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1); - monster(.@map$, 102, 67, _("Apostle of Baphomet"), FLAME_SKULL, 1); - monster(.@map$, 103, 67, _("Apostle of Baphomet"), WRAITH_DEAD, 1); - monster(.@map$, 103, 67, _("Apostle of Baphomet"), EVIL_DRUID, 1); - monster(.@map$, 109, 66, _("Apostle of Baphomet"), EVIL_DRUID, 1); - monster(.@map$, 108, 66, _("Apostle of Baphomet"), KHALITZBURG, 1); - monster(.@map$, 101, 66, _("Apostle of Baphomet"), EVIL_DRUID, 1); - monster(.@map$, 106, 66, _("Apostle of Baphomet"), MINI_DEMON, 1); - monster(.@map$, 102, 66, _("Apostle of Baphomet"), KHALITZBURG, 1); - monster(.@map$, 104, 66, _("Apostle of Baphomet"), MINI_DEMON, 1); - monster(.@map$, 103, 66, _("Apostle of Baphomet"), KHALITZBURG, 1); - monster(.@map$, 109, 65, _("Apostle of Baphomet"), BANSHEE, 1); - monster(.@map$, 108, 65, _("Apostle of Baphomet"), MINI_DEMON, 1); - disablenpc(instance_npcname("slave_right")); - end; -} - -2@cata,79,39,0 script slave_down FAKE_NPC,5,5,{ -OnTouch: - .@map$ = instance_mapname("2@cata"); - mapannounce(.@map$, _("Apostle of Baphomet : Kill the humans! Don't let them interrupt the revival of our Master!"), bc_map, C_YELLOW); - monster(.@map$, 78, 41, _("Apostle of Baphomet"), FLAME_SKULL, 1); - monster(.@map$, 79, 42, _("Apostle of Baphomet"), WRAITH_DEAD, 1); - monster(.@map$, 78, 46, _("Apostle of Baphomet"), FLAME_SKULL, 1); - monster(.@map$, 81, 41, _("Apostle of Baphomet"), WRAITH_DEAD, 1); - monster(.@map$, 81, 42, _("Apostle of Baphomet"), FLAME_SKULL, 1); - monster(.@map$, 79, 43, _("Apostle of Baphomet"), WRAITH_DEAD, 1); - monster(.@map$, 77, 40, _("Apostle of Baphomet"), EVIL_DRUID, 1); - monster(.@map$, 79, 41, _("Apostle of Baphomet"), KHALITZBURG, 1); - monster(.@map$, 79, 42, _("Apostle of Baphomet"), EVIL_DRUID, 1); - monster(.@map$, 79, 43, _("Apostle of Baphomet"), KHALITZBURG, 1); - monster(.@map$, 79, 48, _("Apostle of Baphomet"), EVIL_DRUID, 1); - monster(.@map$, 78, 49, _("Apostle of Baphomet"), KHALITZBURG, 1); - monster(.@map$, 78, 41, _("Apostle of Baphomet"), MINI_DEMON, 1); - monster(.@map$, 74, 42, _("Apostle of Baphomet"), MINI_DEMON, 1); - monster(.@map$, 72, 48, _("Apostle of Baphomet"), BANSHEE, 1); - monster(.@map$, 72, 38, _("Apostle of Baphomet"), MINI_DEMON, 1); - disablenpc(instance_npcname("slave_down")); - end; -} - -//== Magical Seals ========================================= -- script Magical Seal#SS FAKE_NPC,{ - .@seal_check = questprogress(3041, PLAYTIME); - if (.@seal_check == 1) { - specialeffect(EF_SILENCEATTACK, AREA, playerattached()); - percentheal(-50, 0); - sc_start(Eff_Stone, 30000, 0); - mes("Your SP has not recovered yet. You lost your SP on the altar, but it seems the power of the seal has returned."); - close(); - } - if (.@seal_check == 2) - erasequest(3041); - specialeffect(EF_LEXDIVINA); - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - .@map$ = instance_mapname("2@cata"); - if (strnpcinfo(NPC_NAME_HIDDEN) == "0") - areamobuseskill(.@map$, 79, 81, 10, BAPHOMET_I, "NPC_INVINCIBLEOFF", 1, 0, 0, e_hlp, 0); - else if (strnpcinfo(NPC_NAME_HIDDEN) == "2") - areamobuseskill(.@map$, 123, 109, 10, BAPHOMET_I, "NPC_INVINCIBLEOFF", 1, 0, 0, e_hlp, 0); - else if (strnpcinfo(NPC_NAME_HIDDEN) == "4") - areamobuseskill(.@map$, 123, 22, 10, BAPHOMET_I, "NPC_INVINCIBLEOFF", 1, 0, 0, e_hlp, 0); - else if (strnpcinfo(NPC_NAME_HIDDEN) == "8") - areamobuseskill(.@map$, 35, 21, 10, BAPHOMET_I, "NPC_INVINCIBLEOFF", 1, 0, 0, e_hlp, 0); - else if (strnpcinfo(NPC_NAME_HIDDEN) == "10") - areamobuseskill(.@map$, 35, 109, 10, BAPHOMET_I, "NPC_INVINCIBLEOFF", 1, 0, 0, e_hlp, 0); - percentheal(-50, 0); - sc_start(Eff_Stone, 20000, 0); - setquest(3041); - mapannounce(.@map$, _("The seal activated by putting magical power into the altar."), bc_map, "0x87ceeb"); - mes("I can feel the power of the altar came back by adding magical power."); - next(); - mes("But you can't use your magic for 3 minutes because you used your SP on the altar."); - close(); - -OnInstanceInit: - disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); - end; -} - -2@cata,79,81,0 duplicate(Magical Seal#SS) Magical Seal#0 CLEAR_NPC -2@cata,123,109,0 duplicate(Magical Seal#SS) Magical Seal#2 CLEAR_NPC -2@cata,123,22,0 duplicate(Magical Seal#SS) Magical Seal#4 CLEAR_NPC -2@cata,35,21,0 duplicate(Magical Seal#SS) Magical Seal#8 CLEAR_NPC -2@cata,35,109,0 duplicate(Magical Seal#SS) Magical Seal#10 CLEAR_NPC - -2@cata,79,65,0 script The Main Altar#ss CLEAR_NPC,{ - .@party_id = getcharid(CHAR_ID_PARTY); - if ('ins_baphomet == 5 && getpartyleader(.@party_id, 2) == getcharid(CHAR_ID_CHAR)) { - mes("An evil power, too terrible to describe, lies under the great altar radiating a violet color."); - next(); - mes("Complicated Magical Rune letters blink rapidly, attempting to suppress the dreadful power within."); - next(); - mes("The bottom of the Main Altar trembles furiously."); - next(); - if ('ins_baphomet == 5) { - specialeffect(EF_METEORSTORM); - specialeffect(EF_METEORSTORM); - mesf("[%s]", strcharinfo(PC_NAME)); - mes("Watch out! Something... Something is coming."); - 'ins_baphomet = 6; - donpcevent(instance_npcname("ins_2f_hero_broad")+"::OnEnable"); - disablenpc(instance_npcname("The Main Altar#ss")); - } - close(); - } else { - mes("An evil power, too terrible to describe, lies under the great altar radiating a violet color."); - next(); - mes("Complicated Magical Rune letters blink rapidly, attempting to suppress the dreadful power within."); - close(); - } - end; -} - -2@cata,80,63,4 script Ancient Hero's Soul#2F 4_M_CHAMPSOUL,{ - cutin("ins_cata_champ_s", 2); - if (questprogress(3041)) - erasequest(3041); - mes("[Ancient Hero's Soul]"); - mes("Good job, my descendants... You've finished the long-cherished task that me and my bretheren could not complete."); - next(); - mes("[Ancient Hero's Soul]"); - mes("I really appreciate your help."); - mes("Our souls can finally rest in peace..."); - next(); - mes("[Ancient Hero's Soul]"); - mes("The struggle for peace on this world will never end. But... my role here is finally over because there are brave heroes like you."); - next(); - switch (select("Let me leave the shrine.", "Stop talking.")) { - case 1: - mes("[Ancient Hero's Soul]"); - mes("Okay. I'll let you and your group leave here safely."); - next(); - mes("[Ancient Hero's Soul]"); - mes("If you leave, please say hello to Patrick for me."); - cutin("", 255); - 'ins_baphomet = 0; - warp("monk_test", 310, 150); - close(); - case 2: - mes("[Ancient Hero's Soul]"); - mes("Do you still have something to do here? If you're done I'll let you leave safely..."); - cutin("", 255); - close(); - } - -OnInstanceInit: - disablenpc(instance_npcname("Ancient Hero's Soul#2F")); - end; -} - -2@cata,1,2,0 script ins_2f_hero_broad FAKE_NPC,{ -OnEnable: - enablenpc(instance_npcname("ins_2f_hero_broad")); - initnpctimer(); - end; - -OnDisable: - disablenpc(instance_npcname("ins_2f_hero_broad")); - end; - -OnTimer3000: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : My God! The seal of the Main Altar is weakening!"), bc_map, C_YELLOW); - end; - -OnTimer6000: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : My descendants... Listen carefully to what I'm going to say."), bc_map, C_YELLOW); - end; - -OnTimer9000: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The altars that control the Main Altar's power are located in the Northeast, Southeast, Southwest and Northwest corners of this room."), bc_map, C_YELLOW); - end; - -OnTimer12000: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : Find these altars and activate their seals before Baphomet revives."), bc_map, C_YELLOW); - end; - -OnTimer15000: - mapannounce(instance_mapname("2@cata"), _("Baphomet : It's too late, weaklings... Now, you'll feel the despair of death!"), bc_map, "0xdb7093"); - end; - -OnTimer17000: - mapannounce(instance_mapname("2@cata"), _("Baphomet : No one can harm me here. You will be my first sacrifice."), bc_map, "0xdb7093"); - donpcevent(instance_npcname("control_baphomet")+"::OnEnable"); - donpcevent(instance_npcname("ins_2f_hero_broad2")+"::OnEnable"); - stopnpctimer(); - disablenpc(instance_npcname("ins_2f_hero_broad")); - end; -} - -2@cata,3,3,0 script control_baphomet FAKE_NPC,{ -OnInstanceInit: -OnDisable: - disablenpc(instance_npcname("control_baphomet")); - end; - -OnEnable: - enablenpc(instance_npcname("control_baphomet")); - donpcevent(instance_npcname("2f_callmon_pattern_c")+"::OnEnable"); - monster(instance_mapname("2@cata"), 79, 64, "Baphomet#", BAPHOMET_I, 1, instance_npcname("control_baphomet")+"::OnMyMobDead"); - end; - -OnMyMobDead: - .@map$ = instance_mapname("2@cata"); - if (mobcount(.@map$, instance_npcname("control_baphomet")+"::OnMyMobDead") < 1) { - 'ins_baphomet = 7; - erasequest(3041); - mapannounce(.@map$, _("Baphomet : No! Nonono! How dare these weaklings defeat me!... No!!..."), bc_map, "0xdb7093"); - enablenpc(instance_npcname("Ancient Hero's Soul#2F")); - disablenpc(instance_npcname("slave_down")); - disablenpc(instance_npcname("slave_left")); - disablenpc(instance_npcname("slave_right")); - donpcevent(instance_npcname("ins_2f_hero_broad")+"::OnDisable"); - donpcevent(instance_npcname("ins_2f_hero_broad2")+"::OnDisable"); - donpcevent(instance_npcname("ins_2f_hero_pattern_c")+"::OnDisable"); - donpcevent(instance_npcname("2f_callmon_pattern_c")+"::OnDisable"); - donpcevent(instance_npcname("2f_callmon_pattern")+"::OnDisable"); - donpcevent(instance_npcname("ins_2f_hero_pattern")+"::OnDisable"); - donpcevent(instance_npcname("ins_2f_enter_broad")+"::OnDisable"); - donpcevent(instance_npcname("control_baphomet")+"::OnDisable"); - disablenpc(instance_npcname("control_baphomet")); - } - end; -} - -2@cata,2,2,0 script ins_2f_hero_broad2 FAKE_NPC,{ -OnInstanceInit: -OnDisable: - disablenpc(instance_npcname("ins_2f_hero_broad2")); - end; - -OnEnable: - enablenpc(instance_npcname("ins_2f_hero_broad2")); - initnpctimer(); - end; - -OnTimer8000: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : Don't be discouraged, Baphomet can still be defeated!"), bc_map, C_YELLOW); - end; - -OnTimer11000: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : Go to the altars and activate their seals."), bc_map, C_YELLOW); - end; - -OnTimer13000: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : Once the seals recover their power, Baphomet will be vulnerable."), bc_map, C_YELLOW); - end; - -OnTimer16000: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : You should lure Baphomet to the unsealed Altars. Otherwise, your efforts will be futile."), bc_map, C_YELLOW); - end; - -OnTimer19000: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : We have only 1 hour to stop Baphomet. If time runs out, the power of the seals will be useless."), bc_map, C_YELLOW); - end; - -OnTimer22000: - mapannounce(instance_mapname("2@cata"), _("Baphomet : It's useless. Make more seals. I'll crush them all. None of you will survive!"), bc_map, "0xdb7093"); - end; - -OnTimer26000: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The magical power of the central seal is running out. Go to the central seal and put the magical power."), bc_map, C_YELLOW); - enablenpc(instance_npcname("Magical Seal#0")); - disablenpc(instance_npcname("Magical Seal#2")); - disablenpc(instance_npcname("Magical Seal#4")); - disablenpc(instance_npcname("Magical Seal#8")); - disablenpc(instance_npcname("Magical Seal#10")); - donpcevent(instance_npcname("ins_2f_hero_pattern_c")+"::OnEnable"); - stopnpctimer(); - disablenpc(instance_npcname("ins_2f_hero_broad2")); - end; -} - -2@cata,4,1,0 script 2f_callmon_pattern_c FAKE_NPC,{ -OnInstanceInit: - disablenpc(instance_npcname("2f_callmon_pattern_c")); - end; - -OnEnable: - enablenpc(instance_npcname("2f_callmon_pattern_c")); - initnpctimer(); - donpcevent(instance_npcname("2f_callmon_pattern_c")+"::OnGo"); - end; - -OnDisable: - stopnpctimer(); - disablenpc(instance_npcname("2f_callmon_pattern_c")); - end; - -OnGo: - donpcevent(instance_npcname("2f_callmon_pattern")+"::OnEnable"); - end; - -OnTimer3600000: - donpcevent(instance_npcname("2f_callmon_pattern_c")+"::OnDisable"); - end; -} - -2@cata,4,2,0 script 2f_callmon_pattern FAKE_NPC,{ -OnInstanceInit: - disablenpc(instance_npcname("2f_callmon_pattern")); - end; - -OnEnable: - enablenpc(instance_npcname("2f_callmon_pattern")); - stopnpctimer(); - initnpctimer(); - end; - -OnDisable: - disablenpc(instance_npcname("2f_callmon_pattern")); - stopnpctimer(); - end; - -OnTimer300000: - enablenpc(instance_npcname("slave_down")); - enablenpc(instance_npcname("slave_left")); - enablenpc(instance_npcname("slave_right")); - donpcevent(instance_npcname("2f_callmon_pattern_c")+"::OnGo"); - end; -} - -2@cata,3,1,0 script ins_2f_hero_pattern_c FAKE_NPC,{ -OnInstanceInit: - disablenpc(instance_npcname("ins_2f_hero_pattern_c")); - end; - -OnEnable: - enablenpc(instance_npcname("ins_2f_hero_pattern_c")); - initnpctimer(); - donpcevent(instance_npcname("ins_2f_hero_pattern_c")+"::OnGo"); - end; - -OnGo: - donpcevent(instance_npcname("ins_2f_hero_pattern")+"::OnEnable"); - end; - -OnDisable: - stopnpctimer(); - disablenpc(instance_npcname("Magical Seal#0")); - disablenpc(instance_npcname("Magical Seal#2")); - disablenpc(instance_npcname("Magical Seal#4")); - disablenpc(instance_npcname("Magical Seal#8")); - disablenpc(instance_npcname("Magical Seal#10")); - donpcevent(instance_npcname("ins_2f_hero_pattern")+"::OnDisable"); - disablenpc(instance_npcname("ins_2f_hero_pattern_c")); - end; - -OnTimer3600000: - mapannounce(instance_mapname("2@cata"), _("Baphomet : krrrr... Now you can't stop me with the seals. All you can do is wait for death!"), bc_map, "0xdb7093"); - end; - -OnTimer3605000: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : We can't stop Baphomet with the magical power of the seals anymore. Now everything depends on God..."), bc_map, C_YELLOW); - donpcevent(instance_npcname("ins_2f_hero_pattern_c")+"::OnDisable"); - end; -} - -2@cata,3,2,0 script ins_2f_hero_pattern FAKE_NPC,{ -OnInstanceInit: - disablenpc(instance_npcname("ins_2f_hero_pattern")); - end; - -OnEnable: - enablenpc(instance_npcname("ins_2f_hero_pattern")); - initnpctimer(); - end; - -OnDisable: - disablenpc(instance_npcname("ins_2f_hero_pattern")); - stopnpctimer(); - end; - -OnTimer70000: - switch (rand(1, 5)) { - case 1: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The seal of the Main Altar is running out. Strengthen the Main Altar's seal!"), bc_map, C_YELLOW); - enablenpc(instance_npcname("Magical Seal#0")); - disablenpc(instance_npcname("Magical Seal#2")); - disablenpc(instance_npcname("Magical Seal#4")); - disablenpc(instance_npcname("Magical Seal#8")); - disablenpc(instance_npcname("Magical Seal#10")); - break; - case 2: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The magical power of the seal at 2 o'clock is running out. Go to 2 o'clock and put the magical power in the seal."), bc_map, C_YELLOW); - disablenpc(instance_npcname("Magical Seal#0")); - enablenpc(instance_npcname("Magical Seal#2")); - disablenpc(instance_npcname("Magical Seal#4")); - disablenpc(instance_npcname("Magical Seal#8")); - disablenpc(instance_npcname("Magical Seal#10")); - break; - case 3: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The magical power of the seal at 4 o'clock is running out. Go to 4 o'clock and put the magical power in the seal."), bc_map, C_YELLOW); - disablenpc(instance_npcname("Magical Seal#0")); - disablenpc(instance_npcname("Magical Seal#2")); - enablenpc(instance_npcname("Magical Seal#4")); - disablenpc(instance_npcname("Magical Seal#8")); - disablenpc(instance_npcname("Magical Seal#10")); - break; - case 4: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The magical power of the seal at 8 o'clock is running out. Go to 8 o'clock and put the magical power in the seal."), bc_map, C_YELLOW); - disablenpc(instance_npcname("Magical Seal#0")); - disablenpc(instance_npcname("Magical Seal#2")); - disablenpc(instance_npcname("Magical Seal#4")); - enablenpc(instance_npcname("Magical Seal#8")); - disablenpc(instance_npcname("Magical Seal#10")); - break; - case 5: - mapannounce(instance_mapname("2@cata"), _("Ancient Hero's Soul : The magical power of the seal at 10 o'clock is running out. Go to 10 o'clock and put the magical power in the seal."), bc_map, C_YELLOW); - disablenpc(instance_npcname("Magical Seal#0")); - disablenpc(instance_npcname("Magical Seal#2")); - disablenpc(instance_npcname("Magical Seal#4")); - disablenpc(instance_npcname("Magical Seal#8")); - enablenpc(instance_npcname("Magical Seal#10")); - } - stopnpctimer(); - donpcevent(instance_npcname("ins_2f_hero_pattern_c")+"::OnGo"); - end; -} - -1@cata,1,1,0 script ins_1f_spawn_mobs FAKE_NPC,{ -OnInstanceInit: - .@map$ = instance_mapname("1@cata"); - monster(.@map$, 0, 0, _("Zombie Master"), ZOMBIE_MASTER, 10); - monster(.@map$, 0, 0, _("Wraith Dead"), WRAITH_DEAD, 10); - //monster(.@map$, 0, 0, _("Ancient Mimic"), ANCIENT_MIMIC, 10); - monster(.@map$, 0, 0, _("Flame Skull"), FLAME_SKULL, 10); - monster(.@map$, 0, 0, _("Skeleton General"), SKELETON_GENERAL, 10); - monster(.@map$, 0, 0, _("Zombie Master"), ZOMBIE_MASTER, 10); - monster(.@map$, 0, 0, _("Skeleton General"), SKELETON_GENERAL, 10); - monster(.@map$, 0, 0, _("Flame Skull"), FLAME_SKULL, 10); - monster(.@map$, 0, 0, _("Wraith Dead"), WRAITH_DEAD, 10); - monster(.@map$, 0, 0, _("Wraith Dead"), WRAITH_DEAD, 10); - monster(.@map$, 0, 0, _("Khalitzburg"), KHALITZBURG, 10); - monster(.@map$, 0, 0, _("Khalitzburg"), KHALITZBURG, 10); - monster(.@map$, 0, 0, _("Flame Skull"), FLAME_SKULL, 10); - monster(.@map$, 0, 0, _("Flame Skull"), FLAME_SKULL, 10); - monster(.@map$, 0, 0, _("Ancient Mimic"), ANCIENT_MIMIC, 10); - monster(.@map$, 0, 0, _("Zombie Master"), ZOMBIE_MASTER, 10); - monster(.@map$, 0, 0, _("Ancient Mimic"), ANCIENT_MIMIC, 10); - monster(.@map$, 0, 0, _("Zombie Master"), ZOMBIE_MASTER, 10); - monster(.@map$, 0, 0, _("Wraith Dead"), WRAITH_DEAD, 10); - monster(.@map$, 0, 0, _("Skeleton General"), SKELETON_GENERAL, 10); - monster(.@map$, 0, 0, _("Skeleton General"), SKELETON_GENERAL, 10); - monster(.@map$, 0, 0, _("Wind Ghost"), WIND_GHOST, 10); - monster(.@map$, 0, 0, _("Wind Ghost"), WIND_GHOST, 10); - monster(.@map$, 0, 0, _("Wind Ghost"), WIND_GHOST, 10); - monster(.@map$, 0, 0, _("Lude"), LUDE, 10); - monster(.@map$, 0, 0, _("Lude"), LUDE, 10); - monster(.@map$, 0, 0, _("Evil Druid"), EVIL_DRUID, 10); - monster(.@map$, 0, 0, _("Evil Druid"), EVIL_DRUID, 10); - monster(.@map$, 0, 0, _("Evil Druid"), EVIL_DRUID, 10); - monster(.@map$, 0, 0, _("Banshee"), BANSHEE, 10); - monster(.@map$, 0, 0, _("Dark Illusion"), DARK_ILLUSION, 1); - disablenpc(instance_npcname("ins_1f_spawn_mobs")); - end; -} |