BangungotHospital.txt 38 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106
  1. //===== rAthena Script =======================================
  2. //= Bangungot Hospital 2F
  3. //===== By: ==================================================
  4. //= Euphy
  5. //===== Current Version: =====================================
  6. //= 1.3
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= [Official Conversion]
  11. //= Save the hospital in Port Malaya from Bangungot.
  12. //= Part of the "Nurse in Port Malaya" quest.
  13. //===== Additional Comments: =================================
  14. //= 1.0 First version. [Euphy]
  15. //= 1.1 Added GM management function. [Euphy]
  16. //= 1.2 Added VIP features. [Euphy]
  17. //= 1.3 Bugs fixed. [Capuche]
  18. //============================================================
  19. // Instance Creation :: ma_hos_enter
  20. //============================================================
  21. ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{
  22. if (BaseLevel < 100)
  23. end;
  24. .@party_id = getcharid(1);
  25. cutin "malaya_nurseB",2;
  26. switch( checkquest(9223,PLAYTIME) ) {// Will there be Peace at the Hospital?
  27. case -1:
  28. switch( isbegin_quest(9222) ) {// Get Rid of Bangungot from Hospital 2F
  29. case 0:
  30. if (.@party_id == 0) {
  31. if (malaya_bang == 30) {
  32. malaya_bang = 31;
  33. changequest 11302,11303;
  34. callsub S_Closed;
  35. }
  36. else if (malaya_bang == 31)
  37. callsub S_Closed;
  38. else
  39. callsub S_NoParty;
  40. }
  41. if (checkquest(11309,HUNTING) == 2) {
  42. mes "[Nurse Maenne]";
  43. mes "You got rid of Bangungot!";
  44. mes "The nurse might be waiting for you";
  45. mes "in front of the hospital!";
  46. close2;
  47. cutin "",255;
  48. end;
  49. }
  50. switch( checkquest(9224,PLAYTIME) ) {// Explore Hospital 2F
  51. case -1:
  52. if (malaya_bang == 30) {
  53. malaya_bang = 31;
  54. changequest 11302,11303;
  55. callsub S_Closed;
  56. }
  57. else if (malaya_bang == 31)
  58. callsub S_Closed;
  59. else if (malaya_bang > 39)
  60. callsub S_Enter, false;
  61. else {
  62. mes "[Nurse Maenne]";
  63. mes "..........";
  64. close2;
  65. cutin "",255;
  66. end;
  67. }
  68. case 0:
  69. case 1:
  70. mes "[Nurse Maenne]";
  71. mes "Now the entrance";
  72. mes "to go up second floor";
  73. mes "is closed.";
  74. next;
  75. mes "[Nurse Maenne]";
  76. mes "To go up";
  77. mes "the second floor again";
  78. mes "Open the gate";
  79. mes "after lapse of time.";
  80. close2;
  81. cutin "",255;
  82. end;
  83. case 2:
  84. if (checkquest(11309,HUNTING) == -1)
  85. callsub S_NoParty;
  86. if (isbegin_quest(11309) == 1) {
  87. mes "[Nurse Maenne]";
  88. mes "From the Bangungot at second floor";
  89. mes "You returned safely to here!!";
  90. next;
  91. mes "[Nurse Maenne]";
  92. mes "If you want to go up";
  93. mes "second floor again";
  94. mes "Please come to me.";
  95. completequest 9224;
  96. erasequest 9224;
  97. close2;
  98. cutin "",255;
  99. end;
  100. }
  101. // isbegin_quest(11309) == 2, HUNTING == 0 or HUNTING == 1
  102. if (malaya_bang > 39)
  103. callsub S_Enter, true;
  104. else {
  105. mes "[Nurse Maenne]";
  106. mes ".......";
  107. close2;
  108. cutin "",255;
  109. end;
  110. }
  111. }
  112. case 1:
  113. if (.@party_id == 0)
  114. callsub S_NoParty;
  115. if (malaya_bang < 40) {
  116. mes "[Nurse Maenne]";
  117. mes ".....?";
  118. mes "Now you can't go up";
  119. mes "to the 2nd floor.";
  120. close2;
  121. cutin "",255;
  122. end;
  123. }
  124. if (checkquest(9222,HUNTING) == 0 || checkquest(9222,HUNTING) == 1) {
  125. switch( checkquest(9224,PLAYTIME) ) {// Explore Hospital 2F
  126. case -1:
  127. mes "[Nurse Maenne]";
  128. mes "This is fatal situation.";
  129. mes "that is why you can't go up";
  130. mes "2nd floor.";
  131. close2;
  132. cutin "",255;
  133. end;
  134. case 0:
  135. case 1:
  136. mes "[Nurse Maenne]";
  137. mes "To the second floor of hospital";
  138. mes "Do you want go up second floor again?";
  139. callsub S_Enter, false, false;
  140. case 2:
  141. callsub S_Enter, true;
  142. }
  143. }
  144. // else
  145. if (checkweight(607,11) == 0) {
  146. mes "[Nurse Maenne]";
  147. mes "You have too much stuff.";
  148. mes "Please reduce your stuff and";
  149. mes "come to me again.";
  150. close2;
  151. cutin "",255;
  152. end;
  153. }
  154. if (checkweight(607,1) == 0) {
  155. mes "[Nurse Maenne]";
  156. mes "It's too heavy.";
  157. mes "Please reduce the weight and";
  158. mes "come to me again.";
  159. close2;
  160. cutin "",255;
  161. end;
  162. }
  163. callsub S_Complete, true;
  164. getexp 500000,0;
  165. if (VIP_SCRIPT == 0 || vip_status(VIP_STATUS_ACTIVE))
  166. getitem 6499,7;// Ancient_Grudge
  167. else
  168. getitem 6499,5;
  169. close2;
  170. cutin "",255;
  171. end;
  172. case 2:
  173. callsub S_Complete, true;
  174. close2;
  175. cutin "",255;
  176. end;
  177. }
  178. case 0:
  179. case 1:
  180. callsub S_Complete, false;
  181. close2;
  182. cutin "",255;
  183. end;
  184. case 2:
  185. if (.@party_id == 0)
  186. callsub S_NoParty;
  187. else if (malaya_bang > 39)
  188. callsub S_Enter, true;
  189. else {
  190. mes "[Nurse Maenne]";
  191. mes ".......";
  192. close2;
  193. cutin "",255;
  194. end;
  195. }
  196. }
  197. S_Closed:
  198. mes "[Nurse Maenne]";
  199. mes "- The door is closed to 1st floor";
  200. mes "when this Nurse came in?";
  201. mes "I call her behind but";
  202. mes "She doesn't respond. -";
  203. close2;
  204. cutin "",255;
  205. end;
  206. S_Complete:
  207. mes "[Nurse Maenne]";
  208. mes "You returned safely from the Bangungot on the second floor!!";
  209. mes "However, it's not";
  210. mes "really over yet.";
  211. next;
  212. mes "[Nurse Maenne]";
  213. mes "I'm pretty sure it";
  214. mes "never disappears easily.";
  215. mes "I don't know what will happen";
  216. mes "about Bangungot, so";
  217. mes "after a lapse of time";
  218. mes "please return to me.";
  219. if (getarg(0) == true) {
  220. completequest 9222;
  221. erasequest 9222;
  222. completequest 9224;
  223. erasequest 9224;
  224. setquest 9223;
  225. }
  226. return;
  227. S_NoParty:
  228. mes "- I guess...";
  229. mes "I can't talk him alone.";
  230. mes "After registering a party";
  231. mes "let me try to say something. -";
  232. close2;
  233. cutin "",255;
  234. end;
  235. S_Enter:
  236. .@md_name$ = "Bangungot Hospital 2F";
  237. if (getarg(1,1) == true) {
  238. if (is_party_leader() == true)
  239. .@menu$ = "Prepare to enter the second floor.";
  240. mes "[Nurse Maenne]";
  241. if (getarg(0) == false) {
  242. mes "I already heard that story so";
  243. mes "I pretty much know that.";
  244. mes "What are you going to do?";
  245. mes "Do you want to go up";
  246. mes "to the second floor?";
  247. }
  248. else {
  249. mes "You are back...";
  250. mes "There is bad news.";
  251. mes "I heard that";
  252. mes "the Bangungot is appeared";
  253. mes "again.";
  254. next;
  255. mes "[Nurse Maenne]";
  256. mes ""+ strcharinfo(0) +" 's help";
  257. mes "is needed again.";
  258. mes "Please could you give me";
  259. mes "one more chance?";
  260. }
  261. }
  262. next;
  263. switch( select( .@menu$, "Enter the second floor.", "Do not enter." ) ) {
  264. case 1:
  265. if (instance_create(.@md_name$) < 0) {
  266. mes "[Nurse Maenne]";
  267. mes "A critical situation has happened.";
  268. mes "You can't go up to the 2nd floor.";
  269. break;
  270. }
  271. mes "[Nurse Maenne]";
  272. mes "We are preparing to go up";
  273. mes "to the second floor.";
  274. mes "At the second floor";
  275. mes "there is a chaotic rumor that";
  276. mes "the dead do not die.";
  277. mes "Please refer to this story.";
  278. next;
  279. mes "[Nurse Maenne]";
  280. mes "When you finish everything,";
  281. mes "please talk to me again.";
  282. mes "I really appreciate it.";
  283. break;
  284. case 2:
  285. switch( instance_enter(.@md_name$) ) {
  286. case IE_OTHER:
  287. mes "[Nurse Maenne]";
  288. mes "A critical situation has happened.";
  289. mes "You can't go up to the 2nd floor.";
  290. break;
  291. case IE_NOINSTANCE:
  292. mes "[Nurse Maenne]";
  293. mes "You can't go up to";
  294. mes "the 2nd floor now.";
  295. break;
  296. case IE_NOMEMBER:
  297. mes "[Nurse Maenne]";
  298. mes "It's too dangerous to go";
  299. mes "up to the 2nd floor alone.";
  300. mes "Please come here with";
  301. mes "several people.";
  302. break;
  303. case IE_OK:
  304. mapannounce "ma_dun01", getpartyname(getcharid(1)) + " party's " + strcharinfo(0) + " member entered " + .@md_name$ + ".",bc_map,"0x00ff99";
  305. if (getarg(0) == true) {
  306. if (checkquest(9223) > -1) {
  307. completequest 9223;
  308. erasequest 9223;
  309. }
  310. if (checkquest(9222) > -1)
  311. erasequest 9222;
  312. if (checkquest(9224) > -1)
  313. erasequest 9224;
  314. setquest 9222;
  315. }
  316. if (isbegin_quest(9224) == 0)
  317. setquest 9224;
  318. cutin "",255;
  319. //warp "1@ma_h",40,157;
  320. end;
  321. }
  322. break;
  323. case 3:
  324. mes "[Nurse Maenne]";
  325. mes "Alright.";
  326. mes "If you change mind, come back again.";
  327. break;
  328. }
  329. close2;
  330. cutin "",255;
  331. end;
  332. }
  333. // GM Management NPC :: ma_hos_enter_2
  334. //============================================================
  335. sec_in02,27,30,0 script Bangungot Gate 2_MONEMUS,{
  336. mes "Password";
  337. next;
  338. if (callfunc("F_GM_NPC","1854",1) == 0) {
  339. mes "Good Luck.";
  340. close;
  341. }
  342. switch(select("Receive 9222:Receive 9223:Erase 9222:Erase 9223:Receive 9224:Erase 9224:Receive malaya_bang 30:Receive malaya_bang 40:Receive 11309:Erase 11309:Cancel")) {
  343. case 1: setquest 9222; end;
  344. case 2: setquest 9223; end;
  345. case 3: erasequest 9222; end;
  346. case 4: erasequest 9223; end;
  347. case 5: setquest 9224; end;
  348. case 6: erasequest 9224; end;
  349. case 7: malaya_bang = 30; end;
  350. case 8: malaya_bang = 40; end;
  351. case 9: setquest 11309; end;
  352. case 10: completequest 11309; end;
  353. case 11: end;
  354. }
  355. }
  356. // Instance Scripts :: ma_hos
  357. //============================================================
  358. 1@ma_h,43,157,0 script #Memorial Start HIDDEN_WARP_NPC,2,2,{
  359. end;
  360. OnTouch:
  361. if ('disablenpc == 0) {
  362. 'disablenpc = 1;
  363. mapannounce 'map_name$, "Bangungot: You silly " + strcharinfo(0) + " ....",bc_map,"0xFF82FF";
  364. mapannounce 'map_name$, "Bangungot: Get out before you die...",bc_map,"0xFF82FF";
  365. areamonster 'map_name$,44,156,46,158,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Memorial Start") + "::OnMyMobDead";
  366. donpcevent instance_npcname("#Memorial Start_time") + "::OnEnable";
  367. }
  368. end;
  369. OnMyMobDead:
  370. initnpctimer;
  371. end;
  372. OnTimer1000:
  373. if (mobcount('map_name$,instance_npcname("#Memorial Start") + "::OnMyMobDead") < 1) {
  374. donpcevent instance_npcname("#Ward1 Entry") + "::OnEnable1";
  375. donpcevent instance_npcname("#Memorial Start_time") + "::OnDisable";
  376. mapannounce 'map_name$, "Bangungot: This is where your NIGHTMARE starts...",bc_map,"0xFF82FF";
  377. disablenpc instance_npcname("#Memorial Start");
  378. }
  379. stopnpctimer;
  380. end;
  381. }
  382. 1@ma_h,43,157,0 script #Memorial Start_time HIDDEN_WARP_NPC,{// 2,2
  383. end;
  384. OnEnable:
  385. specialeffect EF_BAT2,AREA,instance_npcname("#Memorial Start");
  386. initnpctimer;
  387. end;
  388. OnDisable:
  389. stopnpctimer;
  390. end;
  391. OnTimer5000:
  392. mapannounce 'map_name$, "Bangungot: You cannot help.... you can't defeat me.",bc_map,"0xFF82FF";
  393. end;
  394. OnTimer10000:
  395. mapannounce 'map_name$, "Bangungot: HAHAHAHAHAHAHAHA!!!!",bc_map,"0xFF82FF";
  396. stopnpctimer;
  397. end;
  398. OnInstanceInit:
  399. disablenpc instance_npcname("#Memorial Start_time");
  400. end;
  401. }
  402. 1@ma_h,46,165,0 script #Ward1 Entry HIDDEN_WARP_NPC,{ //3,3
  403. end;
  404. OnEnable1:
  405. .@npc_name$ = instance_npcname(strnpcinfo(0));
  406. .@label$ = .@npc_name$ + "::OnMyMobDead";
  407. enablenpc .@npc_name$;
  408. specialeffect EF_BAT2;
  409. switch(atoi(charat(strnpcinfo(2),4))) {
  410. case 1:
  411. areamonster 'map_name$,49,171,51,173,"Bangungot's Mangkukulam",2339,1,.@label$;
  412. areamonster 'map_name$,51,171,53,173,"Bangungot's Mangkukulam",2339,1,.@label$;
  413. end;
  414. case 2:
  415. areamonster 'map_name$,49,137,51,139,"Bangungot's Mangkukulam",2339,1,.@label$;
  416. areamonster 'map_name$,51,137,53,139,"Bangungot's Mangkukulam",2339,1,.@label$;
  417. end;
  418. case 3:
  419. areamonster 'map_name$,69,171,71,173,"Bangungot's Mangkukulam",2339,1,.@label$;
  420. areamonster 'map_name$,71,171,73,173,"Bangungot's Mangkukulam",2339,1,.@label$;
  421. areamonster 'map_name$,73,171,75,173,"Bangungot's Mangkukulam",2339,1,.@label$;
  422. end;
  423. case 4:
  424. areamonster 'map_name$,71,139,73,141,"Bangungot's Mangkukulam",2339,1,.@label$;
  425. areamonster 'map_name$,73,139,75,141,"Bangungot's Mangkukulam",2339,1,.@label$;
  426. areamonster 'map_name$,75,139,77,141,"Bangungot's Mangkukulam",2339,1,.@label$;
  427. end;
  428. case 5:
  429. areamonster 'map_name$,93,173,95,175,"Bangungot's Mangkukulam",2339,1,.@label$;
  430. areamonster 'map_name$,95,173,97,175,"Bangungot's Mangkukulam",2339,1,.@label$;
  431. areamonster 'map_name$,97,173,99,175,"Bangungot's Mangkukulam",2339,1,.@label$;
  432. areamonster 'map_name$,93,175,95,177,"Bangungot's Mangkukulam",2339,1,.@label$;
  433. end;
  434. }
  435. end;
  436. /*
  437. // Not called in official scripts.
  438. OnEnable2:
  439. areamonster 'map_name$,140,38,142,40,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Ward1 Entry") + "::OnMyMobDead";
  440. end;
  441. */
  442. OnEnable3:
  443. .@i = atoi(charat(strnpcinfo(2),4))+1;
  444. donpcevent instance_npcname("#Ward" + .@i + " Entry") + "::OnEnable1";
  445. disablenpc instance_npcname(strnpcinfo(0));
  446. end;
  447. OnMyMobDead:
  448. initnpctimer;
  449. end;
  450. OnTimer1000:
  451. if (mobcount('map_name$,instance_npcname(strnpcinfo(0)) + "::OnMyMobDead") < 1) {
  452. specialeffect EF_BAT2;
  453. donpcevent instance_npcname(strnpcinfo(0)) + "::OnEnable3";
  454. switch(atoi(charat(strnpcinfo(2),4))) {
  455. case 1: .@string$ = "Bangungot: I will let you see the pain and the agony actually be real....."; break;
  456. case 2: .@string$ = "Bangungot: Diseased spirits are the source of my energy, and my life..."; break;
  457. case 3: .@string$ = "Bangungot: Scream more....and more...... your pain..."; break;
  458. case 4: .@string$ = "Bangungot: Deeply and more deeply in pain..."; break;
  459. case 5: .@string$ = "Bangungot: Be horrified...be petrified."; break;
  460. }
  461. mapannounce 'map_name$, .@string$, bc_map,"0xFF82FF";
  462. }
  463. stopnpctimer;
  464. end;
  465. OnInstanceInit:
  466. disablenpc instance_npcname(strnpcinfo(0));
  467. end;
  468. }
  469. 1@ma_h,57,147,0 duplicate(#Ward1 Entry) #Ward2 Entry HIDDEN_WARP_NPC //3,3
  470. 1@ma_h,67,165,0 duplicate(#Ward1 Entry) #Ward3 Entry HIDDEN_WARP_NPC //3,3
  471. 1@ma_h,79,147,0 duplicate(#Ward1 Entry) #Ward4 Entry HIDDEN_WARP_NPC //3,3
  472. 1@ma_h,90,165,0 duplicate(#Ward1 Entry) #Ward5 Entry HIDDEN_WARP_NPC //3,3
  473. 1@ma_h,101,147,0 script #Ward6 Entry HIDDEN_WARP_NPC,{ //2,2
  474. end;
  475. OnEnable1:
  476. .@npc_name$ = instance_npcname("#Ward6 Entry");
  477. .@label$ = .@npc_name$ + "::OnMyMobDead";
  478. enablenpc .@npc_name$;
  479. specialeffect EF_BAT2;
  480. areamonster 'map_name$,93,137,95,139,"Bangungot's Mangkukulam",2339,1,.@label$;
  481. areamonster 'map_name$,95,137,97,139,"Bangungot's Mangkukulam",2339,1,.@label$;
  482. areamonster 'map_name$,97,137,99,139,"Bangungot's Mangkukulam",2339,1,.@label$;
  483. areamonster 'map_name$,93,139,95,141,"Bangungot's Mangkukulam",2339,1,.@label$;
  484. areamonster 'map_name$,95,139,97,141,"Bangungot's Manananggal",2338,1,.@label$;
  485. end;
  486. /*
  487. // Not called in official scripts.
  488. OnEnable2:
  489. areamonster 'map_name$,140,38,142,40,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Ward6 Entry") + "::OnMyMobDead";
  490. end;
  491. */
  492. OnMyMobDead:
  493. initnpctimer;
  494. end;
  495. OnTimer3000:
  496. if (mobcount('map_name$,instance_npcname("#Ward6 Entry") + "::OnMyMobDead") < 1) {
  497. specialeffect EF_BAT2;
  498. donpcevent instance_npcname("#Summon Boss") + "::OnEnable";
  499. mapannounce 'map_name$, "Bangungot: You had the choice to enter here, but you have no choice to get out as you want...",bc_map,"0xFF82FF";
  500. }
  501. stopnpctimer;
  502. end;
  503. OnInstanceInit:
  504. disablenpc instance_npcname("#Ward6 Entry");
  505. end;
  506. }
  507. 1@ma_h,110,177,0 script #Summon Boss HIDDEN_WARP_NPC,{
  508. end;
  509. OnEnable:
  510. enablenpc instance_npcname("#Summon Boss");
  511. monster 'map_name$,143,158,"Bangungot",2317,1,instance_npcname("#Summon Boss") + "::OnMyMobDead";
  512. donpcevent instance_npcname("#Boss Room Entry") + "::OnEnableEntry";
  513. donpcevent instance_npcname("#Boss Room Entry") + "::OnEnable";
  514. end;
  515. OnMyMobDead:
  516. initnpctimer;
  517. end;
  518. OnTimer1000:
  519. if (mobcount('map_name$,instance_npcname("#Summon Boss") + "::OnMyMobDead") < 1) {
  520. donpcevent instance_npcname("#Summon Pillar") + "::OnEnable1";
  521. mapannounce 'map_name$, "Bangungot: I....cannot.....finish...like.......this.",bc_map,"0xFF82FF";
  522. disablenpc instance_npcname("#Summon Boss");
  523. }
  524. stopnpctimer;
  525. end;
  526. OnInstanceInit:
  527. disablenpc instance_npcname("#Summon Boss");
  528. end;
  529. }
  530. 1@ma_h,147,143,0 script #Boss Room Entry HIDDEN_WARP_NPC,10,10,{
  531. end;
  532. OnTouch:
  533. specialeffect EF_GHOST;
  534. donpcevent instance_npcname("#Boss Room Entry") + "::OnDisableEntry";
  535. donpcevent instance_npcname("#Boss Room Entry_time") + "::OnEnable";
  536. end;
  537. OnEnable:
  538. // enablenpc instance_npcname("#Boss Room Entry");
  539. enablenpc instance_npcname("#Boss Room Door");
  540. enablenpc instance_npcname("#Boss Room Door1");
  541. end;
  542. OnSpawn:
  543. areamonster 'map_name$,123,152,137,166,"Bangungot's Manananggal",2338,1,instance_npcname("#Boss Room Entry") + "::OnMyMobDead";
  544. end;
  545. OnReset:
  546. killmonster 'map_name$,instance_npcname("#Boss Room Entry") + "::OnMyMobDead";
  547. end;
  548. OnMyMobDead:
  549. initnpctimer;
  550. end;
  551. OnTimer1000:
  552. if (mobcount('map_name$,instance_npcname("#Boss Room Entry") + "::OnMyMobDead") < 1)
  553. mapannounce 'map_name$, "Bangungot: HAHAHAH... That's not enough, I will be even stronger....",bc_map,"0xFF82FF";
  554. stopnpctimer;
  555. end;
  556. // Unofficial labels (to avoid duplicating code).
  557. OnEnableEntry:
  558. enablenpc instance_npcname("#Boss Room Entry");
  559. enablenpc instance_npcname("#Boss Room Entry_a");
  560. enablenpc instance_npcname("#Boss Room Entry_b");
  561. enablenpc instance_npcname("#Boss Room Entry_c");
  562. enablenpc instance_npcname("#Boss Room Entry_d");
  563. enablenpc instance_npcname("#Boss Room Entry_e");
  564. enablenpc instance_npcname("#Boss Room Entry_f");
  565. enablenpc instance_npcname("#Boss Room Entry_g");
  566. enablenpc instance_npcname("#Boss Room Entry_h");
  567. end;
  568. OnDisableEntry:
  569. disablenpc instance_npcname("#Boss Room Entry");
  570. disablenpc instance_npcname("#Boss Room Entry_a");
  571. disablenpc instance_npcname("#Boss Room Entry_b");
  572. disablenpc instance_npcname("#Boss Room Entry_c");
  573. disablenpc instance_npcname("#Boss Room Entry_d");
  574. disablenpc instance_npcname("#Boss Room Entry_e");
  575. disablenpc instance_npcname("#Boss Room Entry_f");
  576. disablenpc instance_npcname("#Boss Room Entry_g");
  577. disablenpc instance_npcname("#Boss Room Entry_h");
  578. end;
  579. OnInstanceInit:
  580. disablenpc instance_npcname("#Boss Room Entry");
  581. end;
  582. }
  583. 1@ma_h,147,143,0 script #Boss Room Entry_time HIDDEN_WARP_NPC,{ //10,10
  584. end;
  585. OnEnable:
  586. mapannounce 'map_name$, "Bangungot: You poor little things. I will invite you to the world of infectious disease...",bc_map,"0xFF82FF";
  587. initnpctimer;
  588. end;
  589. OnTimer25000:
  590. mapannounce 'map_name$, "Bangungot: You will know what it is...",bc_map,"0xFF82FF";
  591. for ( .@i = 10; .@i <= 22; ++.@i )
  592. disablenpc instance_npcname("#Patternwarp" + .@i);
  593. end;
  594. OnTimer35000:
  595. mapannounce 'map_name$, "Bangungot: Real pain! You will know!!",bc_map,"0xFF82FF";
  596. for ( .@i = 25; .@i <= 33; ++.@i )
  597. disablenpc instance_npcname("#Patternwarp" + .@i);
  598. end;
  599. OnTimer45000:
  600. mapannounce 'map_name$, "Bangungot: Have you ever heard the patients screaming?",bc_map,"0xFF82FF";
  601. end;
  602. OnTimer55000:
  603. mapannounce 'map_name$, "Bangungot: If you haven't, I will let you!!",bc_map,"0xFF82FF";
  604. enablenpc instance_npcname("#Summon Ward Mob");
  605. donpcevent instance_npcname("#Summon Ward Mob") + "::OnEnable7";
  606. end;
  607. OnTimer60000:
  608. for ( .@i = 1; .@i <= 8; ++.@i )
  609. enablenpc instance_npcname("#Patternwarp" + .@i);
  610. for ( .@i = 34; .@i <= 38; ++.@i )
  611. enablenpc instance_npcname("#Patternwarp" + .@i);
  612. end;
  613. OnTimer60500:
  614. for ( .@i = 41; .@i <= 49; ++.@i )
  615. enablenpc instance_npcname("#Patternwarp" + .@i);
  616. end;
  617. OnTimer90000:
  618. mapannounce 'map_name$, "Bangungot: Delight coming from agony is my nutrient.",bc_map,"0xFF82FF";
  619. donpcevent instance_npcname("#Boss Room Entry") + "::OnSpawn";
  620. end;
  621. OnTimer110000:
  622. mapannounce 'map_name$, "Bangungot: Remain here, cursed disease.....",bc_map,"0xFF82FF";
  623. donpcevent instance_npcname("#Boss Room Entry") + "::OnSpawn";
  624. end;
  625. OnTimer125000:
  626. mapannounce 'map_name$, "Bangungot: You wanna hang out with me ......?",bc_map,"0xFF82FF";
  627. end;
  628. OnTimer128000:
  629. for ( .@i = 1; .@i <= 8; ++.@i )
  630. disablenpc instance_npcname("#Patternwarp" + .@i);
  631. for ( .@i = 34; .@i <= 38; ++.@i )
  632. disablenpc instance_npcname("#Patternwarp" + .@i);
  633. end;
  634. OnTimer128500:
  635. for ( .@i = 41; .@i <= 49; ++.@i )
  636. disablenpc instance_npcname("#Patternwarp" + .@i);
  637. end;
  638. OnTimer129000:
  639. donpcevent instance_npcname("#Boss Room Entry") + "::OnEnableEntry";
  640. end;
  641. OnTimer129500:
  642. donpcevent instance_npcname("#Boss Room Entry") + "::OnSpawn";
  643. for ( .@i = 10; .@i <= 22; ++.@i )
  644. enablenpc instance_npcname("#Patternwarp" + .@i);
  645. end;
  646. OnTimer130000:
  647. for ( .@i = 25; .@i <= 33; ++.@i )
  648. enablenpc instance_npcname("#Patternwarp" + .@i);
  649. stopnpctimer;
  650. end;
  651. OnStopTimer:
  652. stopnpctimer;
  653. end;
  654. OnInstanceInit:
  655. disablenpc instance_npcname("#Boss Room Entry_time");
  656. end;
  657. }
  658. 1@ma_h,111,177,0 script #Boss Room Entry_2 WARPNPC,{
  659. end;
  660. OnEnable:
  661. mapannounce 'map_name$, "Bangungot: You are pretty powerful...",bc_map,"0xFF82FF";
  662. initnpctimer;
  663. end;
  664. OnTimer3000:
  665. mapannounce 'map_name$, "Bangungot: But can you...",bc_map,"0xFF82FF";
  666. end;
  667. OnTimer6000:
  668. mapannounce 'map_name$, "Bangungot: ...defeat me again...?",bc_map,"0xFF82FF";
  669. end;
  670. OnTimer9000:
  671. for ( .@i = 1; .@i <= 8; ++.@i )
  672. disablenpc instance_npcname("#Patternwarp" + .@i);
  673. for ( .@i = 34; .@i <= 38; ++.@i )
  674. disablenpc instance_npcname("#Patternwarp" + .@i);
  675. end;
  676. OnTimer9500:
  677. for ( .@i = 41; .@i <= 49; ++.@i )
  678. disablenpc instance_npcname("#Patternwarp" + .@i);
  679. end;
  680. OnTimer10000:
  681. mapannounce 'map_name$, "Bangungot: You stupid persoon....",bc_map,"0xFF82FF";
  682. for ( .@i = 10; .@i <= 22; ++.@i )
  683. enablenpc instance_npcname("#Patternwarp" + .@i);
  684. end;
  685. OnTimer10500:
  686. for ( .@i = 25; .@i <= 33; ++.@i )
  687. enablenpc instance_npcname("#Patternwarp" + .@i);
  688. stopnpctimer;
  689. end;
  690. OnStopTimer:
  691. stopnpctimer;
  692. end;
  693. OnInstanceInit:
  694. disablenpc instance_npcname("#Boss Room Entry_2");
  695. end;
  696. }
  697. 1@ma_h,118,63,0 script #Summon Ward Mob HIDDEN_WARP_NPC,4,4,{
  698. end;
  699. OnTouch:
  700. donpcevent instance_npcname("#Summon Ward Mob_time") + "::OnEnable";
  701. specialeffect EF_CURSEATTACK;
  702. end;
  703. OnEnable1:
  704. .@label$ = instance_npcname("#Summon Ward Mob2") + "::OnMyMobDead";
  705. areamonster 'map_name$,47,77,49,79,"Bangungot's Tiyanak",2340,1,.@label$;
  706. areamonster 'map_name$,49,77,51,79,"Bangungot's Tiyanak",2340,1,.@label$;
  707. areamonster 'map_name$,51,77,53,79,"Bangungot's Tiyanak",2340,1,.@label$;
  708. areamonster 'map_name$,47,79,49,81,"Bangungot's Tiyanak",2340,1,.@label$;
  709. areamonster 'map_name$,49,79,51,81,"Bangungot's Mangkukulam",2339,1,.@label$;
  710. areamonster 'map_name$,47,81,49,83,"Bangungot's Tiyanak",2339,1,.@label$;
  711. areamonster 'map_name$,49,81,51,83,"Bangungot's Tiyanak",2339,1,.@label$;
  712. end;
  713. OnEnable2:
  714. .@label$ = instance_npcname("#Summon Ward Mob2") + "::OnMyMobDead";
  715. areamonster 'map_name$,51,45,53,47,"Bangungot's Tiyanak",2339,1,.@label$;
  716. areamonster 'map_name$,53,45,55,47,"Bangungot's Tiyanak",2339,1,.@label$;
  717. areamonster 'map_name$,49,47,51,49,"Bangungot's Mangkukulam",2339,1,.@label$;
  718. areamonster 'map_name$,53,47,55,49,"Bangungot's Tiyanak",2340,1,.@label$;
  719. areamonster 'map_name$,49,49,51,51,"Bangungot's Tiyanak",2340,1,.@label$;
  720. areamonster 'map_name$,51,49,53,51,"Bangungot's Tiyanak",2340,1,.@label$;
  721. areamonster 'map_name$,53,49,55,51,"Bangungot's Tiyanak",2340,1,.@label$;
  722. end;
  723. OnEnable3:
  724. .@label$ = instance_npcname("#Summon Ward Mob2") + "::OnMyMobDead";
  725. areamonster 'map_name$,69,75,71,77,"Bangungot's Tiyanak",2340,1,.@label$;
  726. areamonster 'map_name$,71,75,73,77,"Bangungot's Tiyanak",2340,1,.@label$;
  727. areamonster 'map_name$,73,75,75,77,"Bangungot's Tiyanak",2340,1,.@label$;
  728. areamonster 'map_name$,69,77,71,79,"Bangungot's Tiyanak",2340,1,.@label$;
  729. areamonster 'map_name$,71,77,73,79,"Bangungot's Mangkukulam",2339,1,.@label$;
  730. areamonster 'map_name$,69,79,71,81,"Bangungot's Tiyanak",2339,1,.@label$;
  731. areamonster 'map_name$,71,79,73,81,"Bangungot's Tiyanak",2339,1,.@label$;
  732. end;
  733. OnEnable4:
  734. .@label$ = instance_npcname("#Summon Ward Mob2") + "::OnMyMobDead";
  735. areamonster 'map_name$,73,45,75,47,"Bangungot's Tiyanak",2339,1,.@label$;
  736. areamonster 'map_name$,75,45,77,47,"Bangungot's Tiyanak",2339,1,.@label$;
  737. areamonster 'map_name$,71,47,73,49,"Bangungot's Mangkukulam",2339,1,.@label$;
  738. areamonster 'map_name$,75,47,77,49,"Bangungot's Tiyanak",2340,1,.@label$;
  739. areamonster 'map_name$,71,49,73,51,"Bangungot's Tiyanak",2340,1,.@label$;
  740. areamonster 'map_name$,73,49,75,51,"Bangungot's Tiyanak",2340,1,.@label$;
  741. areamonster 'map_name$,75,49,77,51,"Bangungot's Tiyanak",2340,1,.@label$;
  742. end;
  743. OnEnable5:
  744. .@label$ = instance_npcname("#Summon Ward Mob2") + "::OnMyMobDead";
  745. areamonster 'map_name$,93,77,95,79,"Bangungot's Tiyanak",2340,1,.@label$;
  746. areamonster 'map_name$,95,77,97,79,"Bangungot's Tiyanak",2340,1,.@label$;
  747. areamonster 'map_name$,97,77,99,79,"Bangungot's Tiyanak",2340,1,.@label$;
  748. areamonster 'map_name$,93,79,95,81,"Bangungot's Tiyanak",2340,1,.@label$;
  749. areamonster 'map_name$,95,79,97,81,"Bangungot's Mangkukulam",2339,1,.@label$;
  750. areamonster 'map_name$,93,81,95,83,"Bangungot's Tiyanak",2339,1,.@label$;
  751. areamonster 'map_name$,95,81,97,83,"Bangungot's Tiyanak",2339,1,.@label$;
  752. end;
  753. OnEnable6:
  754. .@label$ = instance_npcname("#Summon Ward Mob2") + "::OnMyMobDead";
  755. areamonster 'map_name$,93,43,95,45,"Bangungot's Tiyanak",2339,1,.@label$;
  756. areamonster 'map_name$,95,43,97,45,"Bangungot's Tiyanak",2339,1,.@label$;
  757. areamonster 'map_name$,91,45,93,47,"Bangungot's Mangkukulam",2339,1,.@label$;
  758. areamonster 'map_name$,95,45,97,47,"Bangungot's Tiyanak",2340,1,.@label$;
  759. areamonster 'map_name$,91,47,93,49,"Bangungot's Tiyanak",2340,1,.@label$;
  760. areamonster 'map_name$,93,47,95,49,"Bangungot's Tiyanak",2340,1,.@label$;
  761. areamonster 'map_name$,95,47,97,49,"Bangungot's Tiyanak",2340,1,.@label$;
  762. end;
  763. OnEnable7:
  764. killmonster 'map_name$,instance_npcname("#Summon Ward Mob2") + "::OnMyMobDead";
  765. end;
  766. OnInstanceInit:
  767. disablenpc instance_npcname("#Summon Ward Mob");
  768. end;
  769. }
  770. 1@ma_h,118,63,0 script #Summon Ward Mob2 HIDDEN_WARP_NPC,{
  771. end;
  772. OnMyMobDead:
  773. initnpctimer;
  774. end;
  775. OnTimer1000:
  776. if (mobcount('map_name$,instance_npcname("#Summon Ward Mob2") + "::OnMyMobDead") < 1) {
  777. donpcevent instance_npcname("#Boss Room Entry_2") + "::OnEnable";
  778. donpcevent instance_npcname("#Boss Room Entry") + "::OnEnableEntry";
  779. donpcevent instance_npcname("#Boss Room Entry_time") + "::OnStopTimer";
  780. }
  781. stopnpctimer;
  782. end;
  783. }
  784. 1@ma_h,118,64,0 script #Summon Ward Mob_time HIDDEN_WARP_NPC,{ //4,4
  785. end;
  786. OnEnable:
  787. initnpctimer;
  788. disablenpc instance_npcname("#Summon Ward Mob");
  789. end;
  790. OnTimer2000:
  791. mapannounce 'map_name$, "Bangungot: My spirit will be with your cursed body...",bc_map,"0xFF82FF";
  792. end;
  793. OnTimer4000:
  794. mapannounce 'map_name$, "Bangungot: My inferiors...!! Go!! Go torment the patients in the wards!!",bc_map,"0xFF82FF";
  795. end;
  796. OnTimer6000:
  797. mapannounce 'map_name$, "- Bangungot's inferiors are bothering patients!! If you don't slay them all, Bangungot will be stronger. -",bc_map,"0xFF8200";
  798. end;
  799. OnTimer10000:
  800. setarray .@npc$[1],
  801. "Moaning Patient","Screaming Patient","Patient in Pain","Passed Out Patient","Patient with Nightmare","Sick Looking Patient",
  802. "Horrified Patient","Patient in Sorrow","Suffering Patient","Wriggling Patient","Patient in Cold Sweat","Howling Patient";
  803. .@rand = rand(1,6);
  804. donpcevent instance_npcname("#Summon Ward Mob") + "::OnEnable" + .@rand;
  805. .@id = (.@rand*2)-rand(2);
  806. donpcevent instance_npcname(.@npc$[.@id] + "#" + .@id) + "::OnEnable";
  807. stopnpctimer;
  808. end;
  809. OnStopTimer:
  810. stopnpctimer;
  811. end;
  812. OnInstanceInit:
  813. disablenpc instance_npcname("#Summon Ward Mob_time");
  814. end;
  815. }
  816. 1@ma_h,112,177,0 script #Summon Pillar HIDDEN_WARP_NPC,{
  817. end;
  818. OnEnable1:
  819. enablenpc instance_npcname("#Summon Pillar");
  820. donpcevent instance_npcname("#Boss Room Entry_time") + "::OnStopTimer";
  821. donpcevent instance_npcname("#Summon Pillar_time") + "::OnEnable";
  822. monster 'map_name$,131,157,"Pillar of Spirit",2327,1,instance_npcname("#Summon Pillar") + "::OnMyMobDead";
  823. end;
  824. OnEnable3:
  825. enablenpc instance_npcname("#Boss Room Exit");
  826. disablenpc instance_npcname("#Summon Pillar");
  827. end;
  828. OnReset:
  829. killmonster 'map_name$,instance_npcname("#Summon Pillar") + "::OnMyMobDead";
  830. end;
  831. OnMyMobDead:
  832. initnpctimer;
  833. end;
  834. OnTimer1000:
  835. if (mobcount('map_name$,instance_npcname("#Summon Pillar") + "::OnMyMobDead") < 1) {
  836. donpcevent instance_npcname("#Summon Pillar_time") + "::OnStopTimer";
  837. donpcevent instance_npcname("#Summon Pillar") + "::OnEnable3";
  838. donpcevent instance_npcname("#Boss Room Entry") + "::OnReset";
  839. mapannounce 'map_name$, "Bangungot: Oh....cannot believe that I lost...",bc_map,"0xFF4500";
  840. mapannounce 'map_name$, "Bangungot: But don't think this is the end!!",bc_map,"0xFF4500";
  841. mapannounce 'map_name$, "Bangungot: I WILL BE BACK!!!!!",bc_map,"0xFF4500";
  842. }
  843. stopnpctimer;
  844. end;
  845. OnInstanceInit:
  846. disablenpc instance_npcname("#Summon Pillar");
  847. end;
  848. }
  849. 1@ma_h,112,178,0 script #Summon Pillar_time HIDDEN_WARP_NPC,{
  850. end;
  851. OnEnable:
  852. initnpctimer;
  853. end;
  854. OnStopTimer:
  855. stopnpctimer;
  856. end;
  857. OnTimer1000:
  858. mapannounce 'map_name$, "- Bangungot's Pillar of Spirit is curing Bangungot. If you don't hunt it now, he will fully recover!! -",bc_map,"0xFF8200";
  859. specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Dummy_Patternwarp45");
  860. end;
  861. OnTimer7000:
  862. mapannounce 'map_name$, "Bangungot: I never die!!!!",bc_map,"0xFF82FF";
  863. specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Dummy_Patternwarp45");
  864. end;
  865. OnTimer14000:
  866. mapannounce 'map_name$, "Bangungot: If you dare, kill me!! I will revive soon!!!",bc_map,"0xFF82FF";
  867. specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Dummy_Patternwarp45");
  868. end;
  869. OnTimer21000:
  870. mapannounce 'map_name$, "Bangungot: I cannot die this way...!!!!",bc_map,"0xFF82FF";
  871. specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Dummy_Patternwarp45");
  872. end;
  873. OnTimer30000:
  874. donpcevent instance_npcname("#Summon Pillar") + "::OnReset";
  875. end;
  876. OnTimer31000:
  877. mapannounce 'map_name$, "Bangungot: Hahahahaha!! I'm back with the power from the pillar of spirit!!!",bc_map,"0xFF82FF";
  878. donpcevent instance_npcname("#Summon Pillar") + "::OnReset";
  879. end;
  880. OnTimer36000:
  881. donpcevent instance_npcname("#Summon Boss") + "::OnEnable";
  882. stopnpctimer;
  883. end;
  884. OnInstanceInit:
  885. disablenpc instance_npcname("#Summon Pillar_time");
  886. end;
  887. }
  888. 1@ma_h,118,171,0 script #Boss Room Entry_a HIDDEN_WARP_NPC,10,10,{
  889. end;
  890. OnTouch:
  891. specialeffect EF_GHOST;
  892. donpcevent instance_npcname("#Boss Room Entry") + "::OnDisableEntry";
  893. donpcevent instance_npcname("#Boss Room Entry_time") + "::OnEnable";
  894. end;
  895. OnInstanceInit:
  896. disablenpc instance_npcname(strnpcinfo(0));
  897. end;
  898. }
  899. 1@ma_h,132,171,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_b HIDDEN_WARP_NPC,10,10
  900. 1@ma_h,147,171,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_c HIDDEN_WARP_NPC,10,10
  901. 1@ma_h,118,157,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_d HIDDEN_WARP_NPC,10,10
  902. 1@ma_h,132,157,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_e HIDDEN_WARP_NPC,10,10
  903. 1@ma_h,147,157,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_f HIDDEN_WARP_NPC,10,10
  904. 1@ma_h,118,143,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_g HIDDEN_WARP_NPC,10,10
  905. 1@ma_h,132,143,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_h HIDDEN_WARP_NPC,10,10
  906. 1@ma_h,131,62,0 script #Boss Effect HIDDEN_WARP_NPC,{ //4,4
  907. end;
  908. OnTimer3000:
  909. specialeffect EF_BARRIER;
  910. stopnpctimer;
  911. initnpctimer;
  912. end;
  913. OnInstanceInit:
  914. hideonnpc instance_npcname("#Boss Effect");
  915. initnpctimer;
  916. end;
  917. }
  918. 1@ma_h,43,86,4 script Moaning Patient#1 4_F_PATIENT,{
  919. end;
  920. OnEnable:
  921. mapannounce 'map_name$, "Moaning Patient: aaawwww....",bc_map,"0xFF0000";
  922. initnpctimer;
  923. end;
  924. OnTimer5000:
  925. OnTimer8000:
  926. OnTimer11000:
  927. OnTimer14000:
  928. OnTimer17000:
  929. OnTimer20000:
  930. OnTimer23000:
  931. OnTimer26000:
  932. specialeffect EF_POTION_BERSERK;
  933. specialeffect EF_CURSEATTACK;
  934. end;
  935. OnTimer30000:
  936. specialeffect EF_POTION_BERSERK;
  937. specialeffect EF_CURSEATTACK;
  938. stopnpctimer;
  939. end;
  940. OnInstanceInit:
  941. 'disablenpc = 0;
  942. 'map_name$ = instance_mapname("1@ma_h");
  943. monster 'map_name$,131,62,"Bangungot",2318,1;
  944. end;
  945. }
  946. 1@ma_h,60,87,4 script Screaming Patient#2 4_M_PATIENT,{
  947. end;
  948. OnEnable:
  949. switch(atoi(strnpcinfo(2))) {
  950. case 2: .@str$ = "Screaming Patient: Aaaaargh!!"; break;
  951. case 3: .@str$ = "Patient in Pain: Oooooowwww!! It's killing me!!!"; break;
  952. case 4: .@str$ = "Passed Out Patient: ........"; break;
  953. case 5: .@str$ = "Patient with Nightmare: Help~!!! Save me!!!"; break;
  954. case 6: .@str$ = "Sick Looking Patient: Hu..a...aaah.."; break;
  955. case 7: .@str$ = "Horrified Patient: Get away!! Please...."; break;
  956. case 8: .@str$ = "Patient in Sorrow: crying and crying......"; break;
  957. case 9: .@str$ = "Suffering Patient: Stop... please..."; break;
  958. case 10: .@str$ = "Wriggling Patient: awwww..."; break;
  959. case 11: .@str$ = "Patient in Cold Sweat: Help.....help...."; break;
  960. case 12: .@str$ = "Howling Patient: aaaaahhhhhhhhhh!!"; break;
  961. }
  962. mapannounce 'map_name$,.@str$,bc_map,"0xFF0000";
  963. initnpctimer;
  964. end;
  965. OnTimer5000:
  966. OnTimer8000:
  967. OnTimer11000:
  968. OnTimer14000:
  969. OnTimer17000:
  970. OnTimer20000:
  971. OnTimer23000:
  972. OnTimer26000:
  973. specialeffect EF_POTION_BERSERK;
  974. specialeffect EF_CURSEATTACK;
  975. end;
  976. OnTimer30000:
  977. specialeffect EF_POTION_BERSERK;
  978. specialeffect EF_CURSEATTACK;
  979. stopnpctimer;
  980. end;
  981. }
  982. 1@ma_h,60,39,7 duplicate(Screaming Patient#2) Patient in Pain#3 4_F_PATIENT
  983. 1@ma_h,43,39,7 duplicate(Screaming Patient#2) Passed Out Patient#4 4_M_PATIENT
  984. 1@ma_h,77,86,4 duplicate(Screaming Patient#2) Patient with Nightmare#5 4_F_PATIENT
  985. 1@ma_h,69,87,4 duplicate(Screaming Patient#2) Sick Looking Patient#6 4_M_PATIENT
  986. 1@ma_h,73,39,7 duplicate(Screaming Patient#2) Horrified Patient#7 4_F_PATIENT
  987. 1@ma_h,65,51,7 duplicate(Screaming Patient#2) Patient in Sorrow#8 4_M_PATIENT
  988. 1@ma_h,87,86,4 duplicate(Screaming Patient#2) Suffering Patient#9 4_F_PATIENT
  989. 1@ma_h,104,86,4 duplicate(Screaming Patient#2) Wriggling Patient#10 4_M_PATIENT
  990. 1@ma_h,99,39,7 duplicate(Screaming Patient#2) Patient in Cold Sweat#11 4_F_PATIENT
  991. 1@ma_h,87,39,7 duplicate(Screaming Patient#2) Howling Patient#12 4_M_PATIENT
  992. 1@ma_h,43,181,4 script Moaning Patient#b 4_F_PATIENT,{ end; }
  993. 1@ma_h,60,182,4 duplicate(Moaning Patient#b) Screaming Patient#b 4_M_PATIENT
  994. 1@ma_h,60,132,7 duplicate(Moaning Patient#b) Patient in Pain#b 4_F_PATIENT
  995. 1@ma_h,43,132,7 duplicate(Moaning Patient#b) Passed Out Patient#b 4_M_PATIENT
  996. 1@ma_h,77,182,4 duplicate(Moaning Patient#b) Patient with Nightmare#b 4_F_PATIENT
  997. 1@ma_h,69,182,4 duplicate(Moaning Patient#b) Sick Looking Patient#b 4_M_PATIENT
  998. 1@ma_h,73,132,7 duplicate(Moaning Patient#b) Horrified Patient#b 4_F_PATIENT
  999. 1@ma_h,65,144,7 duplicate(Moaning Patient#b) Patient in Sorrow#b 4_M_PATIENT
  1000. 1@ma_h,87,181,4 duplicate(Moaning Patient#b) Suffering Patient#b 4_F_PATIENT
  1001. 1@ma_h,104,181,4 duplicate(Moaning Patient#b) Wriggling Patient#b 4_M_PATIENT
  1002. 1@ma_h,99,132,7 duplicate(Moaning Patient#b) Patient in Cold Sweat#b 4_F_PATIENT
  1003. 1@ma_h,87,132,7 duplicate(Moaning Patient#b) Howling Patient#b 4_M_PATIENT
  1004. 1@ma_h,131,157,0 duplicate(Moaning Patient#b) #Dummy_Patternwarp45 HIDDEN_WARP_NPC
  1005. // Warp Portals
  1006. //============================================================
  1007. 1@ma_h,35,156,0 warp2 #Boss Room Exit 2,2,ma_dun01,150,9
  1008. 1@ma_h,105,157,0 warp2 #Boss Room Door 2,2,1@ma_h,116,157
  1009. 1@ma_h,112,157,0 warp2 #Boss Room Door1 2,2,1@ma_h,100,157
  1010. 1@ma_h,112,63,0 warp2 #Boss Room Door3 2,2,1@ma_h,100,63
  1011. 1@ma_h,104,63,0 warp2 #Boss Room Door2 2,2,1@ma_h,117,63
  1012. 1@ma_h,36,157,0 duplicate(#Boss Room Door2) #Patternwarp1 7,7
  1013. 1@ma_h,46,157,0 duplicate(#Boss Room Door2) #Patternwarp2 7,7
  1014. 1@ma_h,57,157,0 duplicate(#Boss Room Door2) #Patternwarp3 7,7
  1015. 1@ma_h,67,157,0 duplicate(#Boss Room Door2) #Patternwarp4 7,7
  1016. 1@ma_h,79,157,0 duplicate(#Boss Room Door2) #Patternwarp5 7,7
  1017. 1@ma_h,89,157,0 duplicate(#Boss Room Door2) #Patternwarp6 7,7
  1018. 1@ma_h,100,157,0 duplicate(#Boss Room Door2) #Patternwarp7 7,7
  1019. 1@ma_h,51,173,0 duplicate(#Boss Room Door2) #Patternwarp8 10,10
  1020. 1@ma_h,52,140,0 duplicate(#Boss Room Door2) #Patternwarp34 10,10
  1021. 1@ma_h,73,173,0 duplicate(#Boss Room Door2) #Patternwarp35 10,10
  1022. 1@ma_h,73,140,0 duplicate(#Boss Room Door2) #Patternwarp36 10,10
  1023. 1@ma_h,95,173,0 duplicate(#Boss Room Door2) #Patternwarp37 10,10
  1024. 1@ma_h,95,140,0 duplicate(#Boss Room Door2) #Patternwarp38 10,10
  1025. //1@ma_h,70,170,0 duplicate(#Boss Room Door2) #Patternwarp39 10,10
  1026. //1@ma_h,77,169,0 duplicate(#Boss Room Door2) #Patternwarp40 10,10
  1027. 1@ma_h,117,171,0 duplicate(#Boss Room Door2) #Patternwarp41 10,10
  1028. 1@ma_h,131,171,0 duplicate(#Boss Room Door2) #Patternwarp42 10,10
  1029. 1@ma_h,146,171,0 duplicate(#Boss Room Door2) #Patternwarp43 10,10
  1030. 1@ma_h,117,157,0 duplicate(#Boss Room Door2) #Patternwarp44 10,10
  1031. 1@ma_h,131,157,0 duplicate(#Boss Room Door2) #Patternwarp45 10,10
  1032. 1@ma_h,146,157,0 duplicate(#Boss Room Door2) #Patternwarp46 10,10
  1033. 1@ma_h,117,143,0 duplicate(#Boss Room Door2) #Patternwarp47 10,10
  1034. 1@ma_h,131,143,0 duplicate(#Boss Room Door2) #Patternwarp48 10,10
  1035. 1@ma_h,146,143,0 duplicate(#Boss Room Door2) #Patternwarp49 10,10
  1036. 1@ma_h,36,63,0 warp2 #Patternwarp10 7,7,1@ma_h,116,157
  1037. 1@ma_h,46,63,0 duplicate(#Patternwarp10) #Patternwarp11 7,7
  1038. 1@ma_h,56,63,0 duplicate(#Patternwarp10) #Patternwarp12 7,7
  1039. 1@ma_h,67,63,0 duplicate(#Patternwarp10) #Patternwarp13 7,7
  1040. 1@ma_h,78,63,0 duplicate(#Patternwarp10) #Patternwarp14 7,7
  1041. 1@ma_h,89,63,0 duplicate(#Patternwarp10) #Patternwarp15 7,7
  1042. 1@ma_h,100,63,0 duplicate(#Patternwarp10) #Patternwarp16 7,7
  1043. 1@ma_h,51,79,0 duplicate(#Patternwarp10) #Patternwarp17 10,10
  1044. 1@ma_h,51,46,0 duplicate(#Patternwarp10) #Patternwarp18 10,10
  1045. 1@ma_h,73,80,0 duplicate(#Patternwarp10) #Patternwarp19 10,10
  1046. 1@ma_h,73,46,0 duplicate(#Patternwarp10) #Patternwarp20 10,10
  1047. 1@ma_h,95,79,0 duplicate(#Patternwarp10) #Patternwarp21 10,10
  1048. 1@ma_h,95,46,0 duplicate(#Patternwarp10) #Patternwarp22 10,10
  1049. //1@ma_h,193,82,0 duplicate(#Patternwarp10) #Patternwarp23 7,7
  1050. //1@ma_h,193,82,0 duplicate(#Patternwarp10) #Patternwarp24 7,7
  1051. 1@ma_h,117,77,0 duplicate(#Patternwarp10) #Patternwarp25 10,10
  1052. 1@ma_h,131,77,0 duplicate(#Patternwarp10) #Patternwarp26 10,10
  1053. 1@ma_h,146,77,0 duplicate(#Patternwarp10) #Patternwarp27 10,10
  1054. 1@ma_h,117,63,0 duplicate(#Patternwarp10) #Patternwarp28 10,10
  1055. 1@ma_h,131,63,0 duplicate(#Patternwarp10) #Patternwarp29 10,10
  1056. 1@ma_h,146,63,0 duplicate(#Patternwarp10) #Patternwarp30 10,10
  1057. 1@ma_h,117,49,0 duplicate(#Patternwarp10) #Patternwarp31 10,10
  1058. 1@ma_h,131,49,0 duplicate(#Patternwarp10) #Patternwarp32 10,10
  1059. 1@ma_h,146,49,0 duplicate(#Patternwarp10) #Patternwarp33 10,10
  1060. // Disable select warps.
  1061. // Custom, but saves processing and lines.
  1062. 1@ma_h,1,1,0 script #ma_hos_warp_init CLEAR_NPC,{
  1063. end;
  1064. OnInstanceInit:
  1065. disablenpc instance_npcname("#Boss Room Exit");
  1066. disablenpc instance_npcname("#Boss Room Door");
  1067. disablenpc instance_npcname("#Boss Room Door1");
  1068. for ( .@i = 1; .@i <= 8; ++.@i )
  1069. disablenpc instance_npcname("#Patternwarp" + .@i);
  1070. for ( .@i = 34; .@i <= 38; ++.@i )
  1071. disablenpc instance_npcname("#Patternwarp" + .@i);
  1072. // Skip 39-40 since they're disabled in the official script.
  1073. for ( .@i = 41; .@i <= 49; ++.@i )
  1074. disablenpc instance_npcname("#Patternwarp" + .@i);
  1075. disablenpc instance_npcname("#ma_hos_warp_init");
  1076. end;
  1077. }