From 93f61040ac281b84c038af72e322a03f60bc6e03 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Sat, 19 Oct 2013 16:22:04 -0300 Subject: Instance Dungeons Update As requested by the community in http://hercules.ws/board/topic/1702-implement-rathena-npc/ we're merging in the latest of rAthena's dungeons, this includes the rewriting of all instance dungeons and the addition of 4 dungeons that were not present previously (BakonawaLake, BangungotHospital, BuwayaCave and OldGlastHeim). Update also includes the ability for instances to reset (or be destroyed if instance files were disabled/removed) upon @reloadscript, instance scripts are able to control to what stage the instances are to be reset via the instance_set_respawn (reload spawn) script command, OnInstanceInit labels are now triggered when the instance starts via instance_init (and upon reload), they may be used alongside instance variables (which are persistent to @reloadscript) to save players' progress. - NPC Changelog: -- npc/instances/EndlessTower.txt --- 2.2 Instance system rewrite. [Euphy] --- 2.3 Added some missing announcements. [Euphy] --- 2.4 Added GM management function. [Euphy] -- npc/instances/NydhoggsNest.txt --- 1.5 Instance system rewrite. [Euphy] --- 1.6 Added GM management NPCs. [Euphy] -- npc/instances/OrcsMemory.txt --- 1.7 Instance system rewrite. [Euphy] -- npc/instances/SealedShrine.txt --- 2.3 Instance system rewrite. [Euphy] -- npc/other/gm_npcs.txt --- 1.0 First version. [Euphy] -- npc/re/instances/BakonawaLake.txt --- 1.0 First version. [Euphy] --- 1.1 Added GM management NPC. [Euphy] -- npc/re/instances/BangungotHospital.txt --- 1.0 First version. [Euphy] --- 1.1 Added GM management function. [Euphy] -- npc/re/instances/BuwayaCave.txt --- 1.0 First version. [Euphy] -- npc/re/instances/HazyForest.txt --- 1.1 Instance system rewrite. [Euphy] -- npc/re/instances/MalangdoCulvert.txt --- 1.0b Fixed incorrect use of 'close'. [Joseph] --- 1.1 Instance system rewrite. [Euphy] -- npc/re/instances/OctopusCave.txt --- 1.1 Instance system rewrite. [Euphy] -- npc/re/instances/OldGlastHeim.txt --- 1.0 First version. [Euphy] Special Thanks to Haru, Uziel for their contributions to this update, and ossi0110 for helping us debug it. Signed-off-by: shennetsind --- npc/instances/NydhoggsNest.txt | 1561 +++++++++++++--------------------------- 1 file changed, 509 insertions(+), 1052 deletions(-) (limited to 'npc/instances/NydhoggsNest.txt') diff --git a/npc/instances/NydhoggsNest.txt b/npc/instances/NydhoggsNest.txt index f2fe3fc68..331aba3f7 100644 --- a/npc/instances/NydhoggsNest.txt +++ b/npc/instances/NydhoggsNest.txt @@ -3,19 +3,24 @@ //===== By: ================================================== //= L0ne_W0lf, various sources //===== Current Version: ===================================== -//= 1.4 -//===== Description: ========================================= +//= 1.6 +//===== Description: ========================================= //= [Official Conversion] //= Nidhoggr's Nest Instance -//===== Additional Comments: ================================= +//===== Additional Comments: ================================= //= 1.0 First version. //= 1.1 Minor dialog updates. //= 1.2 No longer glitches when anyone but party leader talks to the first NPC. //= 1.3 Added 'instance_check_party' command to the script for proper checking if -//= the invoking party meets the requirements to join the Memorial Dungeon. +//= the invoking party meets the requirements to join the Memorial Dungeon. //= 1.4 Cleaning. [Euphy] -//============================================================ +//= 1.5 Instance system rewrite. [Euphy] +//= 1.6 Added GM management NPCs. [Euphy] +//============================================================ +1@nyd mapflag src4instance +2@nyd mapflag src4instance +//============================================================ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,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."; @@ -24,47 +29,25 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{ next; switch(select("Move closer to look more carefully.:Step back.")) { case 1: - if (ep13_1_edq == 14) { - specialeffect2 EF_HOLYHIT; - pushpc 3,3; + specialeffect2 EF_HOLYHIT; + pushpc 3,3; + if (ep13_1_edq == 14) set 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."; - set ins_nyd,1; - close; - } - else if (ep13_1_edq == 15) { - specialeffect2 EF_HOLYHIT; - pushpc 3,3; - mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door..."; - next; - mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation."; - next; - mes "It would be better to go back to camp and inform the others and ask for help."; - set ins_nyd,1; - close; - } - else { - specialeffect2 EF_HOLYHIT; - pushpc 3,3; - mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door..."; - next; - mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation."; - next; - mes "It would be better to go back to camp and inform the others and ask for help."; + mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door..."; + next; + mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation."; + next; + mes "It would be better to go back to camp and inform the others and ask for help."; + if (ep13_1_edq != 15) { next; mes "You'll have to obtain the others trust in the expendition camp by working hard."; - set ins_nyd,1; - close; } + set ins_nyd,1; + close; case 2: close; } - } - else if (ins_nyd == 1) { + } 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."; @@ -74,13 +57,10 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{ set ep13_1_edq,15; close; } - else { - 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) { + next; + mes "You'll have to obtain the others trust in the expendition camp by working hard."; + close; + } else if (ins_nyd == 111 || ins_nyd == 112) { specialeffect2 EF_CHANGECOLD; mes "The strange sensation surrounding your body has disappeared"; next; @@ -107,177 +87,104 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{ case 2: close; } - } - else if (ins_nyd == 131 || ins_nyd == 132 || ins_nyd > 199) { + } else if (ins_nyd == 131 || ins_nyd == 132 || ins_nyd > 199) { + + set .@party_id,getcharid(1); + set .@md_name$,"Nidhoggur's Nest"; + set .@ins_nyd_check,checkquest(3135,PLAYTIME); // 3 Day cooldown set .@ins_nyd_check2,checkquest(3136,PLAYTIME); // 4 Hour play limit - if (.@ins_nyd_check == -1) { - mes "As I put my hands on the stone gate, a voice sounded from the depth of my heart."; - next; - 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: - set .@party,getcharid(1); - set .@leader,getpartyleader(.@party,2); - set .@md_name$,"Nidhoggur's Nest"; - - if(!instance_check_party(.@party,2,70)){ - mes "I'm sorry but your Party does not meet the requirements to join the Memorial Dungeon."; - close; - } - if (.@leader == getcharid(0)) { - set .@instance, instance_create(.@md_name$, .@party); + mes "As I put my hands on the stone gate, a voice sounded from the depth of my heart."; + next; + if (.@ins_nyd_check == -1 && .@ins_nyd_check2 == -1) { + 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(0) == 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: + set .@instance, instance_create(.@md_name$, .@party_id); if (.@instance < 0) { mes "[Yggdrasil Gatekeeper]"; mes "The Guardian seems to wish to be alone. I will go in and check, please wait out here."; close; } - else { - for( set .@i, 1; .@i <= 2; set .@i, .@i + 1 ) { - if( instance_attachmap(.@i + "@nyd", .@instance) == "" ) - break; - } - if( .@i < 2 ) { - instance_destroy(.@instance); - close; - } - instance_attach(.@instance); - instance_set_timeout 144000,300,.@instance; - instance_init(.@instance); - - // Spawn standard mobs - donpcevent instance_npcname("ins_nyd1_spawn_mobs", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("ins_nyd2_spawn_mobs", instance_id())+"::OnInstanceInit"; - // Activate Floor 1 - donpcevent instance_npcname("nyd_call_mon_1", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("ins_nyd_1f_timer", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_to2f_warp", instance_id())+"::OnInstanceInit"; - // Active Floor 2 - donpcevent instance_npcname("nyd_2f_enter_broad", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_boss_enter", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_boss_enter_call", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_boss_enter_logic", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("World Tree Yggdrasil#2F", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_red_c", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_red_warp1", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_red_warp2", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_red_warp3", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_white_c", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_white_warp1", instance_id())+"::OnInstanceInit";; - donpcevent instance_npcname("nyd_2f_white_warp2", instance_id())+"::OnInstanceInit";; - donpcevent instance_npcname("nyd_2f_white_warp3", instance_id())+"::OnInstanceInit";; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_yellow_warp1", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_yellow_warp2", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_yellow_warp3", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_green_c", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_green_warp1", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_green_warp2", instance_id())+"::OnInstanceInit"; - donpcevent instance_npcname("nyd_2f_green_warp3", instance_id())+"::OnInstanceInit"; - - 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."; + for( set .@i, 1; .@i <= 2; set .@i, .@i + 1 ) { + if( instance_attachmap(.@i + "@nyd", .@instance) == "" ) + break; + } + if( .@i < 2 ) { + instance_destroy(.@instance); close; } - } - else { + instance_set_timeout 144000,300,.@instance; + instance_init(.@instance); mes "[Yggdrasil Gatekeeper]"; - mes "When you touch the stone gate, you can hear the voice in your heart."; + mes "I've recorded your request, are you ready to go inside?"; next; mes "[Yggdrasil Gatekeeper]"; - mes "Where are the other servants, so you can work together? Each servant cannot be admitted here individually..."; - next; + mes "If you are ready, I will allow you to enter."; + close; + case 2: + goto 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; + goto L_Enter; + } else { + if (.@ins_nyd_check == 0 || .@ins_nyd_check == 1) { + if ('ins_nyd2 == 3 || 'ins_nyd2 == 4) { mes "[Yggdrasil Gatekeeper]"; - mes "Come with at least 1 more servant... Only party leaders can accept admission to Nidhoggur's Nest."; + mes "With the defeat of Nidhoggur's Shadow, the roots of the World Tree Yggdrasil are also affected."; next; mes "[Yggdrasil Gatekeeper]"; - mes "And only 1 representative of you needs to talk to me, so don't annoy me..."; + mes "After Nidhoggur's Shadow disappears, at least 3 days is needed for stabilizing."; close; } - case 2: - if (.@ins_nyd_check2 < 2) { // Added check to avoid people from re-partting up. - set .@party,getcharid(1); - set .@leader,getpartyleader(.@party,2); - set .@p_name$,getpartyname(.@party); - set .@p_name2$,strcharinfo(0); - set .@md_name$,"Nidhoggur's Nest"; - - if(!instance_check_party(.@party,2,70)){ - mes "I'm sorry but your Party does not meet the requirements to join the Memorial Dungeon."; - close; - } - - if (has_instance("1@nyd") == "") { - mes "[Yggdrasil Gatekeeper]"; - mes "You did not request for entrance. Please let your leader request entrance."; - close; - } - if((party_instance_id2 != 0) && (party_instance_id2 != getcharid(1))) { - //Custom - mes "[Yggdrasil Gatekeeper]"; - mes "You are no longer able to enter Nidhogger's Nest, as your instance has expired."; - next; - mes "[Yggdrasil Gatekeeper]"; - mes "After Nidhoggur's Shadow disappears, at least 3 days is needed for stabilizing."; - close; - } - else { - mapannounce "nyd_dun02", .@p_name$ + "'s Party member " + .@p_name2$ + " has entered " + .@md_name$,bc_map,"0x00ff99"; - set party_instance_id2,getcharid(1); - if (checkquest(3135) == -1) setquest 3135; - if (checkquest(3136) == -1) setquest 3136; - warp "1@nyd",32,37; - close; - } - } - else { - //Custom + mes "[Yggdrasil Gatekeeper]"; + mes "If you have the dungeon generated already, you can enter it."; + next; + if(select("I want to go in.:I want to leave.") == 2) + close; + goto L_Enter; + } else if (.@ins_nyd_check == 2) { + if (.@ins_nyd_check2 == 0 || .@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 "You are no longer able to enter Nidhogger's Nest, as your instance has expired."; + mes "The World Tree Yggdrasil has stabilized. Would you like to enter Nidhoggur's Nest again?"; next; mes "[Yggdrasil Gatekeeper]"; - mes "After Nidhoggur's Shadow disappears, at least 3 days is needed for stabilizing."; + mes "If you would like to enter again, please register with me."; + erasequest 3135; + erasequest 3136; + set 'ins_nyd2,0; close; } - case 3: - close; } } - else if (.@ins_nyd_check == 0 || .@ins_nyd_check == 1) { - 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; - } - else if (.@ins_nyd_check == 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."; - set party_instance_id2,0; - erasequest 3135; - erasequest 3136; - set 'ins_nyd2,0; - close; - } - else { - close; - } - } - else { + 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."; @@ -296,10 +203,23 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{ } 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", getpartyname(getcharid(1))+"'s party member "+strcharinfo(0)+" has entered Nidhoggur's Nest.",bc_map,"0x00ff99"; + if (checkquest(3135) == -1) setquest 3135; + if (checkquest(3136) == -1) setquest 3136; + warp "1@nyd",32,37; + close; + } + OnTouch_: if (ins_nyd == 0) { specialeffect2 EF_CHANGECOLD; - specialeffect EF_CHANGECOLD,"Yggdrasil Gatekeeper"; + specialeffect EF_CHANGECOLD; } end; } @@ -318,8 +238,7 @@ mid_camp,271,299,3 script Historian Magnifier#edq 755,3,3,{ 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) { + } else if (ins_nyd == 2) { mes "Does Commander Agip want to talk to me? Let's listen to his story."; next; mes "[Historian Magniffer]"; @@ -361,12 +280,10 @@ mid_camp,271,299,3 script Historian Magnifier#edq 755,3,3,{ mes "I will definitely help you find a way to enter the World Tree directly so, just believe in me! Okay~!!"; set ins_nyd,3; close; - } - else if (ins_nyd == 3) { + } 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) { + } 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]"; @@ -422,8 +339,7 @@ mid_camp,271,299,3 script Historian Magnifier#edq 755,3,3,{ set ins_nyd,5; close; } - } - else if ((ins_nyd == 5) || (ins_nyd == 51) || (ins_nyd == 52)) { + } 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]"; @@ -432,8 +348,7 @@ mid_camp,271,299,3 script Historian Magnifier#edq 755,3,3,{ 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)) { + } 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]"; @@ -462,12 +377,10 @@ mid_camp,271,299,3 script Historian Magnifier#edq 755,3,3,{ mes "Let's report to Commander Agip about the situation so far. Then, we wait on his decision."; set ins_nyd,7; close; - } - else if ((ins_nyd == 7) || (ins_nyd == 8)) { + } 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)) { + } 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]"; @@ -482,8 +395,7 @@ mid_camp,271,299,3 script Historian Magnifier#edq 755,3,3,{ mes "[Historian Magnifier]"; mes "First, report to Commander Agip, then act according to the situation. Let me organize my research findings..."; close; - } - else { + } 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]"; @@ -610,8 +522,7 @@ prt_in,171,94,3 script Assistant Naomi#edq 893,3,3,{ set ins_nyd,4; close; } - } - else if (ins_nyd == 4) { + } 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")) { @@ -676,8 +587,7 @@ prt_in,171,94,3 script Assistant Naomi#edq 893,3,3,{ 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 { + } 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]"; @@ -723,8 +633,7 @@ splendide,198,178,3 script Grumbling Soldier#edq 447,3,3,{ case 3: close; } - } - else { + } else { mes "[Grumbling Soldier]"; mes "Nowadays, the world has turned unstable. I can't even fly comfortably anymore."; next; @@ -741,8 +650,7 @@ splendide,198,178,3 script Grumbling Soldier#edq 447,3,3,{ mes "Although they ignore your track record, still, one should be careful..."; close; } - } - else { + } else { mes "SeLarsmar Di marThusVil U SeMushVohl"; close; } @@ -788,8 +696,7 @@ splendide,240,164,3 script Sighing Soldier#edq 461,3,3,{ case 3: close; } - } - else { + } else { mes "[Sighing Soldier]"; mes "When will we be finished with this combat with the Sapha? Ugghhhh..."; next; @@ -800,8 +707,7 @@ splendide,240,164,3 script Sighing Soldier#edq 461,3,3,{ mes "Is there no way to resolve this by communicating? There's no meaning in useless combat! Geez."; close; } - } - else { + } else { mes "VohlLarsmar Ha DielCyatas"; close; } @@ -857,8 +763,7 @@ spl_in01,109,60,3 script Commander Lebiordirr#edq 435,3,3,{ mes "Now, if you understand this, inform your friends."; set ins_nyd,61; close; - } - else if (ins_nyd == 61) { + } 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]"; @@ -867,8 +772,7 @@ spl_in01,109,60,3 script Commander Lebiordirr#edq 435,3,3,{ mes "[Commander Lebiordirr]"; mes "Now, if you understand this, inform your friends."; close; - } - else if (ins_nyd == 81) { + } else if (ins_nyd == 81) { mes "Why have you come back, outsider?"; next; select("To ask the Laphines about exploring..."); @@ -941,12 +845,10 @@ spl_in01,109,60,3 script Commander Lebiordirr#edq 435,3,3,{ mes "Here, outsider. Arioss will explain the situation with the giants. Talk with him..."; set ins_nyd,91; close; - } - else if ((ins_nyd == 91) || (ins_nyd == 101) || (ins_nyd == 111) || (ins_nyd == 200) || (ins_nyd == 201) || (ins_nyd == 202)) { + } 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)) { + } 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]"; @@ -955,8 +857,7 @@ spl_in01,109,60,3 script Commander Lebiordirr#edq 435,3,3,{ 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) { + } 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."); @@ -1007,12 +908,10 @@ spl_in01,109,60,3 script Commander Lebiordirr#edq 435,3,3,{ mes "Commander..."; set ins_nyd,121; close; - } - else if ((ins_nyd == 121) || (ins_nyd == 131)) { + } 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 { + } else { mes "Welcome to the Laphine camp in Splendide, outsider... I am Lebiordirr. I am in charge here."; next; mes "[Commander Lebiordirr]"; @@ -1022,8 +921,7 @@ spl_in01,109,60,3 script Commander Lebiordirr#edq 435,3,3,{ mes "If you are cautious with your actions, I won't place any harm on you. Fare well."; close; } - } - else { + } else { mes "ThusDurnah Ra SharVeldIyaz U UorAmanDur Yee neaOsaAdor Yee..."; close; } @@ -1082,8 +980,7 @@ spl_in01,104,56,3 script Aide Arioss#edq 437,3,3,{ mes "I have already told you what you wanted to know... If you need anything else, just let me know."; set ins_nyd,101; close; - } - else if (ins_nyd == 101) { + } 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]"; @@ -1124,18 +1021,15 @@ spl_in01,104,56,3 script Aide Arioss#edq 437,3,3,{ mes "Please meet the Guardian, and come back with an answer to everything. I believe in you."; set ins_nyd,111; close; - } - else if ((ins_nyd == 101) || (ins_nyd == 111) || (ins_nyd == 200) || (ins_nyd == 201) || (ins_nyd == 202)) { + } 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)) { + } 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) { + } 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]"; @@ -1149,19 +1043,16 @@ spl_in01,104,56,3 script Aide Arioss#edq 437,3,3,{ 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) { + } 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 { + } else { mes "... ..."; next; mes "Never give attention to... um... a blunt woman..."; close; } - } - else { + } else { mes "AmanVilShar Ie DorLuShar Mu Re"; close; } @@ -1251,8 +1142,7 @@ man_in01,311,57,3 script Neat Etorr#edq 453,3,3,{ mes "You have heard it all, now please report back to your race."; set ins_nyd,62; close; - } - else if (ins_nyd == 62) { + } 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]"; @@ -1261,15 +1151,13 @@ man_in01,311,57,3 script Neat Etorr#edq 453,3,3,{ 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) { + } 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) { + } 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."); @@ -1339,19 +1227,16 @@ man_in01,311,57,3 script Neat Etorr#edq 453,3,3,{ mes "Strange one, we hope our cooperation will be a good one. Now please go interrogate the Laphine prisoner."; set ins_nyd,92; close; - } - else if ((ins_nyd == 92) || (ins_nyd == 102) || (ins_nyd == 112) || (ins_nyd == 200) || (ins_nyd == 201) || (ins_nyd == 202)) { + } 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)) { + } 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) { + } 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."); @@ -1392,20 +1277,17 @@ man_in01,311,57,3 script Neat Etorr#edq 453,3,3,{ getitem 6080,10; //Manuk_Coin set ins_nyd,132; close; - } - else if (ins_nyd == 132) { + } 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 { + } 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 { + } else { mes "Tkeh likek Ohek QekhlHkl PkedlioH."; close; } @@ -1484,8 +1366,7 @@ man_in01,291,62,3 script Laphine Prisoner#edq 437,3,3,{ case 4: close; } - } - else if (ins_nyd == 92) { + } else if (ins_nyd == 92) { mes "The sapha tribe went as far as cooperating with an unknown race?"; next; mes "[Laphine Prisoner]"; @@ -1541,8 +1422,7 @@ man_in01,291,62,3 script Laphine Prisoner#edq 437,3,3,{ mes "I have already told you everything you wanted to hear. If you have any other requests, please let me know."; set ins_nyd,102; close; - } - else if (ins_nyd == 102) { + } 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]"; @@ -1583,19 +1463,16 @@ man_in01,291,62,3 script Laphine Prisoner#edq 437,3,3,{ mes "Please meet the Guardian, and come back with an answer to everything. And tell the answer to..."; set 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)) { + } 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) { + } 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) { + } else if (ins_nyd == 132) { mes "Yes...I heard your conversation with the Sapha tribe..."; next; mes "[Laphine Prisoner]"; @@ -1610,16 +1487,14 @@ man_in01,291,62,3 script Laphine Prisoner#edq 437,3,3,{ 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 { + } else { mes "... ..."; next; mes "[Manuk Guard]"; mes "Hey, outsider! Step away from the prisoner!"; close; } - } - else { + } else { mes "AmanVilShar Ie DorLuShar Mu Re"; close; } @@ -1648,7 +1523,7 @@ OnTouch_: mes "[World Tree World Tree Yggdrasil]"; mes "It's all over... servants of the Guardian... Hurry up and leave this place."; next; - while (1) { + while(1) { switch(select("Who are you?:What do you mean?")) { case 1: mes "[World Tree World Tree Yggdrasil]"; @@ -1713,12 +1588,13 @@ OnTouch_: 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; + 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 (getpartyleader(getcharid(1),2) == getcharid(0)) { + if (getcharid(0) == getpartyleader(getcharid(1),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]"; @@ -1733,8 +1609,8 @@ OnTouch_: mes "[World Tree Yggdrasil]"; mes "And... Be careful... Be careful of the shadow's power."; set 'ins_nyd2,1; - donpcevent instance_npcname("ins_nyd_1f_timer", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_call_mon_1", instance_id())+"::OnEnable"; + 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."; @@ -1752,8 +1628,7 @@ OnTouch_: mes "And... Be careful... Be careful of the shadow's power."; close; } - } - else if ('ins_nyd2 == 1) { + } 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; @@ -1763,8 +1638,7 @@ OnTouch_: mes "[World Tree Yggdrasil]"; mes "The gate will open soon. Go defeat all of the guardians."; close; - } - else if ('ins_nyd2 == 2) { + } 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; @@ -1772,11 +1646,9 @@ OnTouch_: mes "Use your powers... and destroy the vile Shadow..."; next; mes "[World Tree Yggdrasil]"; - mes "This is.. all I can do for you..."; + mes "This is... all I can do for you..."; close; - - } - else { + } else { mes "[World Tree Yggdrasil]"; mes "Those who want to taint the sacred Sanctuary of the Guardian... Get out."; warp "mid_camp",100,100; @@ -1791,121 +1663,139 @@ OnTouch: close; } end; + +OnInstanceInit: // Temporary fix for @reloadscript. + set 'ins_nyd2,0; + end; } 1@nyd,1,1,0 script nyd_call_mon_1 -1,{ OnInstanceInit: - enablenpc instance_npcname("nyd_call_mon_1", instance_id()); + enablenpc instance_npcname("nyd_call_mon_1"); end; OnEnable: - monster "1@nyd",220,250,"Nidhoggur's Guardian#1",2020,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - monster "1@nyd",220,252,"Nidhoggur's Guardian#2",2020,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - monster "1@nyd",240,270,"Nidhoggur's Guardian#3",2020,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - monster "1@nyd",240,272,"Nidhoggur's Guardian#4",2020,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - monster "1@nyd",200,200,"Nidhoggur's Guardian#5",2020,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - monster "1@nyd",210,210,"Nidhoggur's Guardian#6",2020,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - monster "1@nyd",225,265,"Nidhoggur's Guardian#7",2021,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - monster "1@nyd",225,270,"Nidhoggur's Guardian#8",2021,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - monster "1@nyd",245,235,"Nidhoggur's Guardian#9",2021,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - monster "1@nyd",255,255,"Nidhoggur's Guardian#10",2021,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - monster "1@nyd",225,245,"Nidhoggur's Guardian#11",2021,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - monster "1@nyd",230,280,"Nidhoggur's Guardian#12",2021,1,instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - instance_announce -1, "Nidhoggur's Guardian : Protect the Guardian's Sanctuary. Get rid of the intruders.",bc_map,"0x00ff99"; + set .@map$, instance_mapname("1@nyd"); + monster .@map$,220,250,"Nidhoggur's Guardian#1",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + monster .@map$,220,252,"Nidhoggur's Guardian#2",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + monster .@map$,240,270,"Nidhoggur's Guardian#3",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + monster .@map$,240,272,"Nidhoggur's Guardian#4",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + monster .@map$,200,200,"Nidhoggur's Guardian#5",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + monster .@map$,210,210,"Nidhoggur's Guardian#6",2020,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + monster .@map$,225,265,"Nidhoggur's Guardian#7",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + monster .@map$,225,270,"Nidhoggur's Guardian#8",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + monster .@map$,245,235,"Nidhoggur's Guardian#9",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + monster .@map$,255,255,"Nidhoggur's Guardian#10",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + monster .@map$,225,245,"Nidhoggur's Guardian#11",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + monster .@map$,230,280,"Nidhoggur's Guardian#12",2021,1,instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + mapannounce .@map$, "Nidhoggur's Guardian : Protect the Guardian's Sanctuary. Get rid of the intruders.",bc_map,"0x00ff99"; end; OnDisable: - killmonster "1@nyd",instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"; - disablenpc instance_npcname("nyd_call_mon_1", instance_id()); + killmonster instance_mapname("1@nyd"),instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"; + disablenpc instance_npcname("nyd_call_mon_1"); end; OnMyMobDead: - set .@mob_dead_num,mobcount("1@nyd", instance_npcname("nyd_call_mon_1", instance_id())+"::OnMyMobDead"); + set .@map$, instance_mapname("1@nyd"); + set .@mob_dead_num,mobcount(.@map$, instance_npcname("nyd_call_mon_1")+"::OnMyMobDead"); if (.@mob_dead_num < 1) { - instance_announce -1, "All of Nidhoggur's Guardians have been defeated!",bc_map,"0x00ff99"; - donpcevent instance_npcname("ins_nyd_1f_timer", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_to2f_warp", instance_id())+"::OnEnable"; + mapannounce .@map$, "All of Nidhoggur's Guardians have been defeated!",bc_map,"0x00ff99"; + donpcevent instance_npcname("ins_nyd_1f_timer")+"::OnDisable"; + donpcevent instance_npcname("nyd_to2f_warp")+"::OnEnable"; set 'ins_nyd2,2; } end; } 1@nyd,1,2,0 script ins_nyd_1f_timer -1,{ - OnInstanceInit: - disablenpc instance_npcname("ins_nyd_1f_timer", instance_id()); + disablenpc instance_npcname("ins_nyd_1f_timer"); end; OnEnable: - enablenpc instance_npcname("ins_nyd_1f_timer", instance_id()); + enablenpc instance_npcname("ins_nyd_1f_timer"); initnpctimer; end; OnDisable: - disablenpc instance_npcname("ins_nyd_1f_timer", instance_id()); + disablenpc instance_npcname("ins_nyd_1f_timer"); stopnpctimer; - killmonsterall "1@nyd"; + killmonsterall instance_mapname("1@nyd"); end; OnTimer900000: - instance_announce -1, "World Tree Yggdrasil : There's not much time left. Please hurry.",bc_map,"0xFFFF00"; + mapannounce instance_mapname("1@nyd"), "World Tree Yggdrasil : There's not much time left. Please hurry.",bc_map,"0xFFFF00"; end; OnTimer1200000: - instance_announce -1, "World Tree Yggdrasil : My powers are slowly disappearing. Please hurry.",bc_map,"0xFFFF00"; + mapannounce instance_mapname("1@nyd"), "World Tree Yggdrasil : My powers are slowly disappearing. Please hurry.",bc_map,"0xFFFF00"; end; OnTimer1500000: - instance_announce -1, "World Tree Yggdrasil : I'm... almost at my limit... please hurry up." ,bc_map,"0xFFFF00"; + mapannounce instance_mapname("1@nyd"), "World Tree Yggdrasil : I'm... almost at my limit... please hurry up.",bc_map,"0xFFFF00"; end; OnTimer1800000: - instance_announce -1, "World Tree Yggdrasil : You've failed... but I will use what power I have left... to send you out of here.",bc_map,"0xFFFF00"; + mapannounce instance_mapname("1@nyd"), "World Tree Yggdrasil : You've failed... but I will use what power I have left... to send you out of here.",bc_map,"0xFFFF00"; end; OnTimer1830000: - instance_announce -1, "Opening of the Gate has failed.",bc_map,"0xFFFF00"; + mapannounce instance_mapname("1@nyd"), "Opening of the Gate has failed.",bc_map,"0xFFFF00"; end; OnTimer1850000: - donpcevent instance_npcname("ins_nyd_1f_timer", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_call_mon_1", instance_id())+"::OnDisable"; + 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 45,5,5,{ - OnInstanceInit: - disablenpc instance_npcname("nyd_to2f_warp", instance_id()); +OnDisable: + disablenpc instance_npcname("nyd_to2f_warp"); end; OnEnable: - enablenpc instance_npcname("nyd_to2f_warp", instance_id()); - end; - -OnDisable: - disablenpc instance_npcname("nyd_to2f_warp", instance_id()); + enablenpc instance_npcname("nyd_to2f_warp"); end; OnTouch: - warp "2@nyd",200,10; + set 'ins_nyd2,3; + warp instance_mapname("2@nyd"),200,10; end; } 1@nyd,1,1,0 script ins_nyd1_spawn_mobs -1,{ OnInstanceInit: - monster "1@nyd",0,0,"Ancient Tree",2019,20; - monster "1@nyd",0,0,"Rhyncho",2020,15; - monster "1@nyd",0,0,"Phylla",2021,15; - monster "1@nyd",0,0,"Aqua Elemental",2016,15; - monster "1@nyd",0,0,"Dark Pinguicula",2015,15; - monster "1@nyd",0,0,"Ancient Tree",2019,20; - monster "1@nyd",0,0,"Rhyncho",2020,15; - monster "1@nyd",0,0,"Phylla",2021,15; - monster "1@nyd",0,0,"Aqua Elemental",2016,15; - monster "1@nyd",0,0,"Dark Pinguicula",2015,15; + set .@map$, instance_mapname("1@nyd"); + monster .@map$,0,0,"Ancient Tree",2019,40,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyTreeDead"; + monster .@map$,0,0,"Rhyncho",2020,30,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyRhynDead"; + monster .@map$,0,0,"Phylla",2021,30,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPhyDead"; + monster .@map$,0,0,"Aqua Elemental",2016,30,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyAquaDead"; + monster .@map$,0,0,"Dark Pinguicula",2015,30,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPingDead"; + end; + +OnMyTreeDead: + monster instance_mapname("1@nyd"),0,0,"Ancient Tree",2019,1,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyTreeDead"; + end; + +OnMyRhynDead: + monster instance_mapname("1@nyd"),0,0,"Rhyncho",2020,1,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyRhynDead"; + end; + +OnMyPhyDead: + monster instance_mapname("1@nyd"),0,0,"Phylla",2021,1,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPhyDead"; + end; + +OnMyAquaDead: + monster instance_mapname("1@nyd"),0,0,"Aqua Elemental",2016,1,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyAquaDead"; + end; + +OnMyPingDead: + monster instance_mapname("1@nyd"),0,0,"Dark Pinguicula",2015,1,instance_npcname("ins_nyd1_spawn_mobs")+"::OnMyPingDead"; end; } @@ -1913,41 +1803,35 @@ OnInstanceInit: //============================================================ 2@nyd,200,14,0 script nyd_2f_enter -1,6,6,{ OnTouch_: - donpcevent instance_npcname("nyd_2f_enter_broad", instance_id())+"::OnEnable"; - disablenpc instance_npcname("nyd_2f_enter", instance_id()); + 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 -1,{ OnInstanceInit: - disablenpc instance_npcname("nyd_2f_enter_broad", instance_id()); +OnDisable: + disablenpc instance_npcname("nyd_2f_enter_broad"); end; OnEnable: - enablenpc instance_npcname("nyd_2f_enter_broad", instance_id()); + enablenpc instance_npcname("nyd_2f_enter_broad"); initnpctimer; end; -OnDisable: - disablenpc instance_npcname("nyd_2f_enter_broad", instance_id()); - end; - OnTimer12000: - instance_announce -1, "Nidhoggur's Shadow : No more...I can't stand this anymore...",bc_map,"0xFFFF00"; + mapannounce instance_mapname("2@nyd"), "Nidhoggur's Shadow : No more... I can't stand this anymore...",bc_map,"0xFFFF00"; end; OnTimer15000: - instance_announce -1, "Nidhoggur's Shadow : I need...I need the World Tree Yggdrasil's powers...",bc_map,"0xFFFF00"; + mapannounce instance_mapname("2@nyd"), "Nidhoggur's Shadow : I need... I need the World Tree Yggdrasil's powers...",bc_map,"0xFFFF00"; end; OnTimer18000: - instance_announce -1, "Nidhoggur's Shadow : Destroy...everything...",bc_map,"0xFFFF00"; - end; - /* + mapannounce instance_mapname("2@nyd"), "Nidhoggur's Shadow : Destroy... everything...",bc_map,"0xFFFF00"; stopnpctimer; - disablenpc instance_npcname("nyd_2f_enter_broad", instance_id()); + disablenpc instance_npcname("nyd_2f_enter_broad"); end; - */ } 2@nyd,199,178,0 script nyd_2f_ddr_control -1,6,6,{ @@ -1957,19 +1841,15 @@ OnTouch: next; mes "The strange power slowly surrounds your body, the dimension is starting to shift."; close2; - warp "2@nyd",199,255; + warp instance_mapname("2@nyd"),199,255; end; } 2@nyd,199,268,0 script nyd_2f_boss_enter -1,8,8,{ -OnInstanceInit: - enablenpc instance_npcname("nyd_2f_boss_enter", instance_id()); - end; - OnTouch_: - if (getpartyleader(getcharid(1),2) == getcharid(0)) { - donpcevent instance_npcname("nyd_2f_boss_enter_call", instance_id())+"::OnEnable"; - disablenpc instance_npcname("nyd_2f_boss_enter", instance_id()); + if (getcharid(0) == getpartyleader(getcharid(1),2)) { + donpcevent instance_npcname("nyd_2f_boss_enter_call")+"::OnEnable"; + disablenpc instance_npcname("nyd_2f_boss_enter"); end; } end; @@ -1977,84 +1857,83 @@ OnTouch_: 2@nyd,2,2,0 script nyd_2f_boss_enter_call -1,{ OnInstanceInit: - disablenpc instance_npcname("nyd_2f_boss_enter_call", instance_id()); + disablenpc instance_npcname("nyd_2f_boss_enter_call"); end; OnEnable: - enablenpc instance_npcname("nyd_2f_boss_enter_call", instance_id()); - monster "2@nyd",199,327,"Nidhoggur's Shadow#",2022,1,instance_npcname("nyd_2f_boss_enter_call", instance_id())+"::OnMyMobDead"; - instance_announce -1, "Nidhoggur's Shadow : I will devour all of you...you and the World Tree Yggdrasil.",bc_map,"0x00ff99"; - //donpcevent instance_npcname("nyd_2f_boss_enter_call", instance_id())+"::Ongo"; + enablenpc instance_npcname("nyd_2f_boss_enter_call"); + set .@map$, instance_mapname("2@nyd"); + monster .@map$,199,327,"Nidhoggur's Shadow",2022,1,instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead"; + mapannounce .@map$, "Nidhoggur's Shadow : I will devour all of you... you and the World Tree Yggdrasil.",bc_map,"0x00ff99"; + //donpcevent instance_npcname("nyd_2f_boss_enter_call")+"::Ongo"; initnpctimer; end; OnDisable: - disablenpc instance_npcname("nyd_2f_boss_enter_call", instance_id()); - killmonster "2@nyd",instance_npcname("nyd_2f_boss_enter_call", instance_id())+"::OnMyMobDead"; + killmonster instance_mapname("2@nyd"),instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead"; + disablenpc instance_npcname("nyd_2f_boss_enter_call"); end; OnTimer180000: - set .@rullet,rand(1,4); - if (.@rullet == 1) { - instance_announce -1, "Nidhoggur's Shadow : In this chaos... your blood is just what I need.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,278; + stopnpctimer; +OnWarpColor: + set .@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,"0xFFFF00"; + donpcevent instance_npcname("nyd_2f_white")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_yellow")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_green")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_red")+"::OnEnable"; + instance_warpall .@map$,115,278; end; - } - else if (.@rullet == 2) { - instance_announce -1, "Nidhoggur's Shadow : I will freeze every last drop of your blood.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,373; + case 2: + mapannounce .@map$, "Nidhoggur's Shadow : I will freeze every last drop of your blood.",bc_map,"0xFFFF00"; + donpcevent instance_npcname("nyd_2f_red")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_yellow")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_green")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_white")+"::OnEnable"; + instance_warpall .@map$,115,373; end; - } - else if (.@rullet == 3) { - instance_announce -1, "Nidhoggur's Shadow : Sleep for eternity in an empty illusion.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,278; + case 3: + mapannounce .@map$, "Nidhoggur's Shadow : Sleep for eternity in an empty illusion.",bc_map,"0xFFFF00"; + donpcevent instance_npcname("nyd_2f_red")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_white")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_green")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_yellow")+"::OnEnable"; + instance_warpall .@map$,284,278; end; - } - else if (.@rullet == 4) { - instance_announce -1, "Nidhoggur's Shadow : I'll let you enjoy the pain of dying slowly.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,374; + case 4: + mapannounce .@map$, "Nidhoggur's Shadow : I'll let you enjoy the pain of dying slowly.",bc_map,"0xFFFF00"; + donpcevent instance_npcname("nyd_2f_red")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_white")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_yellow")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_green")+"::OnEnable"; + instance_warpall .@map$,284,374; end; } - stopnpctimer; end; OnMyMobDead: - set .@mob_dead_num,mobcount("2@nyd",instance_npcname("nyd_2f_boss_enter_call", instance_id())+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - instance_announce -1, "Nidhoggur's Shadow : World Tree Yggdrasil's guardian... his powers are disappearing...",bc_map,"0x00ff99"; - donpcevent instance_npcname("World Tree Yggdrasil#2F", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_boss_enter_call", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_boss_enter_logic", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_red_c", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white_c", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green_c", instance_id())+"::OnDisable"; + set .@map$, instance_mapname("2@nyd"); + if (mobcount(.@map$,instance_npcname("nyd_2f_boss_enter_call")+"::OnMyMobDead") < 1) { + mapannounce .@map$, "Nidhoggur's Shadow : World Tree Yggdrasil's guardian... his powers are disappearing...",bc_map,"0x00ff99"; + donpcevent instance_npcname("World Tree Yggdrasil#2F")+"::OnEnable"; + donpcevent instance_npcname("nyd_2f_boss_enter_call")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_boss_enter_logic")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_red_c")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_white_c")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_yellow_c")+"::OnDisable"; + donpcevent instance_npcname("nyd_2f_green_c")+"::OnDisable"; + set 'ins_nyd2,4; end; } - else { - end; - } + end; } 2@nyd,2,4,0 script nyd_2f_boss_enter_logic -1,{ OnInstanceInit: - disablenpc instance_npcname("nyd_2f_boss_enter_logic", instance_id()); + disablenpc instance_npcname("nyd_2f_boss_enter_logic"); end; OnEnable: @@ -2064,48 +1943,12 @@ OnEnable: OnDisable: stopnpctimer; - disablenpc instance_npcname("nyd_2f_boss_enter_logic", instance_id()); + disablenpc instance_npcname("nyd_2f_boss_enter_logic"); end; OnTimer180000: - set .@rullet,rand(1,4); - if (.@rullet == 1) { - instance_announce -1, "Nidhoggur's Shadow : In this chaos... your blood is just what I need.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,278; - end; - } - else if (.@rullet == 2) { - instance_announce -1, "Nidhoggur's Shadow : I will freeze every last drop of your blood.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,373; - end; - } - else if (.@rullet == 3) { - instance_announce -1, "Nidhoggur's Shadow : Sleep for eternity in an empty illusion.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,278; - end; - } - else if (.@rullet == 4) { - instance_announce -1, "Nidhoggur's Shadow : I'll let you enjoy the pain of dying slowly.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,374; - end; - } stopnpctimer; + donpcevent instance_npcname("nyd_2f_boss_enter_call")+"::OnWarpColor"; end; } @@ -2145,684 +1988,298 @@ OnTimer180000: } OnInstanceInit: - disablenpc instance_npcname("World Tree Yggdrasil#2F", instance_id()); +OnDisable: + disablenpc instance_npcname("World Tree Yggdrasil#2F"); end; OnEnable: - enablenpc instance_npcname("World Tree Yggdrasil#2F", instance_id()); - instance_announce -1, "World Tree Yggdrasil : You did good. Have everyone go to the Magic Circle in the middle, and get ready for the destruction of the nest.",bc_map,"0x00ff99"; - end; - -OnDisable: - disablenpc instance_npcname("World Tree Yggdrasil#2F", instance_id()); + enablenpc instance_npcname("World Tree Yggdrasil#2F"); + mapannounce instance_mapname("2@nyd"), "World Tree Yggdrasil : You did good. Have everyone go to the Magic Circle in the middle, and get ready for the destruction of the nest.",bc_map,"0x00ff99"; end; } 2@nyd,115,278,0 script nyd_2f_red -1,5,5,{ OnInstanceInit: - disablenpc instance_npcname("nyd_2f_red", instance_id()); + disablenpc instance_npcname(strnpcinfo(0)); end; OnEnable: - enablenpc instance_npcname("nyd_2f_red", instance_id()); - donpcevent instance_npcname("nyd_2f_red_warp1", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_red_warp2", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_red_warp3", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_red_c", instance_id())+"::OnEnable"; + enablenpc instance_npcname(strnpcinfo(0)); + donpcevent instance_npcname(strnpcinfo(0)+"_warp1")+"::OnEnable"; + donpcevent instance_npcname(strnpcinfo(0)+"_warp2")+"::OnEnable"; + donpcevent instance_npcname(strnpcinfo(0)+"_warp3")+"::OnEnable"; + donpcevent instance_npcname(strnpcinfo(0)+"_c")+"::OnEnable"; initnpctimer; end; OnDisable: - donpcevent instance_npcname("nyd_2f_red_warp1", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_red_warp2", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_red_warp3", instance_id())+"::OnDisable"; - disablenpc instance_npcname("nyd_2f_red", instance_id()); + donpcevent instance_npcname(strnpcinfo(0)+"_warp1")+"::OnDisable"; + donpcevent instance_npcname(strnpcinfo(0)+"_warp2")+"::OnDisable"; + donpcevent instance_npcname(strnpcinfo(0)+"_warp3")+"::OnDisable"; + disablenpc instance_npcname(strnpcinfo(0)); end; OnTouch: - percentheal -50,0; - percentheal -30,0; - sc_start SC_BLOODING,60000,0; + if (compare(strnpcinfo(0),"red")) { + percentheal -50,0; + percentheal -30,0; + sc_start SC_BLEEDING,60000,0; + } else if (compare(strnpcinfo(0),"white")) { + percentheal -50,0; + sc_start SC_FREEZE,20000,0; + } else if (compare(strnpcinfo(0),"yellow")) { + percentheal 0,-50; + sc_start SC_SLEEP,20000,0; + sc_start SC_CONFUSION,60000,0; + } else if (compare(strnpcinfo(0),"green")) { + percentheal -50,-50; + sc_start SC_POISON,60000,0; + } end; OnTimer10000: - disablenpc instance_npcname("nyd_2f_red", instance_id()); + disablenpc instance_npcname(strnpcinfo(0)); stopnpctimer; end; } 2@nyd,6,6,0 script nyd_2f_red_c -1,{ OnInstanceInit: - disablenpc instance_npcname("nyd_2f_red_c", instance_id()); + disablenpc instance_npcname(strnpcinfo(0)); end; OnEnable: - enablenpc instance_npcname("nyd_2f_red_c", instance_id()); + enablenpc instance_npcname(strnpcinfo(0)); initnpctimer; - monster "2@nyd",120,285,"Nidhoggur's Guardian#1",2020,1,instance_npcname("nyd_2f_red_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",119,286,"Nidhoggur's Guardian#2",2020,1,instance_npcname("nyd_2f_red_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",120,270,"Nidhoggur's Guardian#3",2020,1,instance_npcname("nyd_2f_red_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",119,269,"Nidhoggur's Guardian#4",2021,1,instance_npcname("nyd_2f_red_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",118,270,"Nidhoggur's Guardian#5",2021,1,instance_npcname("nyd_2f_red_c", instance_id())+"::OnMyMobDead"; - end; - -OnMyMobDead: - set .@mob_dead_num,mobcount("2@nyd",instance_npcname("nyd_2f_red_c", instance_id())+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - instance_announce -1, "Nidhoggur's Shadow : You're not bad... but I will be your opponent this time.",bc_map,"0x00ff99"; - donpcevent instance_npcname("nyd_2f_red_c", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_boss_enter_logic", instance_id())+"::OnEnable"; - end; + set .@map$, instance_mapname("2@nyd"); + set .@label$, instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; + if (compare(strnpcinfo(0),"red")) { + monster .@map$,120,285,"Nidhoggur's Guardian#1",2020,1,.@label$; + monster .@map$,119,286,"Nidhoggur's Guardian#2",2020,1,.@label$; + monster .@map$,120,270,"Nidhoggur's Guardian#3",2020,1,.@label$; + monster .@map$,119,269,"Nidhoggur's Guardian#4",2021,1,.@label$; + monster .@map$,118,270,"Nidhoggur's Guardian#5",2021,1,.@label$; + } else if (compare(strnpcinfo(0),"white")) { + monster .@map$,120,380,"Nidhoggur's Guardian#1",2020,1,.@label$; + monster .@map$,119,381,"Nidhoggur's Guardian#2",2020,1,.@label$; + monster .@map$,120,367,"Nidhoggur's Guardian#3",2020,1,.@label$; + monster .@map$,119,366,"Nidhoggur's Guardian#4",2021,1,.@label$; + monster .@map$,118,365,"Nidhoggur's Guardian#5",2021,1,.@label$; + } else if (compare(strnpcinfo(0),"yellow")) { + monster .@map$,282,284,"Nidhoggur's Guardian#1",2020,1,.@label$; + monster .@map$,283,283,"Nidhoggur's Guardian#2",2020,1,.@label$; + monster .@map$,280,275,"Nidhoggur's Guardian#3",2020,1,.@label$; + monster .@map$,281,276,"Nidhoggur's Guardian#4",2021,1,.@label$; + monster .@map$,281,277,"Nidhoggur's Guardian#5",2021,1,.@label$; + } else if (compare(strnpcinfo(0),"green")) { + monster .@map$,282,378,"Nidhoggur's Guardian#1",2020,1,.@label$; + monster .@map$,283,377,"Nidhoggur's Guardian#2",2020,1,.@label$; + monster .@map$,280,368,"Nidhoggur's Guardian#3",2020,1,.@label$; + monster .@map$,281,368,"Nidhoggur's Guardian#4",2021,1,.@label$; + monster .@map$,281,367,"Nidhoggur's Guardian#5",2021,1,.@label$; } end; -OnDisable: - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - disablenpc instance_npcname("nyd_2f_red_c", instance_id()); - stopnpctimer; - end; - -OnTimer180000: - killmonster "2@nyd",instance_npcname("nyd_2f_red_c", instance_id())+"::OnMyMobDead";; - stopnpctimer; - set .@rullet,rand(1,4); - if (.@rullet == 1) { - instance_announce -1, "Nidhoggur's Shadow : In this chaos... your blood is just what I need.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,278; - end; - } - else if (.@rullet == 2) { - instance_announce -1, "Nidhoggur's Shadow : I will freeze every last drop of your blood.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,373; - end; - } - else if (.@rullet == 3) { - instance_announce -1, "Nidhoggur's Shadow : Sleep for eternity in an empty illusion.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,278; - end; - } - else if (.@rullet == 4) { - instance_announce -1, "Nidhoggur's Shadow : I'll let you enjoy the pain of dying slowly.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,374; +OnMyMobDead: + set .@map$, instance_mapname("2@nyd"); + if (mobcount(.@map$,instance_npcname(strnpcinfo(0))+"::OnMyMobDead") < 1) { + mapannounce .@map$, "Nidhoggur's Shadow : You're not bad... but I will be your opponent this time.",bc_map,"0x00ff99"; + donpcevent instance_npcname("nyd_2f_boss_enter_logic")+"::OnEnable"; + donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable"; end; } end; -} -2@nyd,130,298,0 script nyd_2f_red_warp1 -1,6,6,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_red_warp1", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_red_warp1", instance_id()); - end; - -OnDisable: - disablenpc instance_npcname("nyd_2f_red_warp1", instance_id()); - end; - -OnTouch: - warp "2@nyd",115,278; - end; -} - -2@nyd,142,296,0 script nyd_2f_red_warp2 -1,6,6,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_red_warp2", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_red_warp2", instance_id()); +/* +OnReset: // Label not called. + killmonster instance_mapname("2@nyd"),instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; + donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable"; end; +*/ OnDisable: - disablenpc instance_npcname("nyd_2f_red_warp2", instance_id()); - end; - -OnTouch: - warp "2@nyd",115,278; - end; -} - -2@nyd,145,283,0 script nyd_2f_red_warp3 -1,6,6,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_red_warp3", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_red_warp3", instance_id()); - end; - -OnDisable: - disablenpc instance_npcname("nyd_2f_red_warp3", instance_id()); - end; - -OnTouch: - warp "2@nyd",115,278; - end; -} - -2@nyd,115,373,0 script nyd_2f_white -1,5,5,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_white", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_white", instance_id()); - donpcevent instance_npcname("nyd_2f_white_warp1", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_white_warp2", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_white_warp3", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_white_c", instance_id())+"::OnEnable"; - initnpctimer; - end; - -OnDisable: - donpcevent instance_npcname("nyd_2f_white_warp1", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white_warp2", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white_warp3", instance_id())+"::OnDisable"; - disablenpc instance_npcname("nyd_2f_white", instance_id()); - end; - -OnTouch: - percentheal -50,0; - sc_start SC_FREEZE,20000,0; - end; - -OnTimer10000: - disablenpc instance_npcname("nyd_2f_white", instance_id()); - stopnpctimer; - end; -} - -2@nyd,6,7,0 script nyd_2f_white_c -1,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_white_c", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_white_c", instance_id()); - initnpctimer; - monster "2@nyd",120,380,"Nidhoggur's Guardian#1",2020,1,instance_npcname("nyd_2f_white_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",119,381,"Nidhoggur's Guardian#2",2020,1,instance_npcname("nyd_2f_white_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",120,367,"Nidhoggur's Guardian#3",2020,1,instance_npcname("nyd_2f_white_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",119,366,"Nidhoggur's Guardian#4",2021,1,instance_npcname("nyd_2f_white_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",118,365,"Nidhoggur's Guardian#5",2021,1,instance_npcname("nyd_2f_white_c", instance_id())+"::OnMyMobDead"; - end; - -OnMyMobDead: - set .@mob_dead_num,mobcount("2@nyd",instance_npcname("nyd_2f_white_c", instance_id())+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - instance_announce -1, "Nidhoggur's Shadow : You're not bad... but I will be your opponent this time.",bc_map,"0x00ff99"; - donpcevent instance_npcname("nyd_2f_white_c", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_boss_enter_logic", instance_id())+"::OnEnable"; - end; - } - end; - -OnDisable: - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - disablenpc instance_npcname("nyd_2f_white_c", instance_id()); stopnpctimer; + killmonster instance_mapname("2@nyd"),instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; //custom + donpcevent instance_npcname(substr(strnpcinfo(0),0,getstrlen(strnpcinfo(0))-3))+"::OnDisable"; + disablenpc instance_npcname(strnpcinfo(0)); end; OnTimer180000: - killmonster "2@nyd",instance_npcname("nyd_2f_white_c", instance_id())+"::OnMyMobDead"; + killmonster instance_mapname("2@nyd"),instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; stopnpctimer; - set .@rullet,rand(1,4); - if (.@rullet == 1) { - instance_announce -1, "Nidhoggur's Shadow : In this chaos... your blood is just what I need.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,278; - end; - } - else if (.@rullet == 2) { - instance_announce -1, "Nidhoggur's Shadow : I will freeze every last drop of your blood.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,373; - end; - } - else if (.@rullet == 3) { - instance_announce -1, "Nidhoggur's Shadow : Sleep for eternity in an empty illusion.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,278; - end; - } - else if (.@rullet == 4) { - instance_announce -1, "Nidhoggur's Shadow : I'll let you enjoy the pain of dying slowly.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,374; - end; - } + donpcevent instance_npcname("nyd_2f_boss_enter_call")+"::OnWarpColor"; end; } -2@nyd,127,354,0 script nyd_2f_white_warp1 -1,6,6,{ +2@nyd,130,298,0 script nyd_2f_red_warp1 -1,6,6,{ OnInstanceInit: - disablenpc instance_npcname("nyd_2f_white_warp1", instance_id());; - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_white_warp1", instance_id());; - end; - OnDisable: - disablenpc instance_npcname("nyd_2f_white_warp1", instance_id());; - end; - -OnTouch: - warp "2@nyd",115,373; - end; -} - -2@nyd,140,357,0 script nyd_2f_white_warp2 -1,6,6,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_white_warp2", instance_id());; + disablenpc instance_npcname(strnpcinfo(0)); end; OnEnable: - enablenpc instance_npcname("nyd_2f_white_warp2", instance_id());; - end; - -OnDisable: - disablenpc instance_npcname("nyd_2f_white_warp2", instance_id());; + enablenpc instance_npcname(strnpcinfo(0)); end; OnTouch: - warp "2@nyd",115,373; + if (compare(strnpcinfo(0),"red")) + warp instance_mapname("2@nyd"),115,278; + else if (compare(strnpcinfo(0),"white")) + warp instance_mapname("2@nyd"),115,373; + else if (compare(strnpcinfo(0),"yellow")) + warp instance_mapname("2@nyd"),284,278; + else if (compare(strnpcinfo(0),"green")) + warp instance_mapname("2@nyd"),284,374; end; } +2@nyd,142,296,0 duplicate(nyd_2f_red_warp1) nyd_2f_red_warp2 -1,6,6 +2@nyd,145,283,0 duplicate(nyd_2f_red_warp1) nyd_2f_red_warp3 -1,6,6 + +2@nyd,115,373,0 duplicate(nyd_2f_red) nyd_2f_white -1,5,5 +2@nyd,6,7,0 duplicate(nyd_2f_red_c) nyd_2f_white_c -1 +2@nyd,127,354,0 duplicate(nyd_2f_red_warp1) nyd_2f_white_warp1 -1,6,6, +2@nyd,140,357,0 duplicate(nyd_2f_red_warp1) nyd_2f_white_warp2 -1,6,6 +2@nyd,145,367,0 duplicate(nyd_2f_red_warp1) nyd_2f_white_warp3 -1,6,6 + +2@nyd,284,278,0 duplicate(nyd_2f_red) nyd_2f_yellow -1,5,5 +2@nyd,6,8,0 duplicate(nyd_2f_red_c) nyd_2f_yellow_c -1 +2@nyd,255,285,0 duplicate(nyd_2f_red_warp1) nyd_2f_yellow_warp1 -1,6,6 +2@nyd,257,296,0 duplicate(nyd_2f_red_warp1) nyd_2f_yellow_warp2 -1,6,6 +2@nyd,268,300,0 duplicate(nyd_2f_red_warp1) nyd_2f_yellow_warp3 -1,6,6 + +2@nyd,284,374,0 duplicate(nyd_2f_red) nyd_2f_green -1,5,5 +2@nyd,6,9,0 duplicate(nyd_2f_red_c) nyd_2f_green_c -1 +2@nyd,274,356,0 duplicate(nyd_2f_red_warp1) nyd_2f_green_warp1 -1,6,6 +2@nyd,260,356,0 duplicate(nyd_2f_red_warp1) nyd_2f_green_warp2 -1,6,6 +2@nyd,258,368,0 duplicate(nyd_2f_red_warp1) nyd_2f_green_warp3 -1,6,6 -2@nyd,145,367,0 script nyd_2f_white_warp3 -1,6,6,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_white_warp3", instance_id());; - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_white_warp3", instance_id());; - end; - -OnDisable: - disablenpc instance_npcname("nyd_2f_white_warp3", instance_id());; - end; - -OnTouch: - warp "2@nyd",115,373; - end; -} - -2@nyd,284,278,0 script nyd_2f_yellow -1,5,5,{ +2@nyd,1,1,0 script ins_nyd2_spawn_mobs -1,{ OnInstanceInit: - disablenpc instance_npcname("nyd_2f_yellow", instance_id()); + set .@map$, instance_mapname("2@nyd"); + areamonster .@map$,200,92,180,80,"Rhyncho",2020,40,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyRhynDead"; + areamonster .@map$,200,92,180,80,"Phylla",2021,40,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPhyDead"; + areamonster .@map$,200,92,180,80,"Dark Shadow",2023,40,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyDarkshaDead"; + areamonster .@map$,200,92,180,80,"Dark Pinguicula",2015,40,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPingDead"; end; -OnEnable: - enablenpc instance_npcname("nyd_2f_yellow", instance_id()); - donpcevent instance_npcname("nyd_2f_yellow_warp1", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_yellow_warp2", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_yellow_warp3", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnEnable"; - initnpctimer; +OnMyRhynDead: + areamonster instance_mapname("2@nyd"),200,92,180,80,"Rhyncho",2020,1,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyRhynDead"; end; -OnDisable: - donpcevent instance_npcname("nyd_2f_yellow_warp1", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow_warp2", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow_warp3", instance_id())+"::OnDisable"; - disablenpc instance_npcname("nyd_2f_yellow", instance_id()); +OnMyPhyDead: + areamonster instance_mapname("2@nyd"),200,92,180,80,"Phylla",2021,1,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPhyDead"; end; -OnTouch: - percentheal 0,-50; - sc_start SC_SLEEP,20000,0; - sc_start SC_CONFUSION,60000,0; +OnMyDarkshaDead: + areamonster instance_mapname("2@nyd"),200,92,180,80,"Dark Shadow",2023,1,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyDarkshaDead"; end; -OnTimer10000: - disablenpc instance_npcname("nyd_2f_yellow", instance_id()); - stopnpctimer; +OnMyPingDead: + areamonster instance_mapname("2@nyd"),200,92,180,80,"Dark Pinguicula",2015,1,instance_npcname("ins_nyd2_spawn_mobs")+"::OnMyPingDead"; end; } -2@nyd,6,8,0 script nyd_2f_yellow_c -1,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_yellow_c", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_yellow_c", instance_id()); - initnpctimer; - monster "2@nyd",282,284,"Nidhoggur's Guardian#1",2020,1,instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",283,283,"Nidhoggur's Guardian#2",2020,1,instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",280,275,"Nidhoggur's Guardian#3",2020,1,instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",281,276,"Nidhoggur's Guardian#4",2021,1,instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",281,277,"Nidhoggur's Guardian#5",2021,1,instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnMyMobDead"; - end; - -OnMyMobDead: - set .@mob_dead_num,mobcount("2@nyd",instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - instance_announce -1, "Nidhoggur's Shadow : You're not bad...but I will be your opponent this time.",bc_map,"0x00ff99"; - donpcevent instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_boss_enter_logic", instance_id())+"::OnEnable"; - end; +// GM Management NPCs +//============================================================ +sec_in02,36,167,3 script Nidhoggur Manager 447,1,1,{ + callfunc "F_GM_NPC"; + mes "Enter the password."; + next; + if (callfunc("F_GM_NPC","1854",1) == 0) { + mes "Incorrect password."; + close; } - else { - end; + 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: + set ins_nyd,200; + set 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: set .@var$,"ins_nyd"; break; + case 2: set .@var$,"ins_nyd2"; break; + } + mes "Input the variable number"; + next; + input .@input; + setd .@var$, .@input; + mes .@var$+" has been set to "+.@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: + mes "ins_nyd is at "+ins_nyd+"."; + mes "ins_nyd2 is at "+ins_nyd2+"."; + close; } +} -Onreset: - killmonster "2@nyd",instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnMyMobDead"; - donpcevent instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnDisable"; - end; - -OnDisable: - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - disablenpc instance_npcname("nyd_2f_yellow_c", instance_id()); - stopnpctimer; - end; - -OnTimer180000: - killmonster "2@nyd",instance_npcname("nyd_2f_yellow_c", instance_id())+"::OnMyMobDead"; - stopnpctimer; - set .@rullet,rand(1,4); - if (.@rullet == 1) { - instance_announce -1, "Nidhoggur's Shadow : In this chaos... your blood is just what I need.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,278; - end; - } - else if (.@rullet == 2) { - instance_announce -1, "Nidhoggur's Shadow : I will freeze every last drop of your blood.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,373; - end; - } - else if (.@rullet == 3) { - instance_announce -1, "Nidhoggur's Shadow : Sleep for eternity in an empty illusion.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,278; - end; +nyd_dun02,7,7,2 script Purification Admin#nyd2 844,2,0,{ + callfunc "F_GM_NPC"; + mes "Please enter the password"; + set .@i, callfunc("F_GM_NPC","dragonslayer",1); + next; + if (.@i == 0) { + mes "Enter the password exactly."; + close; } - else if (.@rullet == 4) { - instance_announce -1, "Nidhoggur's Shadow : I'll let you enjoy the pain of dying slowly.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,374; - end; + 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; } - end; -} - -2@nyd,255,285,0 script nyd_2f_yellow_warp1 -1,6,6,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_yellow_warp1", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_yellow_warp1", instance_id()); - end; - -OnDisable: - disablenpc instance_npcname("nyd_2f_yellow_warp1", instance_id()); - end; - -OnTouch: - warp "2@nyd",284,278; - end; -} - -2@nyd,257,296,0 script nyd_2f_yellow_warp2 -1,6,6,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_yellow_warp2", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_yellow_warp2", instance_id()); - end; - -OnDisable: - disablenpc instance_npcname("nyd_2f_yellow_warp2", instance_id()); - end; - -OnTouch: - warp "2@nyd",284,278; - end; } -2@nyd,268,300,0 script nyd_2f_yellow_warp3 -1,6,6,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_yellow_warp3", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_yellow_warp3", instance_id()); - end; - -OnDisable: - disablenpc instance_npcname("nyd_2f_yellow_warp3", instance_id()); - end; - -OnTouch: - warp "2@nyd",284,278; - end; -} - -2@nyd,284,374,0 script nyd_2f_green -1,5,5,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_green", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_green", instance_id()); - donpcevent instance_npcname("nyd_2f_green_warp1", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_green_warp2", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_green_warp3", instance_id())+"::OnEnable"; - donpcevent instance_npcname("nyd_2f_green_c", instance_id())+"::OnEnable"; - initnpctimer; - end; - -OnDisable: - donpcevent instance_npcname("nyd_2f_green_warp1", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green_warp2", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green_warp3", instance_id())+"::OnDisable"; - disablenpc instance_npcname("nyd_2f_green", instance_id()); - end; - -OnTouch: - percentheal -50,-50; - sc_start SC_POISON,60000,0; - end; - -OnTimer10000: - disablenpc instance_npcname("nyd_2f_green", instance_id()); - stopnpctimer; - end; -} - -2@nyd,6,9,0 script nyd_2f_green_c -1,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_green_c", instance_id()); +nyd_dun02,88,195,4 script Purification Stone#nyd2 406,{ + erasequest 3135; + erasequest 3136; + set ins_nyd,200; + set 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: - enablenpc instance_npcname("nyd_2f_green_c", instance_id()); initnpctimer; - monster "2@nyd",282,378,"Nidhoggur's Guardian#1",2020,1,instance_npcname("nyd_2f_green_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",283,377,"Nidhoggur's Guardian#2",2020,1,instance_npcname("nyd_2f_green_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",280,368,"Nidhoggur's Guardian#3",2020,1,instance_npcname("nyd_2f_green_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",281,368,"Nidhoggur's Guardian#4",2021,1,instance_npcname("nyd_2f_green_c", instance_id())+"::OnMyMobDead"; - monster "2@nyd",281,367,"Nidhoggur's Guardian#5",2021,1,instance_npcname("nyd_2f_green_c", instance_id())+"::OnMyMobDead"; - end; - -OnMyMobDead: - set .@mob_dead_num,mobcount("2@nyd",instance_npcname("nyd_2f_green_c", instance_id())+"::OnMyMobDead"); - if (.@mob_dead_num < 1) { - instance_announce -1, "Nidhoggur's Shadow : You're not bad... but I will be your opponent this time.",bc_map,"0x00ff99"; - donpcevent instance_npcname("nyd_2f_green_c", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_boss_enter_logic", instance_id())+"::OnEnable"; - end; - } - else { - end; - } - -Onreset: - killmonster "2@nyd",instance_npcname("nyd_2f_green_c", instance_id())+"::OnMyMobDead"; - donpcevent instance_npcname("nyd_2f_green_c", instance_id())+"::OnDisable"; end; - OnDisable: - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - disablenpc instance_npcname("nyd_2f_green_c", instance_id()); - stopnpctimer; - end; - -OnTimer180000: - killmonster "2@nyd",instance_npcname("nyd_2f_green_c", instance_id())+"::OnMyMobDead"; stopnpctimer; - set .@rullet,rand(1,4); - if (.@rullet == 1) { - instance_announce -1, "Nidhoggur's Shadow : In this chaos... your blood is just what I need.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,278; - end; - } - else if (.@rullet == 2) { - instance_announce -1, "Nidhoggur's Shadow : I will freeze every last drop of your blood.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",115,373; - end; - } - else if (.@rullet == 3) { - instance_announce -1, "Nidhoggur's Shadow : Sleep for eternity in an empty illusion.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,278; - end; - } - else if (.@rullet == 4) { - instance_announce -1, "Nidhoggur's Shadow : I'll let you enjoy the pain of dying slowly.",bc_map,"0xFFFF00"; - donpcevent instance_npcname("nyd_2f_red", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_white", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_yellow", instance_id())+"::OnDisable"; - donpcevent instance_npcname("nyd_2f_green", instance_id())+"::OnEnable"; - instance_warpall "2@nyd",284,374; - end; - } - end; -} - -2@nyd,274,356,0 script nyd_2f_green_warp1 -1,6,6,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_green_warp1", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_green_warp1", instance_id()); + disablenpc "Purification Stone#nyd2"; end; - -OnDisable: - disablenpc instance_npcname("nyd_2f_green_warp1", instance_id()); +OnTimer1000: + enablenpc "Purification Stone#nyd2"; end; - -OnTouch: - warp "2@nyd",284,374; +OnTimer1740000: + mapannounce "nyd_dun02","The Purification Stone will be destroyed in one minute.",bc_map,"0x00FF99",FW_NORMAL,12; end; -} - -2@nyd,260,356,0 script nyd_2f_green_warp2 -1,6,6,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_green_warp2", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_green_warp2", instance_id()); - end; - -OnDisable: - disablenpc instance_npcname("nyd_2f_green_warp2", instance_id()); - end; - -OnTouch: - warp "2@nyd",284,374; - end; -} - -2@nyd,258,368,0 script nyd_2f_green_warp3 -1,6,6,{ -OnInstanceInit: - disablenpc instance_npcname("nyd_2f_green_warp3", instance_id()); - end; - -OnEnable: - enablenpc instance_npcname("nyd_2f_green_warp3", instance_id()); - end; - -OnDisable: - disablenpc instance_npcname("nyd_2f_green_warp3", instance_id()); - end; - -OnTouch: - warp "2@nyd",284,374; - end; -} - -2@nyd,1,1,0 script ins_nyd2_spawn_mobs -1,{ -OnInstanceInit: - areamonster "2@nyd",200,92,180,80,"Rhyncho",2020,20; - areamonster "2@nyd",200,92,180,80,"Phylla",2021,20; - areamonster "2@nyd",200,92,180,80,"Dark Shadow",2023,20; - areamonster "2@nyd",200,92,180,80,"Dark Pinguicula",2015,20; - areamonster "2@nyd",200,92,180,80,"Rhyncho",2020,20; - areamonster "2@nyd",200,92,180,80,"Phylla",2021,20; - areamonster "2@nyd",200,92,180,80,"Dark Shadow",2023,20; - areamonster "2@nyd",200,92,180,80,"Dark Pinguicula",2015,20; +OnTimer1800000: + disablenpc "Purification Stone#nyd2"; end; } -- cgit v1.2.3-60-g2f50