//===== rAthena Script ======================================= //= Central Laboratory //===== Description: ========================================= //= [Official Conversion] //= Central Laboratory Instance //===== Changelogs: ========================================== //= 1.0 First version. [Capuche] //= 1.1 Updated to match official script. [Capuche] //============================================================ verus01,153,155,5 script Temporary Dimension-mov#pa0829_01 PORTAL,{ .@party_id = getcharid(1); if (.@party_id == 0) { mes "[Temporary Dimension-mover]"; mes "Do you not have a companion to join you? Organize your party even if traveling alone."; close; } switch( checkquest(12347,PLAYTIME) ) { case -1: switch( instance_enter("Central Laboratory") ) { case IE_NOMEMBER: case IE_NOINSTANCE: mes "[Temporary Dimension-mover]"; mes "The passage for dimensional moving has not been vitalized."; close; case IE_OTHER: mes "[Temporary Dimension-mov]"; mes "Unknown Error."; close; case IE_OK: mapannounce "verus01", "" + strcharinfo(0) + " of the party, " + getpartyname(.@party_id) + ", is entering Central Laboratory.",bc_map,"0x00FF99"; setquest 12347;// Trace of Laboratory Access end; } end; case 0: case 1: mes "[Temporary Dimension-mover]"; mes "There are remaining traces of the last event. Access denied."; close; case 2: mes "^0000ffUse of Dimension-mover seems possible.^000000"; erasequest 12347;// Trace of Laboratory Access close; } } verus01,149,155,5 script Civilization Explorer#pa0829_01 4_LGTSCIENCE,{ if (BaseLevel < 135) { mes "[Civilization Explorer]"; mes "Well... I don't know if you can come in handy, it seems that there is still a gap!"; next; mes "[Civilization Explorer]"; mes "When you become stronger, come back to me. You should be almost level 135!"; close; } mes "^ff0000Taming monsters will impede progress in this dungeon. Please take note of this.^000000"; next; mes "[Civilization Explorer]"; switch( isbegin_quest(12346) ) { case 0: mes "There are a lot of interesting things about the ancient civilizations in this area."; next; mes "[Civilization Explorer]"; mes "Observing the soil strata it is estimated to be 500 to 600 years old!"; mes "But many of the excavated objects here already far surpass our current technology."; next; mes "[Civilization Explorer]"; mes "A lot of undefined terms are found in the recovered records as well."; next; select("What kind of unknown terms?"); mes "[Civilization Explorer]"; mes "^0000ffMother Computer^000000 or, ^0000ff LSI Chip^000000 Or, and what else. ^0000ffChicken^000000?"; next; mes "[Civilization Explorer]"; mes "Mm that's right. There definitely was the word Chicken. I don't know what kind of combination of technology that may be..."; next; mes "[Civilization Explorer]"; mes "It is referrenced in the records of people who seem to 'root' amongst the many traces of technology."; next; if (select( "It is not a topic I would be interested in.", "Interesting. Have there been any results?" ) == 1) { mes "[Civilization Explorer]"; mes "Unfortunate."; close; } mes "[Civilization Explorer]"; mes "My aim is to research the use of technology related to the relevant times. Even though what I have found out so far is insignificant."; next; mes "[Civilization Explorer]"; mes "If I had it my way I would use the dimension mover to see for myself but there's too much work. Besides I am not an adventurer..."; next; mes "[Civilization Explorer]"; mes "By any chance, would you interested in traveling to the past?"; next; mes "[Civilization Explorer]"; mes "Even better if you show me around if you find an interesting object."; next; if (select( "Not interested.", "Ok." ) == 1) { mes "[Civilization Explorer]"; mes "Unfortunate."; close; } mes "[Civilization Explorer]"; mes "You are an adventurer. Tell me what you decide to do."; if (isbegin_quest(12346) == 0) setquest 12346;// Strange Ancient Science break; case 1: mes "How can I assist you?"; break; case 2: mes "What do you want to do this time?"; break; } next; if (isbegin_quest(12346) == 1) completequest 12346; .@party_id = getcharid(1); if (.@party_id == 0) { mes "[Civilization Explorer]"; mes "Please talk to me after composing a party of 1 or more, or after joining a party."; close; } switch( checkquest(12347,PLAYTIME) ) { case -1: if (is_party_leader() == false) { mes "[Civilization Explorer]"; mes "Ah. You aren't the party leader. Take me to your leader! Or perhaps take your leader to me."; close; } if (select( "Produce a crack of time", "Cancel" ) == 2) close; if (instance_create("Central Laboratory") < 1) { mes "Party: " + getpartyname( getcharid(1) ) + ""; mes "Leader: " + getpartyleader( getcharid(1) ) + ""; mes "^0000ffCentral Laboratory ^000000 - Unknown Error"; close; } mes "[Civilization Explorer]"; mes "When the crack of time opens take a breath and speak again."; close; case 0: case 1: mes "[Civilization Explorer]"; mes "Ah, oh no."; mes "There are some remaining aftereffects of dimensional travel. We cannot travel again in this condition."; close; case 2: mes "^0000ffAll the traces of entering the central laboratory have been erased. Speaking with the Civilization Explorer seems possible.^000000"; erasequest 12347;// Trace of Laboratory Access close; } } // Entrance 1@lab,104,34,4 script Probationary researcher#pa0829 4_LGTSCIENCE,{ if ('switch_enabled == 1) { mes "[Probationary researcher]"; mes "The entrance door is already open."; close; } if (is_party_leader() == false) { mes "[Probationary researcher]"; mes "Please hold. I am speaking with the guide about whether or not you have been authorized."; close; } mes "[Probationary researcher]"; mes "Are you participating as assistants to the experiments of research project 32001?"; next; if (select( "Yes.", "No." ) == 2) { mes "[Probationary researcher]"; mes "It seems you're in the wrong laboratory. Please exit and ask for help."; close; } mes "[Probationary researcher]"; mes "We need about 5 seconds of time. Confirming access code."; close2; sleep 3000; npctalk "Probationary researcher : The access code matches. I will open the door."; sleep 6000; npctalk "Probationary researcher : You may now enter. Please note that you cannot open the door from the other side."; if ('switch_enabled == 0) { 'switch_enabled = 1; enablenpc instance_npcname("lab_warp#1"); enablenpc instance_npcname("lab_warp#2"); enablenpc instance_npcname("lab_warp#3"); enablenpc instance_npcname("Main Switch#"); enablenpc instance_npcname("Senior researcher#pa082"); enablenpc instance_npcname("#eff_nc"); for ( .@i = 1; .@i <= 8; ++.@i ) enablenpc instance_npcname( "Switch" + .@i + "#" ); } end; OnInstanceInit: 'map_name$ = instance_mapname("1@lab"); 'code_found = 'bool_event = 'switch_enabled = 0; for ( .@i = 1; .@i <= 8; .@i++ ) 'switch_position[.@i] = 0; // Warps disablenpc instance_npcname("lab_warp#1"); disablenpc instance_npcname("lab_warp#2"); disablenpc instance_npcname("lab_warp#3"); disablenpc instance_npcname("lab_warp#4"); disablenpc instance_npcname("lab_warp#5"); // Switchs disablenpc instance_npcname("Main Switch#"); disablenpc instance_npcname("Senior researcher#pa082"); disablenpc instance_npcname("#eff_nc"); for ( .@i = 1; .@i <= 8; ++.@i ) disablenpc instance_npcname( "Switch" + .@i + "#" ); // Experiments disablenpc instance_npcname("DR Silvia#pa0829"); disablenpc instance_npcname("DR Federico#pa0829"); disablenpc instance_npcname("DR Artemia#pa0829"); disablenpc instance_npcname("DR Vincent#pa0829"); disablenpc instance_npcname("#wp01"); disablenpc instance_npcname("#npc_con01"); disablenpc instance_npcname("#npc_con03"); disablenpc instance_npcname("#npc_con05"); disablenpc instance_npcname("#npc_con06"); disablenpc instance_npcname("#npc_con07"); disablenpc instance_npcname("#npc_con08"); disablenpc instance_npcname("#npc_con10"); disablenpc instance_npcname("#npc_con11"); for ( .@i = 1; .@i <= 14; ++.@i ) hideonnpc instance_npcname("#gen_" + (.@i < 10 ? "0" : "") + .@i); disablenpc instance_npcname("lab_warp#end"); end; } // 1@lab,104,34,4 script Probationary researcher#pa0829_2 4_LGTSCIENCE // Switchs 1@lab,37,37,3 script Switch1# CLEAR_NPC,{ .@num = charat( strnpcinfo(1),6 ); setarray .@position$[0], "OFF", "ON"; mes "[Switch " + .@num + "]"; mes "The switch is currently in the " + .@position$[ 'switch_position[.@num] ] + " position. What will you do?"; next; 'switch_position[.@num] = !( select( "ON","OFF" ) - 1 ); close; } 1@lab,39,37,3 duplicate(Switch1#) Switch2# CLEAR_NPC 1@lab,41,37,3 duplicate(Switch1#) Switch3# CLEAR_NPC 1@lab,43,37,3 duplicate(Switch1#) Switch4# CLEAR_NPC 1@lab,46,37,3 duplicate(Switch1#) Switch5# CLEAR_NPC 1@lab,48,37,3 duplicate(Switch1#) Switch6# CLEAR_NPC 1@lab,50,37,3 duplicate(Switch1#) Switch7# CLEAR_NPC 1@lab,52,37,3 duplicate(Switch1#) Switch8# CLEAR_NPC 1@lab,34,37,3 script Main Switch# CLEAR_NPC,{ .@string$ = 'switch_position[1] + "" + 'switch_position[2] + "" + 'switch_position[3] + "" + 'switch_position[4] + "" + 'switch_position[5] + "" + 'switch_position[6] + "" + 'switch_position[7] + "" + 'switch_position[8]; .@current_code = strtol( .@string$,2 ); .@code = (gettime(DT_MONTH) + gettime(DT_DAYOFMONTH)) * 5; npctalk "Today's access code " + .@code + ", currently entered code " + .@current_code + "."; sleep 6000; if ('code_found > 0) npctalk "The door is already open."; else if (.@current_code != .@code) npctalk "The code is incorrect. Please try again."; else { 'code_found = 1; npctalk "The code is correct. Opening door."; enablenpc instance_npcname("lab_warp#4"); enablenpc instance_npcname("lab_warp#5"); enablenpc instance_npcname("DR Silvia#pa0829"); enablenpc instance_npcname("DR Federico#pa0829"); enablenpc instance_npcname("DR Artemia#pa0829"); enablenpc instance_npcname("DR Vincent#pa0829"); enablenpc instance_npcname("#wp01"); donpcevent instance_npcname("#eff_nc") + "::OnStop"; for ( .@i = 1; .@i <= 8; ++.@i ) disablenpc instance_npcname( "Switch" + .@i + "#" ); } end; } 1@lab,45,32,3 script Senior researcher#pa082 4_LGTSCIENCE,{ if ('code_found > 0) { mes "[Senior Researcher]"; mes "The door is open so you may now enter. Please note that you cannot open the door from the other side."; close; } .@code = (gettime(DT_MONTH) + gettime(DT_DAYOFMONTH)) * 5; mes "[Senior Researcher]"; mes "It seems you are here to participate in the particle acceleration experiment."; next; mes "[Senior Researcher]"; mes "Today's access code is ^0000ff" + .@code + "^000000."; mes "The code needs to be entered as a binary number. Use the switches behind me to enter it."; next; mes "[Senior Researcher]"; mes "After entering the code press the main button near the entrance."; for ( .@i = 1; .@i <= 8; ++.@i ) specialeffect EF_STEAL, AREA, instance_npcname("Switch" + .@i + "#"); close2; donpcevent instance_npcname("#eff_nc") + "::OnStart"; end; } 1@lab,1,1,0 script #eff_nc -1,{ end; OnStart: OnTimer2000: specialeffect 203,AREA, instance_npcname("Main Switch#"); for ( .@i = 1; .@i <= 8; ++.@i ) specialeffect (203+.@i),AREA, instance_npcname("Switch" + .@i + "#"); initnpctimer; end; OnStop: stopnpctimer; end; } // Experiments 1@lab,81,84,7 script DR Silvia#pa0829 4_F_SCIENCE,{ mes "[DR Silvia]"; mes "After the experiment I want to go home and enjoy an ice cold beer and some fried chicken."; next; mes "[DR Silvia]"; mes "I haven't been home for almost 2 years."; next; mes "^0000ffSilvia is looking at the particle accelerator device with a very exhausted look.^000000"; close; } 1@lab,80,87,7 script DR Federico#pa0829 4_LGTSCIENCE,{ mes "[DR Federico]"; mes "This device is more amazing the more I look at. There has never been a particle accelerator made in this scale."; next; mes "[DR Federico]"; mes "With this size I wonder if it's possible to create a small scale black hole..."; next; mes "[DR Federico]"; mes "Ah, I was just talking. Such an event is closer to a disaster than an experiment haha."; close; } 1@lab,80,90,6 script DR Artemia#pa0829 4_F_SCIENCE,{ mes "[DR Artemia]"; mes "Look, reality doesn't like it when you grab a piece of string and give it a tug."; next; mes "[DR Artemia]"; mes "A dimensional distortion can happen with such a powerful particle acceleration."; next; mes "[DR Artemia]"; mes "I have a bad feeling about this because... Nature finds a way."; close; } 1@lab,81,93,6 script DR Vincent#pa0829 4_LGTSCIENCE,{ mes "[DR Vincent]"; mes "The machine is perfect. Nothing will go wrong!"; next; mes "[DR Vincent]"; mes "Artemia worries too much. Anyway I'm going on a trip after the experiment."; close; } 1@lab,80,89,0 script #wp01 HIDDEN_WARP_NPC,9,9,{ end; OnTouch: donpcevent instance_npcname("#npc_con01") + "::OnStart"; disablenpc instance_npcname("#wp01"); end; } // Round 1 1@lab,4,1,3 script #npc_con01 CLEAR_NPC,{ end; OnStart: 'vincent$ = instance_npcname("DR Vincent#pa0829"); 'federico$ = instance_npcname("DR Federico#pa0829"); 'silvia$ = instance_npcname("DR Silvia#pa0829"); 'artemia$ = instance_npcname("DR Artemia#pa0829"); 'gen_01$ = instance_npcname("#gen_01"); 'gen_02$ = instance_npcname("#gen_02"); 'gen_03$ = instance_npcname("#gen_03"); 'gen_04$ = instance_npcname("#gen_04"); 'gen_05$ = instance_npcname("#gen_05"); 'gen_06$ = instance_npcname("#gen_06"); 'gen_07$ = instance_npcname("#gen_07"); 'gen_08$ = instance_npcname("#gen_08"); 'gen_09$ = instance_npcname("#gen_09"); 'gen_10$ = instance_npcname("#gen_10"); 'gen_11$ = instance_npcname("#gen_11"); 'gen_12$ = instance_npcname("#gen_12"); 'gen_13$ = instance_npcname("#gen_13"); 'gen_14$ = instance_npcname("#gen_14"); npctalk "Federico : Let us get started. Hm... Are you ready Dr. Fresa?", 'federico$; sleep 5000; npctalk "Artemia : Probably making final confirmation checks. An experiment of this scope needs such caution.", 'artemia$; sleep 6000; npctalk "Silvia : Care is needed for operating a finished product for the first experiment.", 'silvia$; sleep 4000; npctalk "Vincent : Ah, I hope we can finish quickly so I can go eat chicken.", 'vincent$; sleep 3000; npctalk "Silvia : Ah! I like that too! Call me when you go.", 'silvia$; sleep 6000; mapannounce 'map_name$, "?????: Ah, ah, one two one two, mic test.", bc_map,0x00ff77; sleep 2000; npctalk "Federico : She's here.", 'federico$; sleep 2500; mapannounce 'map_name$, "?????: Chief director Lona Fresa of project particle accelerator.", bc_map,0x00ff77; sleep 5000; mapannounce 'map_name$, "Lona Fresa : Current time " + gettime(DT_MONTH) + " Month " + gettime(DT_DAYOFMONTH) + " Day 25 minutes after 10.", bc_map,0x00ff77; sleep 5000; mapannounce 'map_name$, "Lona Fresa : Testing the effects of particle acceleration on its surroundings in an open space.", bc_map,0x00ff77; sleep 5000; npctalk "Artemia : Aah... I really don't like this experiment.", 'artemia$; sleep 3000; mapannounce 'map_name$, "Lona Fresa : Starting the experiment. Chief researcher Dr. Federico, Artemia, Silvia, Vincent and assistant researchers.", bc_map,0x00ff77; sleep 5000; 'bool_event = true; donpcevent instance_npcname("#npc_con03") + "::OnStart"; npctalk "Artemia : Let us start~", 'artemia$; sleep 3000; npctalk "Vincent : Starting rotation of generator.", 'vincent$; sleep 3000; npctalk "Federico : Generator rotation fixed at 10000 RPM.", 'federico$; sleep 2500; npctalk "Silvia : Voltage is still within the tolerance band.", 'silvia$; sleep 3000; mapannounce 'map_name$, "Lona Fresa : This experiment is for the creation of new material that hasn't existed before.", bc_map,0x00ff77; sleep 5000; mapannounce 'map_name$, "Lona Fresa : Recorders make sure to make detailed records of the catalyst bed's reaction when it is installed to the accelerator.", bc_map,0x00ff77; sleep 6000; npctalk "Artemia : Contacting catalyst bed number 1.", 'artemia$; sleep 9000; npctalk "Silvia : Generator voltage unstable. Still within tolerance band.", 'silvia$; sleep 3000; donpcevent instance_npcname("#npc_con03") + "::OnStart2"; sleep 2000; npctalk "Silvia : Detecting heat close to the tolerance band between the catalyst bed and the accelerator!", 'silvia$; sleep 5000; npctalk "Vincent : Accelerator is heating.", 'vincent$; sleep 5000; npctalk "Vincent: 320c.", 'vincent$; sleep 5000; npctalk "Vincent : 670c It's heating up too fast!", 'vincent$; sleep 3000; npctalk "Vincent : Broke through 1000c!!!! Dr. Fresa! We have to momentarily stop the device!", 'vincent$; sleep 3000; mapannounce 'map_name$, "Lona Fresa : It is fine.", bc_map,0x00ff77; sleep 5000; npctalk "Silvia : It is not a simple problem. The temperature has far exceeded the predicted numbers!", 'silvia$; sleep 3000; mapannounce 'map_name$, "Lona Fresa : This problem was predicted. Maintain current state.", bc_map,0x00ff77; sleep 3000; npctalk "Artemia : But at least.. I will have chicken later.", 'artemia$; sleep 5000; mapannounce 'map_name$, "MA-4885: Receiving changed circumstance through main server. Detecting dimensional distortion between particle accelerator and catalyst.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 3000; npctalk "Artemia : Dr. Fresa! It's a dangerous situation of Mother Computer. Shut down the main power!", 'artemia$; sleep 5000; mapannounce 'map_name$, "MA-4885: Alert. New unidentified creature approaching from demi-plane.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 3000; npctalk "Vincent : What is going on. Somebody turn off that computer!", 'vincent$; sleep 3000; mapannounce 'map_name$, "MA-4885: A new organism will be soon transmitted from the demi-plane.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 5000; mapannounce 'map_name$, "MA-4885: 5 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13; sleep 1000; mapannounce 'map_name$, "MA-4885: 4 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13; sleep 1000; mapannounce 'map_name$, "MA-4885: 3 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13; sleep 1000; mapannounce 'map_name$, "MA-4885: 2 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13; sleep 1000; mapannounce 'map_name$, "MA-4885: 1 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13; sleep 1000; donpcevent instance_npcname("#npc_con05") + "::OnStart"; mapannounce 'map_name$, "MA-4885: Unidentifiable creature discovered. Temporarily shutting down main power.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 3000; 'bool_event = false; end; } 1@lab,4,1,3 script #npc_con05 CLEAR_NPC,{ end; OnStart: enablenpc instance_npcname("#npc_con05"); killmonster 'map_name$, instance_npcname("#npc_con05") + "::OnMyMobDead"; .@boss_call = rand(1,105); if (.@boss_call <= 7) .@mob_id = 1087; // ORK_HERO else if (.@boss_call <= 14) .@mob_id = 1147; // MAYA else if (.@boss_call <= 21) .@mob_id = 1190; // ORC_LORD else if (.@boss_call <= 28) .@mob_id = 1115; // EDDGA else if (.@boss_call <= 35) .@mob_id = 1086; // GOLDEN_BUG else if (.@boss_call <= 42) .@mob_id = 1038; // OSIRIS else if (.@boss_call <= 49) .@mob_id = 1159; // PHREEONI else if (.@boss_call <= 56) .@mob_id = 1389; // DRACULA else if (.@boss_call <= 63) .@mob_id = 1046; // DOPPELGANGER else if (.@boss_call <= 70) .@mob_id = 1059; // MISTRESS else if (.@boss_call <= 77) .@mob_id = 1150; // MOONLIGHT else if (.@boss_call <= 84) .@mob_id = 1688; // LADY_TANEE else if (.@boss_call <= 91) .@mob_id = 1039; // BAPHOMET else if (.@boss_call <= 93) .@mob_id = 1089; // TOAD else if (.@boss_call <= 95) .@mob_id = 1092; // VAGABOND_WOLF else if (.@boss_call <= 97) .@mob_id = 1088; // VOCAL else if (.@boss_call <= 99) .@mob_id = 1096; // ANGELING else if (.@boss_call <= 101) .@mob_id = 1093; // ECLIPSE else if (.@boss_call <= 103) .@mob_id = 1120; // GHOSTRING else if (.@boss_call <= 105) .@mob_id = 1090; // MASTERING monster 'map_name$,90,88, "Unidentified creature",.@mob_id,1, instance_npcname("#npc_con05") + "::OnMyMobDead"; sleep 3000; npctalk "Artemia : What... what is that?!", 'artemia$; sleep 3000; npctalk "Silvia : It isn't reacting to us. Maybe it can't see us?", 'silvia$; sleep 5000; npctalk "Vincent : But it is hostile to the project assistants! What is that creature!?", 'vincent$; sleep 5000; npctalk "Vincent : I can't move my body! I think space is frozen!", 'vincent$; end; OnMyMobDead: mapannounce 'map_name$, "MA-4885: Unidentified creature eliminated. Restarting device.", bc_map, 0xffff00,FW_NORMAL,13,0; if (mobcount( 'map_name$, instance_npcname("#npc_con05") + "::OnMyMobDead" ) < 1) initnpctimer; end; OnTimer1000: killmonster 'map_name$, instance_npcname("#npc_con05") + "::OnMyMobDead"; donpcevent instance_npcname("#npc_con06") + "::OnStart"; disablenpc instance_npcname("#npc_con05"); stopnpctimer; end; } // Round 2 1@lab,4,1,3 script #npc_con06 CLEAR_NPC,{ end; OnStart: sleep 9000; npctalk "Artemia: MA-4885!! On who's order are you restarting! Stop!!", 'artemia$; sleep 3000; mapannounce 'map_name$, "MA-4885: Unrecognized command.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 6000; npctalk "Artemia: Dr. Fresa!! We have to stop! This is too dangerous!", 'artemia$; sleep 3000; mapannounce 'map_name$, "Lona Fresa : ......", bc_map,0x00ff77; sleep 3000; npctalk "Vincent: Fresa! We don't have time! Turn off the computer!!", 'vincent$; sleep 3000; mapannounce 'map_name$, "MA-4885: Restarting particle acceleration procedure.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 3000; 'bool_event = true; donpcevent instance_npcname("#npc_con03") + "::OnStart"; npctalk "Silvia : Fresa! Make a decision!", 'silvia$; sleep 3000; mapannounce 'map_name$, "Lona Fresa : ......", bc_map,0x00ff77; sleep 6000; mapannounce 'map_name$, "Lona Fresa : Current time 20 minutes past 11. Momentarily postpone experiment.", bc_map,0x00ff77; sleep 6000; mapannounce 'map_name$, "MA-4885: Access denied. Cannot understand command.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 3000; donpcevent instance_npcname("#npc_con03") + "::OnStart2"; sleep 2000; mapannounce 'map_name$, "Lona Fresa : Mother Comp MA-4885. I am your Chief director Dr. Fresa. Cease current progress.", bc_map,0x00ff77; sleep 5000; mapannounce 'map_name$, "MA-4885: Access denied. Cannot understand command.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 5000; npctalk "Federico : Damnit! Something else is coming!!", 'federico$; sleep 2500; mapannounce 'map_name$, "MA-4885: Alert. New unidentified creature approaching from demi-plane.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 3000; npctalk "Vincent : Oh... damnit. This is why you shouldn't install the newest CPU.", 'vincent$; sleep 3000; npctalk "Federico : Ah... my body...can't move. Damn", 'federico$; sleep 4000; mapannounce 'map_name$, "MA-4885: A new organism will be soon transmitted from the demi-plane.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 5000; mapannounce 'map_name$, "MA-4885: 5 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13; sleep 1000; mapannounce 'map_name$, "MA-4885: 4 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13; sleep 1000; mapannounce 'map_name$, "MA-4885: 3 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13; sleep 1000; mapannounce 'map_name$, "MA-4885: 2 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13; sleep 1000; mapannounce 'map_name$, "MA-4885: 1 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13; sleep 1000; donpcevent instance_npcname("#npc_con07") + "::OnStart"; mapannounce 'map_name$, "MA-4885: Unidentifiable creature discovered. Temporarily shutting down main power.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 3000; 'bool_event = false; end; } 1@lab,4,1,3 script #npc_con07 CLEAR_NPC,{ end; OnStart: enablenpc instance_npcname("#npc_con07"); killmonster 'map_name$, instance_npcname("#npc_con07") + "::OnMyMobDead"; .@boss_call = rand(1,98); if (.@boss_call <= 7) .@mob_id = 1980; // KUBLIN else if (.@boss_call <= 14) .@mob_id = 1157; // PHARAOH else if (.@boss_call <= 21) .@mob_id = 1112; // DRAKE else if (.@boss_call <= 28) .@mob_id = 1251; // KNIGHT_OF_WINDSTORM else if (.@boss_call <= 35) .@mob_id = 2068; // BOITATA else if (.@boss_call <= 42) .@mob_id = 1373; // LORD_OF_DEATH else if (.@boss_call <= 49) .@mob_id = 2156; // LEAK else if (.@boss_call <= 56) .@mob_id = 1272; // DARK_LORD else if (.@boss_call <= 63) .@mob_id = 1630; // BACSOJIN_ else if (.@boss_call <= 70) .@mob_id = 1252; // GARM else if (.@boss_call <= 77) .@mob_id = 1779; // KTULLANUX else if (.@boss_call <= 84) .@mob_id = 1708; // THANATOS else if (.@boss_call <= 86) .@mob_id = 1089; // TOAD else if (.@boss_call <= 88) .@mob_id = 1092; // VAGABOND_WOLF else if (.@boss_call <= 90) .@mob_id = 1088; // VOCAL else if (.@boss_call <= 92) .@mob_id = 1096; // ANGELING else if (.@boss_call <= 94) .@mob_id = 1093; // ECLIPSE else if (.@boss_call <= 96) .@mob_id = 1120; // GHOSTRING else if (.@boss_call <= 98) .@mob_id = 1090; // MASTERING monster 'map_name$,90,88, "Unidentified creature",.@mob_id,1, instance_npcname("#npc_con07") + "::OnMyMobDead"; sleep 6000; npctalk "Silvia: Same as the last time. It seems to have no interest in us.", 'silvia$; sleep 4000; npctalk "Vincent: Let's completely shut down the mother computer while the main power is temporarily off!", 'vincent$; sleep 5000; mapannounce 'map_name$, "MA-4885: Answering question. This space is currently stuck in a distorted phase.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 5000; mapannounce 'map_name$, "MA-4885: Direct interaction between the demi-plane creature and this world's organisms will be possible after the phase has been balanced.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 5000; mapannounce 'map_name$, "MA-4885: Conducting calculations to restore balance to distorted phase. Please wait a moment.", bc_map,0xFFFF00,FW_NORMAL,13; sleep 5000; npctalk "Artemia: What is that crazy clump of metal saying? It is saying we aren't in the same phase as those monster like things?", 'artemia$; sleep 4000; npctalk "Federico: Aah, I guess we should hope that Mother computer doesn't make the right calculations.", 'federico$; end; OnMyMobDead: mapannounce 'map_name$, "MA-4885: Unidentified creature eliminated. Phase adjustment failed. Restarting relevant procedure.", bc_map, 0xffff00,FW_NORMAL,13,0; if (mobcount( 'map_name$, instance_npcname("#npc_con07") + "::OnMyMobDead" ) < 1) initnpctimer; end; OnTimer1000: killmonster 'map_name$, instance_npcname("#npc_con07") + "::OnMyMobDead"; donpcevent instance_npcname("#npc_con08") + "::OnStart"; disablenpc instance_npcname("#npc_con07"); stopnpctimer; end; } // Round 3 1@lab,4,1,3 script #npc_con08 CLEAR_NPC,{ end; OnStart: sleep 13000; mapannounce 'map_name$, "Lona Fresa: Mother Computer MA-4885. Looks like you are trying to synchronize the other dimension and this world.", bc_map, 0x00ff77; sleep 6000; mapannounce 'map_name$, "MA-4885: That is correct.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 6000; npctalk "Artemia: Dr. Fresa!! This ridiculous event is completely unrelated to our original experiment!", 'artemia$; sleep 6000; mapannounce 'map_name$, "Lona Fresa: I have fully realized that.", bc_map, 0x00ff77; sleep 6000; npctalk "Silvia: Can we not shut down main power completely?", 'silvia$; sleep 6000; mapannounce 'map_name$, "MA-4885: Restarting particle acceleration procedure.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 5000; 'bool_event = true; donpcevent instance_npcname("#npc_con03") + "::OnStart"; mapannounce 'map_name$, "Lona Fresa: " + gettime(DT_MONTH) + " Month " + gettime(DT_DAYOFMONTH) + " Day. Current time 38 minutes past 11 temporarily terminating particle accelerator project.", bc_map, 0x00ff77; sleep 6000; mapannounce 'map_name$, "Lona Fresa: Ending record with reasons of Mother Computer malfunction and overheating of accelerator.", bc_map, 0x00ff77; sleep 5000; npctalk "Silvia : Alright! Now Dr. Fresa just has to shut down the power.", 'silvia$; sleep 6000; mapannounce 'map_name$, "Lona Fresa: Cutting off power to Mother Computer MA-4885.", bc_map, 0x00ff77; sleep 6000; mapannounce 'map_name$, "MA-4885: Suspending operation of all equipment as per Administrator request.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 5000; mapannounce 'map_name$, "MA-4885: .....command... ----!!! Zizip... ---!! -- following command ----- !! Zizip.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 5000; 'bool_event = false; npctalk "Artemia : Whew... is it over?", 'artemia$; sleep 6000; mapannounce 'map_name$, "Lona Fresa: Completed shut down of Mother computer MA-4885. Confirm equipment suspension.", bc_map, 0x00ff77; sleep 5000; npctalk "Silvia: Looks like it's over.", 'silvia$; sleep 4000; npctalk "Federico: Plant initialization is the best.", 'federico$; sleep 4000; mapannounce 'map_name$, "Lona Fresa: Recording all experiment progress and terminating at current point.", bc_map, 0x00ff77; sleep 5000; mapannounce 'map_name$, "Lona Fresa: The final experiment failure is unfortunate. But I will promise a more perfect experiment next time.", bc_map, 0x00ff77; sleep 5000; mapannounce 'map_name$, "Lona Fresa: Good work everybody.", bc_map, 0x00ff77; sleep 5000; npctalk "Artemia: It seems to be over.", 'artemia$; sleep 5000; npctalk "Federico: I thought it was Fresa's dogmatic experiment. But it was a problem with the mother comp.", 'federico$; sleep 5500; npctalk "Silvia: Let's just calm down. And get out of this dreadful laboratory.", 'silvia$; sleep 5000; npctalk "Vincent : By the way... I still can't move so what is going on?", 'vincent$; sleep 5000; 'bool_event = true; donpcevent instance_npcname("#npc_con03") + "::OnStart"; donpcevent instance_npcname("#npc_con03") + "::OnStart3"; sleep 2000; mapannounce 'map_name$, "MA-4885: CODE NAME - DESCENT", bc_map, 0xff0000,FW_NORMAL,16,0; sleep 5000; npctalk "Federico : What? Wasn't this the initialization stage?", 'federico$; sleep 2500; mapannounce 'map_name$, "MA-4885: Starting final phase transformation.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 3000; npctalk "Silvia : It's all over.", 'silvia$; sleep 5500; mapannounce 'map_name$, "MA-4885: A new organism will be soon transmitted from the demi-plane.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 5000; mapannounce 'map_name$, "MA-4885: 5 seconds remaining", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 1000; mapannounce 'map_name$, "MA-4885: 4 seconds remaining", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 1000; mapannounce 'map_name$, "MA-4885: 3 seconds remaining", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 1000; mapannounce 'map_name$, "MA-4885: 2 seconds remaining", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 1000; mapannounce 'map_name$, "MA-4885: 1 second remaining", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 1000; donpcevent instance_npcname("#npc_con10") + "::OnStart"; mapannounce 'map_name$, "MA-4885: Temporarily shutting down main power for syntonization with transformed phase.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 3000; 'bool_event = false; end; } 1@lab,4,1,3 script #npc_con10 CLEAR_NPC,{ end; OnStart: enablenpc instance_npcname("#npc_con10"); killmonster 'map_name$, instance_npcname("#npc_con10") + "::OnMyMobDead"; .@boss_call = rand(1,105); if (.@boss_call <= 7) .@mob_id = 1623; // RSX_0806 else if (.@boss_call <= 14) .@mob_id = 1418; // DARK_SNAKE_LORD else if (.@boss_call <= 21) .@mob_id = 1312; // TURTLE_GENERAL else if (.@boss_call <= 28) .@mob_id = 1785; // ATROCE else if (.@boss_call <= 35) .@mob_id = 1734; // KIEL_ else if (.@boss_call <= 42) .@mob_id = 1719; // DETALE else if (.@boss_call <= 49) .@mob_id = 1768; // GLOOMUNDERNIGHT else if (.@boss_call <= 56) .@mob_id = 2087; // QUEEN_SCARABA else if (.@boss_call <= 63) .@mob_id = 1751; // RANDGRIS else if (.@boss_call <= 70) .@mob_id = 2253; // DAEHYON else if (.@boss_call <= 77) .@mob_id = 2255; // KADES else if (.@boss_call <= 84) .@mob_id = 1832; // IFRIT else if (.@boss_call <= 91) .@mob_id = 1874; // BEELZEBUB_ else if (.@boss_call <= 93) .@mob_id = 1089; // TOAD else if (.@boss_call <= 95) .@mob_id = 1092; // VAGABOND_WOLF else if (.@boss_call <= 97) .@mob_id = 1088; // VOCAL else if (.@boss_call <= 99) .@mob_id = 1096; // ANGELING else if (.@boss_call <= 101) .@mob_id = 1093; // ECLIPSE else if (.@boss_call <= 103) .@mob_id = 1120; // GHOSTRING else if (.@boss_call <= 105) .@mob_id = 1090; // MASTERING monster 'map_name$,90,88, "Unidentified creature",.@mob_id,1, instance_npcname("#npc_con10") + "::OnMyMobDead"; mapannounce 'map_name$, "MA-4885: Final phase transformation process.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 5000; mapannounce 'map_name$, "MA-4885: This world will be summoned to the demi-plane after the phase interference phenomenon with creature fades.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 5000; end; OnMyMobDead: mapannounce 'map_name$, "MA-4885: Phase synchronization completed before creature is eliminated. Starting dimensional travel.", bc_map, 0xffff00,FW_NORMAL,13,0; if (mobcount( 'map_name$, instance_npcname("#npc_con10") + "::OnMyMobDead" ) < 1) initnpctimer; end; OnTimer1000: killmonster 'map_name$, instance_npcname("#npc_con10") + "::OnMyMobDead"; donpcevent instance_npcname("#npc_con11") + "::OnStart"; disablenpc instance_npcname("#npc_con10"); stopnpctimer; end; } 1@lab,4,1,3 script #npc_con11 CLEAR_NPC,{ end; OnStart: 'bool_event = true; donpcevent instance_npcname("#npc_con03") + "::OnStart"; sleep 12000; mapannounce 'map_name$, "MA-4885: Conducting calculations to restore balance to distorted phase. Please wait a moment.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 5000; npctalk "Federico : Mother comp is conducting a tremendous experiment going beyond what we thought of.", 'federico$; sleep 2500; npctalk "Vincent : Seems more magnanimous than we are. Fresa!!! Are you listening? Sound the alarm!", 'vincent$; sleep 5000; npctalk "Vincent : We should at least evacuate the people in the other labs.", 'vincent$; sleep 5000; mapannounce 'map_name$, "Lona Fresa: But ... you.", bc_map, 0x00ff77; sleep 5000; npctalk "Silvia : Gee, I don't know what will happen but I am curious about shifting dimensions. Don't mind me!", 'silvia$; sleep 5000; npctalk "Artemia : Dimension moving while experimenting on new material production. Got caught up in a different level of an experiment.", 'artemia$; sleep 5000; mapannounce 'map_name$, "Alarm System : Alert! Alert! Class 1 alert issued from the Particle Laboratory. All researchers evacuate to the bunker.", bc_map, 0xff0000,FW_NORMAL,13,0; sleep 5000; mapannounce 'map_name$, "Alarm System : I repeat. Class 1 alert issued from the Particle Laboratory. All researchers evacuate to the bunker.", bc_map, 0xff0000,FW_NORMAL,13,0; npctalk "Federico : Is this how it feels to move dimensions. How strange...", 'federico$; sleep 4000; specialeffect EF_SUI_EXPLOSION, AREA, 'federico$; disablenpc 'federico$; mapannounce 'map_name$, "MA-4885: Dimension move at 20% progress. There could be dimensional interference with certain creatures. Please be aware.", bc_map, 0xffff00,FW_NORMAL,13,0; donpcevent instance_npcname("#npc_con03") + "::OnStart2"; npctalk "Vincent : I wonder if the others evacuated?", 'vincent$; sleep 5000; specialeffect EF_SUI_EXPLOSION, AREA, 'vincent$; disablenpc 'vincent$; npctalk "Silvia : Ah...... I should be seeing this while having chicken and beer...", 'silvia$; sleep 5000; specialeffect EF_SUI_EXPLOSION, AREA, 'silvia$; disablenpc 'silvia$; mapannounce 'map_name$, "MA-4885: Dimension move at 78% progress. Most of the dimension encroached by demi-plane.", bc_map, 0xffff00,FW_NORMAL,13,0; npctalk "Artemia : Ha... whose going to eat the chicken now?", 'artemia$; sleep 5000; specialeffect EF_SUI_EXPLOSION, AREA, 'artemia$; disablenpc 'artemia$; donpcevent instance_npcname("#npc_con03") + "::OnStart3"; sleep 10000; 'bool_event = false; mapannounce 'map_name$, "MA-4885: Dimension move 100% completed. Welcome to the demi-plane dimension.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 5000; mapannounce 'map_name$, "MA-4885: A gateway possible for contact with the demi-plane open at 3 o'clock of the laboratory.", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 5000; mapannounce 'map_name$, "MA-4885: Cannot guarantee what kind of dimension will be met due to the instability of the gateway...", bc_map, 0xffff00,FW_NORMAL,13,0; sleep 5000; mapannounce 'map_name$, "MA-4885: If there are any surviving organisms I wish you luck. I hope to see you again.", bc_map, 0xffff00,FW_NORMAL,13,0; enablenpc instance_npcname("lab_warp#end"); end; } // Display effects 1@lab,4,1,5 script #npc_con03 CLEAR_NPC,{ end; function effect_gen { .@effect = getarg(0); .@count = getargcount(); for ( .@i = 1; .@i < .@count; .@i++ ) specialeffect .@effect, AREA, getd( "'gen_" + ( getarg(.@i) < 10 ? "0" : "" ) + getarg(.@i) + "$" ); return; } function effect_1_10_gen { effect_gen( getarg(0), 1,2,3,4,5,6,7,8,9,10 ); } OnStart: effect_gen( EF_MAGICALATTHIT, 1 ); sleep 2000; effect_gen( EF_MAGICALATTHIT, 1,3 ); sleep 1900; effect_gen( EF_MAGICALATTHIT, 1,3,8 ); sleep 1700; effect_gen( EF_MAGICALATTHIT, 1,3,8,4 ); sleep 1600; effect_gen( EF_MAGICALATTHIT, 1,3,8,4,6 ); sleep 1500; effect_gen( EF_MAGICALATTHIT, 1,3,8,4,6,2 ); sleep 1400; effect_gen( EF_MAGICALATTHIT, 1,3,8,4,6,2,7 ); sleep 1300; effect_gen( EF_MAGICALATTHIT, 1,3,8,4,6,2,7,9 ); sleep 1200; effect_gen( EF_MAGICALATTHIT, 1,3,8,4,6,2,7,9,5 ); sleep 1100; while( 'bool_event ) { effect_1_10_gen( EF_MAGICALATTHIT ); sleep 1000; } end; OnStart2: effect_gen( EF_BLASTMINEBOMB, 1 ); sleep 2000; effect_gen( EF_BLASTMINEBOMB, 1,3 ); sleep 1900; effect_gen( EF_BLASTMINEBOMB, 1,3,8 ); sleep 1800; effect_gen( EF_BLASTMINEBOMB, 1,3,8,4 ); sleep 1700; effect_gen( EF_BLASTMINEBOMB, 1,3,8,4,6 ); sleep 1600; effect_gen( EF_BLASTMINEBOMB, 1,3,8,4,6,2 ); sleep 1500; effect_gen( EF_BLASTMINEBOMB, 1,3,8,4,6,2,7 ); sleep 1400; effect_gen( EF_BLASTMINEBOMB, 1,3,8,4,6,2,7,9 ); sleep 1300; effect_gen( EF_BLASTMINEBOMB, 1,3,8,4,6,2,7,9,5 ); sleep 1200; while( 'bool_event ) { effect_1_10_gen( EF_BLASTMINEBOMB ); sleep 1100; } end; OnStart3: while( 'bool_event ) { specialeffect EF_LORD, AREA, 'gen_11$; sleep 2000; specialeffect EF_LORD, AREA, 'gen_12$; sleep 2000; specialeffect EF_LORD, AREA, 'gen_13$; sleep 2000; specialeffect EF_LORD, AREA, 'gen_14$; sleep 2000; } end; } 1@lab,91,80,5 script #gen_01 CLEAR_NPC,{ end; } 1@lab,96,81,5 duplicate(#gen_01) #gen_02 CLEAR_NPC 1@lab,99,85,5 duplicate(#gen_01) #gen_03 CLEAR_NPC 1@lab,99,91,5 duplicate(#gen_01) #gen_04 CLEAR_NPC 1@lab,96,95,5 duplicate(#gen_01) #gen_05 CLEAR_NPC 1@lab,91,97,5 duplicate(#gen_01) #gen_06 CLEAR_NPC 1@lab,85,96,5 duplicate(#gen_01) #gen_07 CLEAR_NPC 1@lab,82,91,5 duplicate(#gen_01) #gen_08 CLEAR_NPC 1@lab,82,86,5 duplicate(#gen_01) #gen_09 CLEAR_NPC 1@lab,85,81,5 duplicate(#gen_01) #gen_10 CLEAR_NPC 1@lab,90,97,5 duplicate(#gen_01) #gen_11 CLEAR_NPC 1@lab,82,89,5 duplicate(#gen_01) #gen_12 CLEAR_NPC 1@lab,91,80,5 duplicate(#gen_01) #gen_13 CLEAR_NPC 1@lab,99,88,5 duplicate(#gen_01) #gen_14 CLEAR_NPC // Warps 1@lab,102,28,0 warp2 lab_warp#1 2,2,1@lab,97,28 1@lab,80,28,0 warp2 lab_warp#2 2,2,1@lab,75,28 1@lab,58,28,0 warp2 lab_warp#3 2,2,1@lab,53,28 1@lab,29,38,0 warp2 lab_warp#4 2,2,1@lab,29,43 1@lab,48,82,0 warp2 lab_warp#5 2,2,1@lab,58,82 1@lab,123,88,0 warp2 lab_warp#end 2,2,verus01,152,150 //-- GM NPCs 1@lab,1,1,3 script #adsw_ CLEAR_NPC,{ if (callfunc("F_GM_NPC",1854,0,0,2000) < 1) end; mes "[Time Administrator]"; mes "Which time do you want to go?"; next; switch( select( "Cancel", "1 start", "2 start", "3 start", "4 start" ) ) { case 1: close; case 2: donpcevent instance_npcname("#npc_con01") + "::OnStart"; break; case 3: donpcevent instance_npcname("#npc_con06") + "::OnStart"; break; case 4: donpcevent instance_npcname("#npc_con08") + "::OnStart"; break; case 5: end; } warp instance_mapname("1@lab"), 84,90; end; } verus01,1,5,5 script Laboratory Administrator#pa0829_01 CLEAR_NPC,{ if (callfunc("F_GM_NPC",1854,0,0,2000) < 1) { warp "prontera",100,100; end; } mes "[Laboratory Administrator]"; mes "All handled well!"; close2; if (isbegin_quest(12347) > 0) erasequest 12347; end; }