BangungotHospital.txt 38 KB

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