CentralLaboratory.txt 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979
  1. //===== rAthena Script =======================================
  2. //= Central Laboratory
  3. //===== Description: =========================================
  4. //= [Official Conversion]
  5. //= Central Laboratory Instance
  6. //===== Changelogs: ==========================================
  7. //= 1.0 First version. [Capuche]
  8. //= 1.1 Updated to match official script. [Capuche]
  9. //============================================================
  10. verus01,153,155,5 script Temporary Dimension-mov#pa0829_01 PORTAL,{
  11. .@party_id = getcharid(1);
  12. if (.@party_id == 0) {
  13. mes "[Temporary Dimension-mover]";
  14. mes "Do you not have a companion to join you? Organize your party even if traveling alone.";
  15. close;
  16. }
  17. switch( checkquest(12347,PLAYTIME) ) {
  18. case -1:
  19. switch( instance_enter("Central Laboratory") ) {
  20. case IE_NOMEMBER:
  21. case IE_NOINSTANCE:
  22. mes "[Temporary Dimension-mover]";
  23. mes "The passage for dimensional moving has not been vitalized.";
  24. close;
  25. case IE_OTHER:
  26. mes "[Temporary Dimension-mov]";
  27. mes "Unknown Error.";
  28. close;
  29. case IE_OK:
  30. mapannounce "verus01", "" + strcharinfo(0) + " of the party, " + getpartyname(.@party_id) + ", is entering Central Laboratory.",bc_map,"0x00FF99";
  31. setquest 12347;// Trace of Laboratory Access
  32. end;
  33. }
  34. end;
  35. case 0:
  36. case 1:
  37. mes "[Temporary Dimension-mover]";
  38. mes "There are remaining traces of the last event. Access denied.";
  39. close;
  40. case 2:
  41. mes "^0000ffUse of Dimension-mover seems possible.^000000";
  42. erasequest 12347;// Trace of Laboratory Access
  43. close;
  44. }
  45. }
  46. verus01,149,155,5 script Civilization Explorer#pa0829_01 4_LGTSCIENCE,{
  47. if (BaseLevel < 135) {
  48. mes "[Civilization Explorer]";
  49. mes "Well... I don't know if you can come in handy, it seems that there is still a gap!";
  50. next;
  51. mes "[Civilization Explorer]";
  52. mes "When you become stronger, come back to me. You should be almost level 135!";
  53. close;
  54. }
  55. mes "^ff0000Taming monsters will impede progress in this dungeon. Please take note of this.^000000";
  56. next;
  57. mes "[Civilization Explorer]";
  58. switch( isbegin_quest(12346) ) {
  59. case 0:
  60. mes "There are a lot of interesting things about the ancient civilizations in this area.";
  61. next;
  62. mes "[Civilization Explorer]";
  63. mes "Observing the soil strata it is estimated to be 500 to 600 years old!";
  64. mes "But many of the excavated objects here already far surpass our current technology.";
  65. next;
  66. mes "[Civilization Explorer]";
  67. mes "A lot of undefined terms are found in the recovered records as well.";
  68. next;
  69. select("What kind of unknown terms?");
  70. mes "[Civilization Explorer]";
  71. mes "^0000ffMother Computer^000000 or, ^0000ff LSI Chip^000000 Or, and what else. ^0000ffChicken^000000?";
  72. next;
  73. mes "[Civilization Explorer]";
  74. mes "Mm that's right. There definitely was the word Chicken. I don't know what kind of combination of technology that may be...";
  75. next;
  76. mes "[Civilization Explorer]";
  77. mes "It is referrenced in the records of people who seem to 'root' amongst the many traces of technology.";
  78. next;
  79. if (select( "It is not a topic I would be interested in.", "Interesting. Have there been any results?" ) == 1) {
  80. mes "[Civilization Explorer]";
  81. mes "Unfortunate.";
  82. close;
  83. }
  84. mes "[Civilization Explorer]";
  85. 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.";
  86. next;
  87. mes "[Civilization Explorer]";
  88. 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...";
  89. next;
  90. mes "[Civilization Explorer]";
  91. mes "By any chance, would you interested in traveling to the past?";
  92. next;
  93. mes "[Civilization Explorer]";
  94. mes "Even better if you show me around if you find an interesting object.";
  95. next;
  96. if (select( "Not interested.", "Ok." ) == 1) {
  97. mes "[Civilization Explorer]";
  98. mes "Unfortunate.";
  99. close;
  100. }
  101. mes "[Civilization Explorer]";
  102. mes "You are an adventurer. Tell me what you decide to do.";
  103. if (isbegin_quest(12346) == 0)
  104. setquest 12346;// Strange Ancient Science
  105. break;
  106. case 1:
  107. mes "How can I assist you?";
  108. break;
  109. case 2:
  110. mes "What do you want to do this time?";
  111. break;
  112. }
  113. next;
  114. if (isbegin_quest(12346) == 1)
  115. completequest 12346;
  116. .@party_id = getcharid(1);
  117. if (.@party_id == 0) {
  118. mes "[Civilization Explorer]";
  119. mes "Please talk to me after composing a party of 1 or more, or after joining a party.";
  120. close;
  121. }
  122. switch( checkquest(12347,PLAYTIME) ) {
  123. case -1:
  124. if (is_party_leader() == false) {
  125. mes "[Civilization Explorer]";
  126. mes "Ah. You aren't the party leader. Take me to your leader! Or perhaps take your leader to me.";
  127. close;
  128. }
  129. if (select( "Produce a crack of time", "Cancel" ) == 2)
  130. close;
  131. if (instance_create("Central Laboratory") < 1) {
  132. mes "Party: " + getpartyname( getcharid(1) ) + "";
  133. mes "Leader: " + getpartyleader( getcharid(1) ) + "";
  134. mes "^0000ffCentral Laboratory ^000000 - Unknown Error";
  135. close;
  136. }
  137. mes "[Civilization Explorer]";
  138. mes "When the crack of time opens take a breath and speak again.";
  139. close;
  140. case 0:
  141. case 1:
  142. mes "[Civilization Explorer]";
  143. mes "Ah, oh no.";
  144. mes "There are some remaining aftereffects of dimensional travel. We cannot travel again in this condition.";
  145. close;
  146. case 2:
  147. mes "^0000ffAll the traces of entering the central laboratory have been erased. Speaking with the Civilization Explorer seems possible.^000000";
  148. erasequest 12347;// Trace of Laboratory Access
  149. close;
  150. }
  151. }
  152. // Entrance
  153. 1@lab,104,34,4 script Probationary researcher#pa0829 4_LGTSCIENCE,{
  154. if ('switch_enabled == 1) {
  155. mes "[Probationary researcher]";
  156. mes "The entrance door is already open.";
  157. close;
  158. }
  159. if (is_party_leader() == false) {
  160. mes "[Probationary researcher]";
  161. mes "Please hold. I am speaking with the guide about whether or not you have been authorized.";
  162. close;
  163. }
  164. mes "[Probationary researcher]";
  165. mes "Are you participating as assistants to the experiments of research project 32001?";
  166. next;
  167. if (select( "Yes.", "No." ) == 2) {
  168. mes "[Probationary researcher]";
  169. mes "It seems you're in the wrong laboratory. Please exit and ask for help.";
  170. close;
  171. }
  172. mes "[Probationary researcher]";
  173. mes "We need about 5 seconds of time. Confirming access code.";
  174. close2;
  175. sleep 3000;
  176. npctalk "Probationary researcher : The access code matches. I will open the door.";
  177. sleep 6000;
  178. npctalk "Probationary researcher : You may now enter. Please note that you cannot open the door from the other side.";
  179. if ('switch_enabled == 0) {
  180. 'switch_enabled = 1;
  181. enablenpc instance_npcname("lab_warp#1");
  182. enablenpc instance_npcname("lab_warp#2");
  183. enablenpc instance_npcname("lab_warp#3");
  184. enablenpc instance_npcname("Main Switch#");
  185. enablenpc instance_npcname("Senior researcher#pa082");
  186. enablenpc instance_npcname("#eff_nc");
  187. for ( .@i = 1; .@i <= 8; ++.@i )
  188. enablenpc instance_npcname( "Switch" + .@i + "#" );
  189. }
  190. end;
  191. OnInstanceInit:
  192. 'map_name$ = instance_mapname("1@lab");
  193. 'code_found = 'bool_event = 'switch_enabled = 0;
  194. for ( .@i = 1; .@i <= 8; .@i++ )
  195. 'switch_position[.@i] = 0;
  196. // Warps
  197. disablenpc instance_npcname("lab_warp#1");
  198. disablenpc instance_npcname("lab_warp#2");
  199. disablenpc instance_npcname("lab_warp#3");
  200. disablenpc instance_npcname("lab_warp#4");
  201. disablenpc instance_npcname("lab_warp#5");
  202. // Switchs
  203. disablenpc instance_npcname("Main Switch#");
  204. disablenpc instance_npcname("Senior researcher#pa082");
  205. disablenpc instance_npcname("#eff_nc");
  206. for ( .@i = 1; .@i <= 8; ++.@i )
  207. disablenpc instance_npcname( "Switch" + .@i + "#" );
  208. // Experiments
  209. disablenpc instance_npcname("DR Silvia#pa0829");
  210. disablenpc instance_npcname("DR Federico#pa0829");
  211. disablenpc instance_npcname("DR Artemia#pa0829");
  212. disablenpc instance_npcname("DR Vincent#pa0829");
  213. disablenpc instance_npcname("#wp01");
  214. disablenpc instance_npcname("#npc_con01");
  215. disablenpc instance_npcname("#npc_con03");
  216. disablenpc instance_npcname("#npc_con05");
  217. disablenpc instance_npcname("#npc_con06");
  218. disablenpc instance_npcname("#npc_con07");
  219. disablenpc instance_npcname("#npc_con08");
  220. disablenpc instance_npcname("#npc_con10");
  221. disablenpc instance_npcname("#npc_con11");
  222. for ( .@i = 1; .@i <= 14; ++.@i )
  223. hideonnpc instance_npcname("#gen_" + (.@i < 10 ? "0" : "") + .@i);
  224. disablenpc instance_npcname("lab_warp#end");
  225. end;
  226. }
  227. // 1@lab,104,34,4 script Probationary researcher#pa0829_2 4_LGTSCIENCE
  228. // Switchs
  229. 1@lab,37,37,3 script Switch1# CLEAR_NPC,{
  230. .@num = charat( strnpcinfo(1),6 );
  231. setarray .@position$[0], "OFF", "ON";
  232. mes "[Switch " + .@num + "]";
  233. mes "The switch is currently in the " + .@position$[ 'switch_position[.@num] ] + " position. What will you do?";
  234. next;
  235. 'switch_position[.@num] = !( select( "ON","OFF" ) - 1 );
  236. close;
  237. }
  238. 1@lab,39,37,3 duplicate(Switch1#) Switch2# CLEAR_NPC
  239. 1@lab,41,37,3 duplicate(Switch1#) Switch3# CLEAR_NPC
  240. 1@lab,43,37,3 duplicate(Switch1#) Switch4# CLEAR_NPC
  241. 1@lab,46,37,3 duplicate(Switch1#) Switch5# CLEAR_NPC
  242. 1@lab,48,37,3 duplicate(Switch1#) Switch6# CLEAR_NPC
  243. 1@lab,50,37,3 duplicate(Switch1#) Switch7# CLEAR_NPC
  244. 1@lab,52,37,3 duplicate(Switch1#) Switch8# CLEAR_NPC
  245. 1@lab,34,37,3 script Main Switch# CLEAR_NPC,{
  246. .@string$ = 'switch_position[1] + "" + 'switch_position[2] + "" + 'switch_position[3] + "" + 'switch_position[4] + "" +
  247. 'switch_position[5] + "" + 'switch_position[6] + "" + 'switch_position[7] + "" + 'switch_position[8];
  248. .@current_code = strtol( .@string$,2 );
  249. .@code = (gettime(DT_MONTH) + gettime(DT_DAYOFMONTH)) * 5;
  250. npctalk "Today's access code " + .@code + ", currently entered code " + .@current_code + ".";
  251. sleep 6000;
  252. if ('code_found > 0)
  253. npctalk "The door is already open.";
  254. else if (.@current_code != .@code)
  255. npctalk "The code is incorrect. Please try again.";
  256. else {
  257. 'code_found = 1;
  258. npctalk "The code is correct. Opening door.";
  259. enablenpc instance_npcname("lab_warp#4");
  260. enablenpc instance_npcname("lab_warp#5");
  261. enablenpc instance_npcname("DR Silvia#pa0829");
  262. enablenpc instance_npcname("DR Federico#pa0829");
  263. enablenpc instance_npcname("DR Artemia#pa0829");
  264. enablenpc instance_npcname("DR Vincent#pa0829");
  265. enablenpc instance_npcname("#wp01");
  266. donpcevent instance_npcname("#eff_nc") + "::OnStop";
  267. for ( .@i = 1; .@i <= 8; ++.@i )
  268. disablenpc instance_npcname( "Switch" + .@i + "#" );
  269. }
  270. end;
  271. }
  272. 1@lab,45,32,3 script Senior researcher#pa082 4_LGTSCIENCE,{
  273. if ('code_found > 0) {
  274. mes "[Senior Researcher]";
  275. mes "The door is open so you may now enter. Please note that you cannot open the door from the other side.";
  276. close;
  277. }
  278. .@code = (gettime(DT_MONTH) + gettime(DT_DAYOFMONTH)) * 5;
  279. mes "[Senior Researcher]";
  280. mes "It seems you are here to participate in the particle acceleration experiment.";
  281. next;
  282. mes "[Senior Researcher]";
  283. mes "Today's access code is ^0000ff" + .@code + "^000000.";
  284. mes "The code needs to be entered as a binary number. Use the switches behind me to enter it.";
  285. next;
  286. mes "[Senior Researcher]";
  287. mes "After entering the code press the main button near the entrance.";
  288. for ( .@i = 1; .@i <= 8; ++.@i )
  289. specialeffect EF_STEAL, AREA, instance_npcname("Switch" + .@i + "#");
  290. close2;
  291. donpcevent instance_npcname("#eff_nc") + "::OnStart";
  292. end;
  293. }
  294. 1@lab,1,1,0 script #eff_nc -1,{
  295. end;
  296. OnStart:
  297. OnTimer2000:
  298. specialeffect 203,AREA, instance_npcname("Main Switch#");
  299. for ( .@i = 1; .@i <= 8; ++.@i )
  300. specialeffect (203+.@i),AREA, instance_npcname("Switch" + .@i + "#");
  301. initnpctimer;
  302. end;
  303. OnStop:
  304. stopnpctimer;
  305. end;
  306. }
  307. // Experiments
  308. 1@lab,81,84,7 script DR Silvia#pa0829 4_F_SCIENCE,{
  309. mes "[DR Silvia]";
  310. mes "After the experiment I want to go home and enjoy an ice cold beer and some fried chicken.";
  311. next;
  312. mes "[DR Silvia]";
  313. mes "I haven't been home for almost 2 years.";
  314. next;
  315. mes "^0000ffSilvia is looking at the particle accelerator device with a very exhausted look.^000000";
  316. close;
  317. }
  318. 1@lab,80,87,7 script DR Federico#pa0829 4_LGTSCIENCE,{
  319. mes "[DR Federico]";
  320. mes "This device is more amazing the more I look at. There has never been a particle accelerator made in this scale.";
  321. next;
  322. mes "[DR Federico]";
  323. mes "With this size I wonder if it's possible to create a small scale black hole...";
  324. next;
  325. mes "[DR Federico]";
  326. mes "Ah, I was just talking. Such an event is closer to a disaster than an experiment haha.";
  327. close;
  328. }
  329. 1@lab,80,90,6 script DR Artemia#pa0829 4_F_SCIENCE,{
  330. mes "[DR Artemia]";
  331. mes "Look, reality doesn't like it when you grab a piece of string and give it a tug.";
  332. next;
  333. mes "[DR Artemia]";
  334. mes "A dimensional distortion can happen with such a powerful particle acceleration.";
  335. next;
  336. mes "[DR Artemia]";
  337. mes "I have a bad feeling about this because... Nature finds a way.";
  338. close;
  339. }
  340. 1@lab,81,93,6 script DR Vincent#pa0829 4_LGTSCIENCE,{
  341. mes "[DR Vincent]";
  342. mes "The machine is perfect. Nothing will go wrong!";
  343. next;
  344. mes "[DR Vincent]";
  345. mes "Artemia worries too much. Anyway I'm going on a trip after the experiment.";
  346. close;
  347. }
  348. 1@lab,80,89,0 script #wp01 HIDDEN_WARP_NPC,9,9,{
  349. end;
  350. OnTouch:
  351. donpcevent instance_npcname("#npc_con01") + "::OnStart";
  352. disablenpc instance_npcname("#wp01");
  353. end;
  354. }
  355. // Round 1
  356. 1@lab,4,1,3 script #npc_con01 CLEAR_NPC,{
  357. end;
  358. OnStart:
  359. 'vincent$ = instance_npcname("DR Vincent#pa0829");
  360. 'federico$ = instance_npcname("DR Federico#pa0829");
  361. 'silvia$ = instance_npcname("DR Silvia#pa0829");
  362. 'artemia$ = instance_npcname("DR Artemia#pa0829");
  363. 'gen_01$ = instance_npcname("#gen_01");
  364. 'gen_02$ = instance_npcname("#gen_02");
  365. 'gen_03$ = instance_npcname("#gen_03");
  366. 'gen_04$ = instance_npcname("#gen_04");
  367. 'gen_05$ = instance_npcname("#gen_05");
  368. 'gen_06$ = instance_npcname("#gen_06");
  369. 'gen_07$ = instance_npcname("#gen_07");
  370. 'gen_08$ = instance_npcname("#gen_08");
  371. 'gen_09$ = instance_npcname("#gen_09");
  372. 'gen_10$ = instance_npcname("#gen_10");
  373. 'gen_11$ = instance_npcname("#gen_11");
  374. 'gen_12$ = instance_npcname("#gen_12");
  375. 'gen_13$ = instance_npcname("#gen_13");
  376. 'gen_14$ = instance_npcname("#gen_14");
  377. npctalk "Federico : Let us get started. Hm... Are you ready Dr. Fresa?", 'federico$;
  378. sleep 5000;
  379. npctalk "Artemia : Probably making final confirmation checks. An experiment of this scope needs such caution.", 'artemia$;
  380. sleep 6000;
  381. npctalk "Silvia : Care is needed for operating a finished product for the first experiment.", 'silvia$;
  382. sleep 4000;
  383. npctalk "Vincent : Ah, I hope we can finish quickly so I can go eat chicken.", 'vincent$;
  384. sleep 3000;
  385. npctalk "Silvia : Ah! I like that too! Call me when you go.", 'silvia$;
  386. sleep 6000;
  387. mapannounce 'map_name$, "?????: Ah, ah, one two one two, mic test.", bc_map,0x00ff77;
  388. sleep 2000;
  389. npctalk "Federico : She's here.", 'federico$;
  390. sleep 2500;
  391. mapannounce 'map_name$, "?????: Chief director Lona Fresa of project particle accelerator.", bc_map,0x00ff77;
  392. sleep 5000;
  393. mapannounce 'map_name$, "Lona Fresa : Current time " + gettime(DT_MONTH) + " Month " + gettime(DT_DAYOFMONTH) + " Day 25 minutes after 10.", bc_map,0x00ff77;
  394. sleep 5000;
  395. mapannounce 'map_name$, "Lona Fresa : Testing the effects of particle acceleration on its surroundings in an open space.", bc_map,0x00ff77;
  396. sleep 5000;
  397. npctalk "Artemia : Aah... I really don't like this experiment.", 'artemia$;
  398. sleep 3000;
  399. mapannounce 'map_name$, "Lona Fresa : Starting the experiment. Chief researcher Dr. Federico, Artemia, Silvia, Vincent and assistant researchers.", bc_map,0x00ff77;
  400. sleep 5000;
  401. 'bool_event = true;
  402. donpcevent instance_npcname("#npc_con03") + "::OnStart";
  403. npctalk "Artemia : Let us start~", 'artemia$;
  404. sleep 3000;
  405. npctalk "Vincent : Starting rotation of generator.", 'vincent$;
  406. sleep 3000;
  407. npctalk "Federico : Generator rotation fixed at 10000 RPM.", 'federico$;
  408. sleep 2500;
  409. npctalk "Silvia : Voltage is still within the tolerance band.", 'silvia$;
  410. sleep 3000;
  411. mapannounce 'map_name$, "Lona Fresa : This experiment is for the creation of new material that hasn't existed before.", bc_map,0x00ff77;
  412. sleep 5000;
  413. 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;
  414. sleep 6000;
  415. npctalk "Artemia : Contacting catalyst bed number 1.", 'artemia$;
  416. sleep 9000;
  417. npctalk "Silvia : Generator voltage unstable. Still within tolerance band.", 'silvia$;
  418. sleep 3000;
  419. donpcevent instance_npcname("#npc_con03") + "::OnStart2";
  420. sleep 2000;
  421. npctalk "Silvia : Detecting heat close to the tolerance band between the catalyst bed and the accelerator!", 'silvia$;
  422. sleep 5000;
  423. npctalk "Vincent : Accelerator is heating.", 'vincent$;
  424. sleep 5000;
  425. npctalk "Vincent: 320c.", 'vincent$;
  426. sleep 5000;
  427. npctalk "Vincent : 670c It's heating up too fast!", 'vincent$;
  428. sleep 3000;
  429. npctalk "Vincent : Broke through 1000c!!!! Dr. Fresa! We have to momentarily stop the device!", 'vincent$;
  430. sleep 3000;
  431. mapannounce 'map_name$, "Lona Fresa : It is fine.", bc_map,0x00ff77;
  432. sleep 5000;
  433. npctalk "Silvia : It is not a simple problem. The temperature has far exceeded the predicted numbers!", 'silvia$;
  434. sleep 3000;
  435. mapannounce 'map_name$, "Lona Fresa : This problem was predicted. Maintain current state.", bc_map,0x00ff77;
  436. sleep 3000;
  437. npctalk "Artemia : But at least.. I will have chicken later.", 'artemia$;
  438. sleep 5000;
  439. 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;
  440. sleep 3000;
  441. npctalk "Artemia : Dr. Fresa! It's a dangerous situation of Mother Computer. Shut down the main power!", 'artemia$;
  442. sleep 5000;
  443. mapannounce 'map_name$, "MA-4885: Alert. New unidentified creature approaching from demi-plane.", bc_map,0xFFFF00,FW_NORMAL,13;
  444. sleep 3000;
  445. npctalk "Vincent : What is going on. Somebody turn off that computer!", 'vincent$;
  446. sleep 3000;
  447. mapannounce 'map_name$, "MA-4885: A new organism will be soon transmitted from the demi-plane.", bc_map,0xFFFF00,FW_NORMAL,13;
  448. sleep 5000;
  449. mapannounce 'map_name$, "MA-4885: 5 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13;
  450. sleep 1000;
  451. mapannounce 'map_name$, "MA-4885: 4 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13;
  452. sleep 1000;
  453. mapannounce 'map_name$, "MA-4885: 3 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13;
  454. sleep 1000;
  455. mapannounce 'map_name$, "MA-4885: 2 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13;
  456. sleep 1000;
  457. mapannounce 'map_name$, "MA-4885: 1 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13;
  458. sleep 1000;
  459. donpcevent instance_npcname("#npc_con05") + "::OnStart";
  460. mapannounce 'map_name$, "MA-4885: Unidentifiable creature discovered. Temporarily shutting down main power.", bc_map,0xFFFF00,FW_NORMAL,13;
  461. sleep 3000;
  462. 'bool_event = false;
  463. end;
  464. }
  465. 1@lab,4,1,3 script #npc_con05 CLEAR_NPC,{
  466. end;
  467. OnStart:
  468. enablenpc instance_npcname("#npc_con05");
  469. killmonster 'map_name$, instance_npcname("#npc_con05") + "::OnMyMobDead";
  470. .@boss_call = rand(1,105);
  471. if (.@boss_call <= 7) .@mob_id = 1087; // ORK_HERO
  472. else if (.@boss_call <= 14) .@mob_id = 1147; // MAYA
  473. else if (.@boss_call <= 21) .@mob_id = 1190; // ORC_LORD
  474. else if (.@boss_call <= 28) .@mob_id = 1115; // EDDGA
  475. else if (.@boss_call <= 35) .@mob_id = 1086; // GOLDEN_BUG
  476. else if (.@boss_call <= 42) .@mob_id = 1038; // OSIRIS
  477. else if (.@boss_call <= 49) .@mob_id = 1159; // PHREEONI
  478. else if (.@boss_call <= 56) .@mob_id = 1389; // DRACULA
  479. else if (.@boss_call <= 63) .@mob_id = 1046; // DOPPELGANGER
  480. else if (.@boss_call <= 70) .@mob_id = 1059; // MISTRESS
  481. else if (.@boss_call <= 77) .@mob_id = 1150; // MOONLIGHT
  482. else if (.@boss_call <= 84) .@mob_id = 1688; // LADY_TANEE
  483. else if (.@boss_call <= 91) .@mob_id = 1039; // BAPHOMET
  484. else if (.@boss_call <= 93) .@mob_id = 1089; // TOAD
  485. else if (.@boss_call <= 95) .@mob_id = 1092; // VAGABOND_WOLF
  486. else if (.@boss_call <= 97) .@mob_id = 1088; // VOCAL
  487. else if (.@boss_call <= 99) .@mob_id = 1096; // ANGELING
  488. else if (.@boss_call <= 101) .@mob_id = 1093; // ECLIPSE
  489. else if (.@boss_call <= 103) .@mob_id = 1120; // GHOSTRING
  490. else if (.@boss_call <= 105) .@mob_id = 1090; // MASTERING
  491. monster 'map_name$,90,88, "Unidentified creature",.@mob_id,1, instance_npcname("#npc_con05") + "::OnMyMobDead";
  492. sleep 3000;
  493. npctalk "Artemia : What... what is that?!", 'artemia$;
  494. sleep 3000;
  495. npctalk "Silvia : It isn't reacting to us. Maybe it can't see us?", 'silvia$;
  496. sleep 5000;
  497. npctalk "Vincent : But it is hostile to the project assistants! What is that creature!?", 'vincent$;
  498. sleep 5000;
  499. npctalk "Vincent : I can't move my body! I think space is frozen!", 'vincent$;
  500. end;
  501. OnMyMobDead:
  502. mapannounce 'map_name$, "MA-4885: Unidentified creature eliminated. Restarting device.", bc_map, 0xffff00,FW_NORMAL,13,0;
  503. if (mobcount( 'map_name$, instance_npcname("#npc_con05") + "::OnMyMobDead" ) < 1)
  504. initnpctimer;
  505. end;
  506. OnTimer1000:
  507. killmonster 'map_name$, instance_npcname("#npc_con05") + "::OnMyMobDead";
  508. donpcevent instance_npcname("#npc_con06") + "::OnStart";
  509. disablenpc instance_npcname("#npc_con05");
  510. stopnpctimer;
  511. end;
  512. }
  513. // Round 2
  514. 1@lab,4,1,3 script #npc_con06 CLEAR_NPC,{
  515. end;
  516. OnStart:
  517. sleep 9000;
  518. npctalk "Artemia: MA-4885!! On who's order are you restarting! Stop!!", 'artemia$;
  519. sleep 3000;
  520. mapannounce 'map_name$, "MA-4885: Unrecognized command.", bc_map,0xFFFF00,FW_NORMAL,13;
  521. sleep 6000;
  522. npctalk "Artemia: Dr. Fresa!! We have to stop! This is too dangerous!", 'artemia$;
  523. sleep 3000;
  524. mapannounce 'map_name$, "Lona Fresa : ......", bc_map,0x00ff77;
  525. sleep 3000;
  526. npctalk "Vincent: Fresa! We don't have time! Turn off the computer!!", 'vincent$;
  527. sleep 3000;
  528. mapannounce 'map_name$, "MA-4885: Restarting particle acceleration procedure.", bc_map,0xFFFF00,FW_NORMAL,13;
  529. sleep 3000;
  530. 'bool_event = true;
  531. donpcevent instance_npcname("#npc_con03") + "::OnStart";
  532. npctalk "Silvia : Fresa! Make a decision!", 'silvia$;
  533. sleep 3000;
  534. mapannounce 'map_name$, "Lona Fresa : ......", bc_map,0x00ff77;
  535. sleep 6000;
  536. mapannounce 'map_name$, "Lona Fresa : Current time 20 minutes past 11. Momentarily postpone experiment.", bc_map,0x00ff77;
  537. sleep 6000;
  538. mapannounce 'map_name$, "MA-4885: Access denied. Cannot understand command.", bc_map,0xFFFF00,FW_NORMAL,13;
  539. sleep 3000;
  540. donpcevent instance_npcname("#npc_con03") + "::OnStart2";
  541. sleep 2000;
  542. mapannounce 'map_name$, "Lona Fresa : Mother Comp MA-4885. I am your Chief director Dr. Fresa. Cease current progress.", bc_map,0x00ff77;
  543. sleep 5000;
  544. mapannounce 'map_name$, "MA-4885: Access denied. Cannot understand command.", bc_map,0xFFFF00,FW_NORMAL,13;
  545. sleep 5000;
  546. npctalk "Federico : Damnit! Something else is coming!!", 'federico$;
  547. sleep 2500;
  548. mapannounce 'map_name$, "MA-4885: Alert. New unidentified creature approaching from demi-plane.", bc_map,0xFFFF00,FW_NORMAL,13;
  549. sleep 3000;
  550. npctalk "Vincent : Oh... damnit. This is why you shouldn't install the newest CPU.", 'vincent$;
  551. sleep 3000;
  552. npctalk "Federico : Ah... my body...can't move. Damn", 'federico$;
  553. sleep 4000;
  554. mapannounce 'map_name$, "MA-4885: A new organism will be soon transmitted from the demi-plane.", bc_map,0xFFFF00,FW_NORMAL,13;
  555. sleep 5000;
  556. mapannounce 'map_name$, "MA-4885: 5 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13;
  557. sleep 1000;
  558. mapannounce 'map_name$, "MA-4885: 4 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13;
  559. sleep 1000;
  560. mapannounce 'map_name$, "MA-4885: 3 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13;
  561. sleep 1000;
  562. mapannounce 'map_name$, "MA-4885: 2 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13;
  563. sleep 1000;
  564. mapannounce 'map_name$, "MA-4885: 1 seconds remaining", bc_map,0xFFFF00,FW_NORMAL,13;
  565. sleep 1000;
  566. donpcevent instance_npcname("#npc_con07") + "::OnStart";
  567. mapannounce 'map_name$, "MA-4885: Unidentifiable creature discovered. Temporarily shutting down main power.", bc_map,0xFFFF00,FW_NORMAL,13;
  568. sleep 3000;
  569. 'bool_event = false;
  570. end;
  571. }
  572. 1@lab,4,1,3 script #npc_con07 CLEAR_NPC,{
  573. end;
  574. OnStart:
  575. enablenpc instance_npcname("#npc_con07");
  576. killmonster 'map_name$, instance_npcname("#npc_con07") + "::OnMyMobDead";
  577. .@boss_call = rand(1,98);
  578. if (.@boss_call <= 7) .@mob_id = 1980; // KUBLIN
  579. else if (.@boss_call <= 14) .@mob_id = 1157; // PHARAOH
  580. else if (.@boss_call <= 21) .@mob_id = 1112; // DRAKE
  581. else if (.@boss_call <= 28) .@mob_id = 1251; // KNIGHT_OF_WINDSTORM
  582. else if (.@boss_call <= 35) .@mob_id = 2068; // BOITATA
  583. else if (.@boss_call <= 42) .@mob_id = 1373; // LORD_OF_DEATH
  584. else if (.@boss_call <= 49) .@mob_id = 2156; // LEAK
  585. else if (.@boss_call <= 56) .@mob_id = 1272; // DARK_LORD
  586. else if (.@boss_call <= 63) .@mob_id = 1630; // BACSOJIN_
  587. else if (.@boss_call <= 70) .@mob_id = 1252; // GARM
  588. else if (.@boss_call <= 77) .@mob_id = 1779; // KTULLANUX
  589. else if (.@boss_call <= 84) .@mob_id = 1708; // THANATOS
  590. else if (.@boss_call <= 86) .@mob_id = 1089; // TOAD
  591. else if (.@boss_call <= 88) .@mob_id = 1092; // VAGABOND_WOLF
  592. else if (.@boss_call <= 90) .@mob_id = 1088; // VOCAL
  593. else if (.@boss_call <= 92) .@mob_id = 1096; // ANGELING
  594. else if (.@boss_call <= 94) .@mob_id = 1093; // ECLIPSE
  595. else if (.@boss_call <= 96) .@mob_id = 1120; // GHOSTRING
  596. else if (.@boss_call <= 98) .@mob_id = 1090; // MASTERING
  597. monster 'map_name$,90,88, "Unidentified creature",.@mob_id,1, instance_npcname("#npc_con07") + "::OnMyMobDead";
  598. sleep 6000;
  599. npctalk "Silvia: Same as the last time. It seems to have no interest in us.", 'silvia$;
  600. sleep 4000;
  601. npctalk "Vincent: Let's completely shut down the mother computer while the main power is temporarily off!", 'vincent$;
  602. sleep 5000;
  603. mapannounce 'map_name$, "MA-4885: Answering question. This space is currently stuck in a distorted phase.", bc_map,0xFFFF00,FW_NORMAL,13;
  604. sleep 5000;
  605. 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;
  606. sleep 5000;
  607. mapannounce 'map_name$, "MA-4885: Conducting calculations to restore balance to distorted phase. Please wait a moment.", bc_map,0xFFFF00,FW_NORMAL,13;
  608. sleep 5000;
  609. 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$;
  610. sleep 4000;
  611. npctalk "Federico: Aah, I guess we should hope that Mother computer doesn't make the right calculations.", 'federico$;
  612. end;
  613. OnMyMobDead:
  614. mapannounce 'map_name$, "MA-4885: Unidentified creature eliminated. Phase adjustment failed. Restarting relevant procedure.", bc_map, 0xffff00,FW_NORMAL,13,0;
  615. if (mobcount( 'map_name$, instance_npcname("#npc_con07") + "::OnMyMobDead" ) < 1)
  616. initnpctimer;
  617. end;
  618. OnTimer1000:
  619. killmonster 'map_name$, instance_npcname("#npc_con07") + "::OnMyMobDead";
  620. donpcevent instance_npcname("#npc_con08") + "::OnStart";
  621. disablenpc instance_npcname("#npc_con07");
  622. stopnpctimer;
  623. end;
  624. }
  625. // Round 3
  626. 1@lab,4,1,3 script #npc_con08 CLEAR_NPC,{
  627. end;
  628. OnStart:
  629. sleep 13000;
  630. 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;
  631. sleep 6000;
  632. mapannounce 'map_name$, "MA-4885: That is correct.", bc_map, 0xffff00,FW_NORMAL,13,0;
  633. sleep 6000;
  634. npctalk "Artemia: Dr. Fresa!! This ridiculous event is completely unrelated to our original experiment!", 'artemia$;
  635. sleep 6000;
  636. mapannounce 'map_name$, "Lona Fresa: I have fully realized that.", bc_map, 0x00ff77;
  637. sleep 6000;
  638. npctalk "Silvia: Can we not shut down main power completely?", 'silvia$;
  639. sleep 6000;
  640. mapannounce 'map_name$, "MA-4885: Restarting particle acceleration procedure.", bc_map, 0xffff00,FW_NORMAL,13,0;
  641. sleep 5000;
  642. 'bool_event = true;
  643. donpcevent instance_npcname("#npc_con03") + "::OnStart";
  644. 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;
  645. sleep 6000;
  646. mapannounce 'map_name$, "Lona Fresa: Ending record with reasons of Mother Computer malfunction and overheating of accelerator.", bc_map, 0x00ff77;
  647. sleep 5000;
  648. npctalk "Silvia : Alright! Now Dr. Fresa just has to shut down the power.", 'silvia$;
  649. sleep 6000;
  650. mapannounce 'map_name$, "Lona Fresa: Cutting off power to Mother Computer MA-4885.", bc_map, 0x00ff77;
  651. sleep 6000;
  652. mapannounce 'map_name$, "MA-4885: Suspending operation of all equipment as per Administrator request.", bc_map, 0xffff00,FW_NORMAL,13,0;
  653. sleep 5000;
  654. mapannounce 'map_name$, "MA-4885: .....command... ----!!! Zizip... ---!! -- following command ----- !! Zizip.", bc_map, 0xffff00,FW_NORMAL,13,0;
  655. sleep 5000;
  656. 'bool_event = false;
  657. npctalk "Artemia : Whew... is it over?", 'artemia$;
  658. sleep 6000;
  659. mapannounce 'map_name$, "Lona Fresa: Completed shut down of Mother computer MA-4885. Confirm equipment suspension.", bc_map, 0x00ff77;
  660. sleep 5000;
  661. npctalk "Silvia: Looks like it's over.", 'silvia$;
  662. sleep 4000;
  663. npctalk "Federico: Plant initialization is the best.", 'federico$;
  664. sleep 4000;
  665. mapannounce 'map_name$, "Lona Fresa: Recording all experiment progress and terminating at current point.", bc_map, 0x00ff77;
  666. sleep 5000;
  667. mapannounce 'map_name$, "Lona Fresa: The final experiment failure is unfortunate. But I will promise a more perfect experiment next time.", bc_map, 0x00ff77;
  668. sleep 5000;
  669. mapannounce 'map_name$, "Lona Fresa: Good work everybody.", bc_map, 0x00ff77;
  670. sleep 5000;
  671. npctalk "Artemia: It seems to be over.", 'artemia$;
  672. sleep 5000;
  673. npctalk "Federico: I thought it was Fresa's dogmatic experiment. But it was a problem with the mother comp.", 'federico$;
  674. sleep 5500;
  675. npctalk "Silvia: Let's just calm down. And get out of this dreadful laboratory.", 'silvia$;
  676. sleep 5000;
  677. npctalk "Vincent : By the way... I still can't move so what is going on?", 'vincent$;
  678. sleep 5000;
  679. 'bool_event = true;
  680. donpcevent instance_npcname("#npc_con03") + "::OnStart";
  681. donpcevent instance_npcname("#npc_con03") + "::OnStart3";
  682. sleep 2000;
  683. mapannounce 'map_name$, "MA-4885: CODE NAME - DESCENT", bc_map, 0xff0000,FW_NORMAL,16,0;
  684. sleep 5000;
  685. npctalk "Federico : What? Wasn't this the initialization stage?", 'federico$;
  686. sleep 2500;
  687. mapannounce 'map_name$, "MA-4885: Starting final phase transformation.", bc_map, 0xffff00,FW_NORMAL,13,0;
  688. sleep 3000;
  689. npctalk "Silvia : It's all over.", 'silvia$;
  690. sleep 5500;
  691. mapannounce 'map_name$, "MA-4885: A new organism will be soon transmitted from the demi-plane.", bc_map, 0xffff00,FW_NORMAL,13,0;
  692. sleep 5000;
  693. mapannounce 'map_name$, "MA-4885: 5 seconds remaining", bc_map, 0xffff00,FW_NORMAL,13,0;
  694. sleep 1000;
  695. mapannounce 'map_name$, "MA-4885: 4 seconds remaining", bc_map, 0xffff00,FW_NORMAL,13,0;
  696. sleep 1000;
  697. mapannounce 'map_name$, "MA-4885: 3 seconds remaining", bc_map, 0xffff00,FW_NORMAL,13,0;
  698. sleep 1000;
  699. mapannounce 'map_name$, "MA-4885: 2 seconds remaining", bc_map, 0xffff00,FW_NORMAL,13,0;
  700. sleep 1000;
  701. mapannounce 'map_name$, "MA-4885: 1 second remaining", bc_map, 0xffff00,FW_NORMAL,13,0;
  702. sleep 1000;
  703. donpcevent instance_npcname("#npc_con10") + "::OnStart";
  704. mapannounce 'map_name$, "MA-4885: Temporarily shutting down main power for syntonization with transformed phase.", bc_map, 0xffff00,FW_NORMAL,13,0;
  705. sleep 3000;
  706. 'bool_event = false;
  707. end;
  708. }
  709. 1@lab,4,1,3 script #npc_con10 CLEAR_NPC,{
  710. end;
  711. OnStart:
  712. enablenpc instance_npcname("#npc_con10");
  713. killmonster 'map_name$, instance_npcname("#npc_con10") + "::OnMyMobDead";
  714. .@boss_call = rand(1,105);
  715. if (.@boss_call <= 7) .@mob_id = 1623; // RSX_0806
  716. else if (.@boss_call <= 14) .@mob_id = 1418; // DARK_SNAKE_LORD
  717. else if (.@boss_call <= 21) .@mob_id = 1312; // TURTLE_GENERAL
  718. else if (.@boss_call <= 28) .@mob_id = 1785; // ATROCE
  719. else if (.@boss_call <= 35) .@mob_id = 1734; // KIEL_
  720. else if (.@boss_call <= 42) .@mob_id = 1719; // DETALE
  721. else if (.@boss_call <= 49) .@mob_id = 1768; // GLOOMUNDERNIGHT
  722. else if (.@boss_call <= 56) .@mob_id = 2087; // QUEEN_SCARABA
  723. else if (.@boss_call <= 63) .@mob_id = 1751; // RANDGRIS
  724. else if (.@boss_call <= 70) .@mob_id = 2253; // DAEHYON
  725. else if (.@boss_call <= 77) .@mob_id = 2255; // KADES
  726. else if (.@boss_call <= 84) .@mob_id = 1832; // IFRIT
  727. else if (.@boss_call <= 91) .@mob_id = 1874; // BEELZEBUB_
  728. else if (.@boss_call <= 93) .@mob_id = 1089; // TOAD
  729. else if (.@boss_call <= 95) .@mob_id = 1092; // VAGABOND_WOLF
  730. else if (.@boss_call <= 97) .@mob_id = 1088; // VOCAL
  731. else if (.@boss_call <= 99) .@mob_id = 1096; // ANGELING
  732. else if (.@boss_call <= 101) .@mob_id = 1093; // ECLIPSE
  733. else if (.@boss_call <= 103) .@mob_id = 1120; // GHOSTRING
  734. else if (.@boss_call <= 105) .@mob_id = 1090; // MASTERING
  735. monster 'map_name$,90,88, "Unidentified creature",.@mob_id,1, instance_npcname("#npc_con10") + "::OnMyMobDead";
  736. mapannounce 'map_name$, "MA-4885: Final phase transformation process.", bc_map, 0xffff00,FW_NORMAL,13,0;
  737. sleep 5000;
  738. 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;
  739. sleep 5000;
  740. end;
  741. OnMyMobDead:
  742. mapannounce 'map_name$, "MA-4885: Phase synchronization completed before creature is eliminated. Starting dimensional travel.", bc_map, 0xffff00,FW_NORMAL,13,0;
  743. if (mobcount( 'map_name$, instance_npcname("#npc_con10") + "::OnMyMobDead" ) < 1)
  744. initnpctimer;
  745. end;
  746. OnTimer1000:
  747. killmonster 'map_name$, instance_npcname("#npc_con10") + "::OnMyMobDead";
  748. donpcevent instance_npcname("#npc_con11") + "::OnStart";
  749. disablenpc instance_npcname("#npc_con10");
  750. stopnpctimer;
  751. end;
  752. }
  753. 1@lab,4,1,3 script #npc_con11 CLEAR_NPC,{
  754. end;
  755. OnStart:
  756. 'bool_event = true;
  757. donpcevent instance_npcname("#npc_con03") + "::OnStart";
  758. sleep 12000;
  759. mapannounce 'map_name$, "MA-4885: Conducting calculations to restore balance to distorted phase. Please wait a moment.", bc_map, 0xffff00,FW_NORMAL,13,0;
  760. sleep 5000;
  761. npctalk "Federico : Mother comp is conducting a tremendous experiment going beyond what we thought of.", 'federico$;
  762. sleep 2500;
  763. npctalk "Vincent : Seems more magnanimous than we are. Fresa!!! Are you listening? Sound the alarm!", 'vincent$;
  764. sleep 5000;
  765. npctalk "Vincent : We should at least evacuate the people in the other labs.", 'vincent$;
  766. sleep 5000;
  767. mapannounce 'map_name$, "Lona Fresa: But ... you.", bc_map, 0x00ff77;
  768. sleep 5000;
  769. npctalk "Silvia : Gee, I don't know what will happen but I am curious about shifting dimensions. Don't mind me!", 'silvia$;
  770. sleep 5000;
  771. npctalk "Artemia : Dimension moving while experimenting on new material production. Got caught up in a different level of an experiment.", 'artemia$;
  772. sleep 5000;
  773. 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;
  774. sleep 5000;
  775. 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;
  776. npctalk "Federico : Is this how it feels to move dimensions. How strange...", 'federico$;
  777. sleep 4000;
  778. specialeffect EF_SUI_EXPLOSION, AREA, 'federico$;
  779. disablenpc 'federico$;
  780. 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;
  781. donpcevent instance_npcname("#npc_con03") + "::OnStart2";
  782. npctalk "Vincent : I wonder if the others evacuated?", 'vincent$;
  783. sleep 5000;
  784. specialeffect EF_SUI_EXPLOSION, AREA, 'vincent$;
  785. disablenpc 'vincent$;
  786. npctalk "Silvia : Ah...... I should be seeing this while having chicken and beer...", 'silvia$;
  787. sleep 5000;
  788. specialeffect EF_SUI_EXPLOSION, AREA, 'silvia$;
  789. disablenpc 'silvia$;
  790. 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;
  791. npctalk "Artemia : Ha... whose going to eat the chicken now?", 'artemia$;
  792. sleep 5000;
  793. specialeffect EF_SUI_EXPLOSION, AREA, 'artemia$;
  794. disablenpc 'artemia$;
  795. donpcevent instance_npcname("#npc_con03") + "::OnStart3";
  796. sleep 10000;
  797. 'bool_event = false;
  798. mapannounce 'map_name$, "MA-4885: Dimension move 100% completed. Welcome to the demi-plane dimension.", bc_map, 0xffff00,FW_NORMAL,13,0;
  799. sleep 5000;
  800. 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;
  801. sleep 5000;
  802. 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;
  803. sleep 5000;
  804. 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;
  805. enablenpc instance_npcname("lab_warp#end");
  806. end;
  807. }
  808. // Display effects
  809. 1@lab,4,1,5 script #npc_con03 CLEAR_NPC,{
  810. end;
  811. function effect_gen {
  812. .@effect = getarg(0);
  813. .@count = getargcount();
  814. for ( .@i = 1; .@i < .@count; .@i++ )
  815. specialeffect .@effect, AREA, getd( "'gen_" + ( getarg(.@i) < 10 ? "0" : "" ) + getarg(.@i) + "$" );
  816. return;
  817. }
  818. function effect_1_10_gen { effect_gen( getarg(0), 1,2,3,4,5,6,7,8,9,10 ); }
  819. OnStart:
  820. effect_gen( EF_MAGICALATTHIT, 1 );
  821. sleep 2000;
  822. effect_gen( EF_MAGICALATTHIT, 1,3 );
  823. sleep 1900;
  824. effect_gen( EF_MAGICALATTHIT, 1,3,8 );
  825. sleep 1700;
  826. effect_gen( EF_MAGICALATTHIT, 1,3,8,4 );
  827. sleep 1600;
  828. effect_gen( EF_MAGICALATTHIT, 1,3,8,4,6 );
  829. sleep 1500;
  830. effect_gen( EF_MAGICALATTHIT, 1,3,8,4,6,2 );
  831. sleep 1400;
  832. effect_gen( EF_MAGICALATTHIT, 1,3,8,4,6,2,7 );
  833. sleep 1300;
  834. effect_gen( EF_MAGICALATTHIT, 1,3,8,4,6,2,7,9 );
  835. sleep 1200;
  836. effect_gen( EF_MAGICALATTHIT, 1,3,8,4,6,2,7,9,5 );
  837. sleep 1100;
  838. while( 'bool_event ) {
  839. effect_1_10_gen( EF_MAGICALATTHIT );
  840. sleep 1000;
  841. }
  842. end;
  843. OnStart2:
  844. effect_gen( EF_BLASTMINEBOMB, 1 );
  845. sleep 2000;
  846. effect_gen( EF_BLASTMINEBOMB, 1,3 );
  847. sleep 1900;
  848. effect_gen( EF_BLASTMINEBOMB, 1,3,8 );
  849. sleep 1800;
  850. effect_gen( EF_BLASTMINEBOMB, 1,3,8,4 );
  851. sleep 1700;
  852. effect_gen( EF_BLASTMINEBOMB, 1,3,8,4,6 );
  853. sleep 1600;
  854. effect_gen( EF_BLASTMINEBOMB, 1,3,8,4,6,2 );
  855. sleep 1500;
  856. effect_gen( EF_BLASTMINEBOMB, 1,3,8,4,6,2,7 );
  857. sleep 1400;
  858. effect_gen( EF_BLASTMINEBOMB, 1,3,8,4,6,2,7,9 );
  859. sleep 1300;
  860. effect_gen( EF_BLASTMINEBOMB, 1,3,8,4,6,2,7,9,5 );
  861. sleep 1200;
  862. while( 'bool_event ) {
  863. effect_1_10_gen( EF_BLASTMINEBOMB );
  864. sleep 1100;
  865. }
  866. end;
  867. OnStart3:
  868. while( 'bool_event ) {
  869. specialeffect EF_LORD, AREA, 'gen_11$;
  870. sleep 2000;
  871. specialeffect EF_LORD, AREA, 'gen_12$;
  872. sleep 2000;
  873. specialeffect EF_LORD, AREA, 'gen_13$;
  874. sleep 2000;
  875. specialeffect EF_LORD, AREA, 'gen_14$;
  876. sleep 2000;
  877. }
  878. end;
  879. }
  880. 1@lab,91,80,5 script #gen_01 CLEAR_NPC,{ end; }
  881. 1@lab,96,81,5 duplicate(#gen_01) #gen_02 CLEAR_NPC
  882. 1@lab,99,85,5 duplicate(#gen_01) #gen_03 CLEAR_NPC
  883. 1@lab,99,91,5 duplicate(#gen_01) #gen_04 CLEAR_NPC
  884. 1@lab,96,95,5 duplicate(#gen_01) #gen_05 CLEAR_NPC
  885. 1@lab,91,97,5 duplicate(#gen_01) #gen_06 CLEAR_NPC
  886. 1@lab,85,96,5 duplicate(#gen_01) #gen_07 CLEAR_NPC
  887. 1@lab,82,91,5 duplicate(#gen_01) #gen_08 CLEAR_NPC
  888. 1@lab,82,86,5 duplicate(#gen_01) #gen_09 CLEAR_NPC
  889. 1@lab,85,81,5 duplicate(#gen_01) #gen_10 CLEAR_NPC
  890. 1@lab,90,97,5 duplicate(#gen_01) #gen_11 CLEAR_NPC
  891. 1@lab,82,89,5 duplicate(#gen_01) #gen_12 CLEAR_NPC
  892. 1@lab,91,80,5 duplicate(#gen_01) #gen_13 CLEAR_NPC
  893. 1@lab,99,88,5 duplicate(#gen_01) #gen_14 CLEAR_NPC
  894. // Warps
  895. 1@lab,102,28,0 warp2 lab_warp#1 2,2,1@lab,97,28
  896. 1@lab,80,28,0 warp2 lab_warp#2 2,2,1@lab,75,28
  897. 1@lab,58,28,0 warp2 lab_warp#3 2,2,1@lab,53,28
  898. 1@lab,29,38,0 warp2 lab_warp#4 2,2,1@lab,29,43
  899. 1@lab,48,82,0 warp2 lab_warp#5 2,2,1@lab,58,82
  900. 1@lab,123,88,0 warp2 lab_warp#end 2,2,verus01,152,150
  901. //-- GM NPCs
  902. 1@lab,1,1,3 script #adsw_ CLEAR_NPC,{
  903. if (callfunc("F_GM_NPC",1854,0,0,2000) < 1)
  904. end;
  905. mes "[Time Administrator]";
  906. mes "Which time do you want to go?";
  907. next;
  908. switch( select( "Cancel", "1 start", "2 start", "3 start", "4 start" ) ) {
  909. case 1:
  910. close;
  911. case 2:
  912. donpcevent instance_npcname("#npc_con01") + "::OnStart";
  913. break;
  914. case 3:
  915. donpcevent instance_npcname("#npc_con06") + "::OnStart";
  916. break;
  917. case 4:
  918. donpcevent instance_npcname("#npc_con08") + "::OnStart";
  919. break;
  920. case 5:
  921. end;
  922. }
  923. warp instance_mapname("1@lab"), 84,90;
  924. end;
  925. }
  926. verus01,1,5,5 script Laboratory Administrator#pa0829_01 CLEAR_NPC,{
  927. if (callfunc("F_GM_NPC",1854,0,0,2000) < 1) {
  928. warp "prontera",100,100;
  929. end;
  930. }
  931. mes "[Laboratory Administrator]";
  932. mes "All handled well!";
  933. close2;
  934. if (isbegin_quest(12347) > 0)
  935. erasequest 12347;
  936. end;
  937. }