DevilTower.txt 80 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213
  1. //===== rAthena Script =======================================
  2. //= Devil Tower
  3. //===== Description: =========================================
  4. //= [Walkthrough Conversion]
  5. //= Devil Tower Instance
  6. //===== Changelogs: ==========================================
  7. //= 1.0 First version. [Capuche]
  8. //============================================================
  9. dali02,134,119,5 script Historian Shep#tnm01 4_F_NOVICE,{
  10. if (BaseLevel < 130) {
  11. mes "[Shep]";
  12. mes "Are you volunteering to explore the Devil's Tower?";
  13. mes "It's extremely dangerous so you need to be at least ^4d4dffLevel 130^000000.";
  14. next;
  15. mes "[Shep]";
  16. mes "Will you come back when you get stronger?";
  17. mes "You know what I mean right?";
  18. close;
  19. }
  20. switch( checkquest(7577,PLAYTIME) ) {// daily timer
  21. case -1:
  22. break;
  23. case 0:
  24. case 1:
  25. mes "[Shep]";
  26. mes "You want to explore again so soon?";
  27. mes "Your body needs to recover from the time traveling.";
  28. next;
  29. mes "[Shep]";
  30. mes "Take a rest day and come back tomorrow.!";
  31. mes "You understand?";
  32. close;
  33. case 2:
  34. mes "[Shep]";
  35. mes "Have you rested long enough?";
  36. mes "I am scheduled to explore today!";
  37. mes "I have always been waiting for a member of the expedition!";
  38. erasequest 7577;// Space distortion
  39. devil_tower_can_reenter = 0;
  40. devil_tower_enter = 0;
  41. next;
  42. mes "!- Notice -!";
  43. mes "You can now re-enter the Devil's Tower.";
  44. close;
  45. }
  46. if (isbegin_quest(7576) > 0) {// instance completed
  47. mes "[Shep]";
  48. mes "So time and space seem to have converged there?";
  49. mes "I'm amazed that time travel is possible.";
  50. next;
  51. mes "[Shep]";
  52. mes "This is all you have.";
  53. mes "You did a good job.";
  54. mes "I look forward to more discoveries!";
  55. setquest 7577;// Space distortion
  56. erasequest 7568;// Explore the tower
  57. erasequest 7571;// Tower Expedition
  58. erasequest 7574;// Thanatos Tower
  59. erasequest 7576;// Morocc castle seal
  60. getexp 450000,450000;
  61. devil_tower_can_reenter = 0;
  62. devil_tower_enter = 0;
  63. mes "Please come back tomorrow!";
  64. close;
  65. }
  66. if (isbegin_quest(7574) > 0) {// failed after seal
  67. mes "[Shep]";
  68. mes "Oh, you are back so soon...";
  69. mes "Ok, I see what happened.";
  70. next;
  71. mes "[Shep]";
  72. mes "This is all you have.";
  73. mes "You did a good job.";
  74. mes "I look forward to more discoveries!";
  75. setquest 7577;// Space distortion
  76. erasequest 7568;// Explore the tower
  77. erasequest 7571;// Tower Expedition
  78. erasequest 7574;// Thanatos Tower
  79. getexp 300000,300000;
  80. devil_tower_can_reenter = 0;
  81. devil_tower_enter = 0;
  82. mes "Please come back tomorrow!";
  83. close;
  84. }
  85. if (isbegin_quest(7571) > 0) {// failed at stair 2 tnm1
  86. mes "[Shep]";
  87. mes "Oh, you are back.";
  88. mes "Let me see... you mean this tower has a passage to connect to the demon world.";
  89. next;
  90. mes "[Shep]";
  91. mes "This is all you have.";
  92. mes "You did a good job.";
  93. mes "I look forward to more discoveries!";
  94. setquest 7577;// Space distortion
  95. erasequest 7568;// Explore the tower
  96. erasequest 7571;// Tower Expedition
  97. if (isbegin_quest(7572)) erasequest 7572;// Lucile...?
  98. if (isbegin_quest(7573)) erasequest 7573;// Magic Swordman Thanatos
  99. getexp 200000,200000;
  100. devil_tower_can_reenter = 0;
  101. devil_tower_enter = 0;
  102. mes "Please come back tomorrow!";
  103. close;
  104. }
  105. switch( checkquest(7568,PLAYTIME) ) {// entrance timer - 1h30 to enter
  106. case -1:
  107. mes "[Shep]";
  108. mes "Are you volunteering to explore the Devil's Tower? I have been waiting for someone like you!";
  109. next;
  110. mes "[Shep]";
  111. mes "Finally, someone to share the mysteries of the tower for me.";
  112. mes "No one has been volunteering up this point so I was getting worried.";
  113. next;
  114. mes "[Shep]";
  115. mes "Please report anything you find in the tower to me.";
  116. mes "The better the info~ the better the zeny I'll pay you!";
  117. next;
  118. mes "[Shep]";
  119. mes "That Laphine scholar over there will open up the dimensional gap with this time device.";
  120. mes "It is still unstable so your time for exploring will be limited.";
  121. next;
  122. mes "[Shep]";
  123. mes "If you are unexpectedly bounced back to here again, you should return quickly.";
  124. mes "If you do you may or may not be able to re-enter depending on how fast you are.";
  125. next;
  126. mes "[Shep]";
  127. mes "But if you run out of time, the access to the tower will disappear.";
  128. mes "So do you want to volunteer?";
  129. next;
  130. if (select( "Volunteer", "No Thanks" ) == 2) {
  131. mes "[Shep]";
  132. mes "Oh that's too bad";
  133. mes "There is nothing I can do I guess.";
  134. mes "I'll just find someone else...";
  135. close;
  136. }
  137. mes "[Shep]";
  138. mes "Thank you.";
  139. mes "Okay, gather your party and remember to report to me what you find.";
  140. next;
  141. mes "[Shep]";
  142. mes "^4d4dffExploring time limit is for your safety^000000!";
  143. setquest 7568;// Explore the tower
  144. close;
  145. case 0:
  146. case 1:
  147. if (devil_tower_can_reenter == 0)// player can re-enter
  148. break;
  149. // fall through
  150. case 2:
  151. mes "[Shep]";
  152. mes "You seem to be late.";
  153. mes "You took an extraordinarily long time.";
  154. mes ".....";
  155. mes "I can't use any of your info.";
  156. next;
  157. mes "[Shep]";
  158. mes "There is nothing we can do .";
  159. mes "There's always opportunities for other expeditions.";
  160. setquest 7577;// Space distortion
  161. erasequest 7568;
  162. if (isbegin_quest(7569)) erasequest 7569;// Treat the injured
  163. if (isbegin_quest(7570)) erasequest 7570;// Destroy the demons
  164. devil_tower_can_reenter = 0;
  165. devil_tower_enter = 0;
  166. close;
  167. }
  168. mes "[Shep]";
  169. mes "First of all, you need to reserve a queue at the gate.";
  170. mes "The Laphine Scholar Artie will reserve your queue for you.";
  171. next;
  172. mes "[Shep]";
  173. mes "Time is limited because the dimensional gap is still unstable.";
  174. mes "Make your exploration short and sweet.";
  175. next;
  176. mes "[Shep]";
  177. mes "Rewards will be different depending on your time.";
  178. mes "Good luck!";
  179. next;
  180. if (select( "Trust me!", "Cancel my reservation" ) == 1) {
  181. mes "[Shep]";
  182. mes "I believe that you can manage under these restrictions.";
  183. mes "I believe in you!";
  184. close;
  185. }
  186. if (devil_tower_enter == 1) {
  187. mes "[Shep]";
  188. mes "You seem to be tired of exploring.";
  189. mes "^4d4dffIf you cancel now. You will be able to challenge one day after.^000000";
  190. mes "Is that okay?";
  191. next;
  192. if (select( "Yes Cancel.", "Wait, don't cancel!" ) == 2) {
  193. mes "[Shep]";
  194. mes "Ok, I won't cancel.";
  195. close;
  196. }
  197. mes "[Shep]";
  198. mes "Really.";
  199. mes "then, come back tomorrow.";
  200. setquest 7577;// Space distortion
  201. erasequest 7568;
  202. if (isbegin_quest(7569)) erasequest 7569;// Treat the injured
  203. if (isbegin_quest(7570)) erasequest 7570;// Destroy the demons
  204. devil_tower_enter = 0;
  205. devil_tower_can_reenter = 0;
  206. close;
  207. }
  208. mes "[Shep]";
  209. mes "Really?";
  210. mes "After listening to all this explanation?";
  211. erasequest 7568;// Explore the tower
  212. close;
  213. }
  214. dali02,137,121,3 script Magic Scholar Artie#tnm 4_M_FAIRYKID6,{
  215. .@party_id = getcharid(1);
  216. if (.@party_id == 0) {
  217. mes "[Artie]";
  218. mes "let's have fun since we just left bifrost.";
  219. mes "No?";
  220. mes "you are applying as a volunteer?";
  221. mes "You'd better gather a party for this expedition.";
  222. next;
  223. mes "[Artie]";
  224. mes "Don't take any unncessary risks, okay?";
  225. close;
  226. }
  227. if (is_party_leader() == false) {
  228. mes "[Artie]";
  229. mes "Bring the Expedition Chief.";
  230. mes "Devil's Tower is not a place to visit alone.";
  231. mes "Bring the manager.";
  232. close;
  233. }
  234. if (devil_tower_enter == 1) {
  235. mes "[Artie]";
  236. mes "You have already entered by connecting it.";
  237. mes "Connect to the space again? I can not do that.";
  238. close;
  239. }
  240. switch( checkquest(7568,PLAYTIME) ) {
  241. case 0:
  242. case 1:
  243. break;
  244. case -1:
  245. case 2:
  246. mes "[Artie]";
  247. mes "Hrm... It is difficult to connect to unless it is an appointed exploration time.";
  248. mes "Not to mention dangerous as well.";
  249. close;
  250. }
  251. mes "[Artie]";
  252. mes "Are you a volunteer to explore the Devil's Tower?";
  253. mes "Do you want me to activate the Dimensional Device?";
  254. next;
  255. mes "[Artie]";
  256. mes "Decide quickly because you only have a finite amount of time in there.";
  257. next;
  258. if (select( "Yes, activate the device.", "Wait for a minute." ) == 2) {
  259. mes "[Artie]";
  260. mes "Your time to explore is dwindling.";
  261. mes "Time is very important.";
  262. mes "What are you waiting for?";
  263. close;
  264. }
  265. mes "[Artie]";
  266. mes "The Dimensional Device is activated.";
  267. mes "If you're lucky, you can get through this quickly.";
  268. mes "I look forward to hearing good news.";
  269. instance_create("Devil's Tower");
  270. close;
  271. }
  272. dali02,141,120,3 script Dimensional Device#tnm0 PORTAL,{
  273. if (devil_tower_can_reenter == 1) {// can't re-enter
  274. mes "[Artie]";
  275. mes "Hey, Hey";
  276. mes "It is difficult to send to you through the device right now.";
  277. mes "We should stop exploring today and let's go again another day.";
  278. close;
  279. }
  280. switch( checkquest(7568,PLAYTIME) ) {
  281. case 0:
  282. case 1:
  283. break;
  284. case -1:
  285. case 2:
  286. mes "[Artie]";
  287. mes "Look, I am sorry but it is not allowed to enter except during the allowed time, Devil's Tower is dangerous.";
  288. close;
  289. }
  290. mes "[Artie]";
  291. mes "Yes, this is the Dimensional Device.";
  292. mes "It is used to travel time.";
  293. mes "It will be difficult to enter again if you leave.";
  294. next;
  295. mes "[Artie]";
  296. mes "Don't worry though, I'm a genius scholar~";
  297. mes "Anyway, ready to enter?";
  298. next;
  299. if (select( "Enter the device.", "Stop." ) == 2) {
  300. mes "[Artie]";
  301. mes "Right.";
  302. mes "It seems like quite a long time has passed since you activated the device. Am I right?";
  303. close;
  304. }
  305. .@md_name$ = "Devil's Tower";
  306. switch( instance_enter(.@md_name$) ) {
  307. case IE_OTHER:
  308. mes "An unknown error occurred.";
  309. close;
  310. case IE_NOINSTANCE:
  311. mes "[Shep]";
  312. mes "The Dimensional Device needs to be activated first before entering.";
  313. mes "It doesn't seem to be activated yet.";
  314. next;
  315. mes "[Shep]";
  316. mes "Please get a permission to activate it by talking to the Magic Scholar Artie.";
  317. close;
  318. case IE_NOMEMBER:
  319. mes "[Artie]";
  320. mes "Exploring Devil's Tower will be permitted only for expeditions in parties.";
  321. mes "Make sure you are ready.";
  322. close;
  323. case IE_OK:
  324. mapannounce "dali02", "Party member " + strcharinfo(0) + " of party's " + getpartyname( getcharid(1) ) + " enters Room " + .@md_name$ + "", bc_map,0xFF99;
  325. // warp "1@tnm1",50,104;
  326. devil_tower_enter = 1;
  327. end;
  328. }
  329. }
  330. dali02,134,112,3 script #tnmtks01 HIDDEN_WARP_NPC,3,3,{
  331. end;
  332. OnTouch_:
  333. disablenpc "#tnmtks01";
  334. initnpctimer;
  335. end;
  336. OnTimer1000:
  337. npctalk "Artie: Hey, you! How is your research going?", "Magic Scholar Artie#tnm";
  338. end;
  339. OnTimer3000:
  340. npctalk "Shep: Who are you calling hey you? You're just a dusty little fairy!", "Historian Shep#tnm01";
  341. end;
  342. OnTimer6000:
  343. npctalk "Artie: A dusty little what? I'll have you know, I have superior genes to your species you ape!", "Magic Scholar Artie#tnm";
  344. end;
  345. OnTimer9000:
  346. npctalk "Shep: What do I care what you say? Even our kids are bigger than you tiny little fairies!", "Historian Shep#tnm01";
  347. end;
  348. OnTimer12000:
  349. npctalk "Shep: Think you're so big just because you're a magic scholar huh?", "Historian Shep#tnm01";
  350. end;
  351. OnTimer14000:
  352. npctalk "Artie: You know nothing human. Remind me again who found this tower entrance?", "Magic Scholar Artie#tnm";
  353. end;
  354. OnTimer18000:
  355. npctalk "Shep: *Sigh*... Y....You did.", "Historian Shep#tnm01";
  356. end;
  357. OnTimer21000:
  358. npctalk "Artie: Y....You? Did I stutter? And who solved the formula calculating the dimensional gap connected to the tower?", "Magic Scholar Artie#tnm";
  359. end;
  360. OnTimer24000:
  361. npctalk "Shep: Yes, yes it was you!", "Historian Shep#tnm01";
  362. end;
  363. OnTimer27000:
  364. npctalk "Artie: So I take it you're no longer questioning how smart I am right?", "Magic Scholar Artie#tnm";
  365. end;
  366. OnTimer30000:
  367. npctalk "Shep: Alright, alright. I need an adventurer to explore the tower for us.", "Historian Shep#tnm01";
  368. end;
  369. OnTimer33000:
  370. npctalk "Shep: No one has volunteered because everyone says it's too dangerous!", "Historian Shep#tnm01";
  371. end;
  372. OnTimer36000:
  373. npctalk "Artie: No volunteers? Come on. Harness your motivational skills and find someone.", "Magic Scholar Artie#tnm";
  374. end;
  375. OnTimer37000:
  376. emotion ET_KIK, getnpcid(0, "Magic Scholar Artie#tnm");
  377. end;
  378. OnTimer39000:
  379. npctalk "Shep: Hello!!! Now recruiting new members to exploring the Devil's Tower!", "Historian Shep#tnm01";
  380. end;
  381. OnTimer42000:
  382. npctalk "Shep: Please come! Now's your chance to possibly come face to face with the infamous minions of Satan Morocc himself!", "Historian Shep#tnm01";
  383. end;
  384. OnTimer45000:
  385. npctalk "Artie: You sure that's the right thing to say? Maybe your recruiting tactics need refining...", "Magic Scholar Artie#tnm";
  386. stopnpctimer;
  387. enablenpc "#tnmtks01";
  388. end;
  389. }
  390. // Entrance
  391. 1@tnm1,50,104,0 script #event01 HIDDEN_WARP_NPC,1,1,{
  392. end;
  393. OnTouch:
  394. disablenpc instance_npcname("#event01");
  395. initnpctimer;
  396. end;
  397. OnTimer2000:
  398. npctalk "Officer Heim: This is an emergency.. How things are going?", instance_npcname("Officer Heim#heim0");
  399. end;
  400. OnTimer5000:
  401. npctalk "A tirailleur: Next floor is the highest one... but there are so many demons...", instance_npcname("A tirailleur#tnm01");
  402. end;
  403. OnTimer6000:
  404. emotion ET_THINK, getnpcid(0, instance_npcname("Officer Heim#heim0"));
  405. end;
  406. OnTimer8000:
  407. npctalk "A tirailleur: It is impossible to break through with the number of our people.", instance_npcname("A tirailleur#tnm01");
  408. emotion ET_PROFUSELY_SWEAT, getnpcid(0, instance_npcname("A tirailleur#tnm01"));
  409. end;
  410. OnTimer11000:
  411. npctalk "Officer Heim: How many soldiers have survived now? When is the support team arriving?", instance_npcname("Officer Heim#heim0");
  412. end;
  413. OnTimer12000:
  414. emotion ET_THINK, getnpcid(0, instance_npcname("An aide#tnm02"));
  415. end;
  416. OnTimer16000:
  417. npctalk "An aide: There aren't enough to call in...", instance_npcname("An aide#tnm02");
  418. end;
  419. OnTimer17000:
  420. npctalk "An aide: The good news is the demons have stopped attacking.", instance_npcname("An aide#tnm02");
  421. end;
  422. OnTimer21000:
  423. npctalk "Officer Heim: We can't just be stuck here and can go further. Why did the demons stop attacking ?", instance_npcname("Officer Heim#heim0");
  424. end;
  425. OnTimer24000:
  426. npctalk "A tirailleur: It seems like there is something going on up there...", instance_npcname("A tirailleur#tnm01");
  427. end;
  428. OnTimer26000:
  429. disablenpc instance_npcname("Officer Heim#heim0");
  430. enablenpc instance_npcname("Officer Heim#heim");
  431. npctalk "Officer Heim: Who are you?", instance_npcname("Officer Heim#heim");
  432. stopnpctimer;
  433. end;
  434. }
  435. 1@tnm1,57,112,5 script Officer Heim#heim0 4_TOWER_05,{ end; }
  436. 1@tnm1,56,110,3 script Officer Heim#heim 4_TOWER_05,{
  437. if (is_party_leader() == false) {
  438. mes "[Officer Heim]";
  439. mes "Who brought you all here?";
  440. mes "I will talk to a representative.";
  441. close;
  442. }
  443. switch('devil_tower) {
  444. case 0:
  445. mes "[Officer Heim]";
  446. mes "Back up soldiers? So why are you just standing there?";
  447. npctalk "Officer Heim: Back up soldiers? So why are you just standing there?";
  448. next;
  449. select("Right now?");
  450. if (is_party_leader() == true && 'devil_tower == 0) {
  451. enablenpc instance_npcname("Healer Fama#feima");
  452. 'devil_tower = 1;
  453. }
  454. mes "[Healer Fama]";
  455. mes "Commander please help me. I can't do it by myself~!";
  456. npctalk "Healer Fama: Commander please help me. I can't do it by myself~!", instance_npcname("Healer Fama#feima");
  457. next;
  458. mes "[Officer Heim]";
  459. mes "Do you hear that?";
  460. mes "Help Fama take care of the injured soldiers.";
  461. mes "Fama will give you first aid-kits, use it to help the injured people.";
  462. close2;
  463. setpcblock PCBLOCK_NPC, true;
  464. npctalk "Officer Heim: Do you hear that?";
  465. sleep2 2000;
  466. npctalk "Officer Heim: Help Fama take care of the injured soldiers.";
  467. sleep2 2000;
  468. npctalk "Healer Fama: Okay~ You are going to help me? Come here and receive the first aid kit~!";
  469. setpcblock PCBLOCK_NPC, false;
  470. end;
  471. case 1:
  472. mes "[Officer Heim]";
  473. mes "It is priority to treat the injured soldiers by assisting Fama.";
  474. mes "Please do your best even if the environment is the worst.";
  475. close;
  476. default:
  477. mes "[Officer Heim]";
  478. mes "Luckily, no one is dead yet.";
  479. mes "I do not want to see my soldiers die.";
  480. close;
  481. }
  482. }
  483. 1@tnm1,47,109,3 script Healer Fama#feima 4_TOWER_10,{
  484. if ('devil_tower == 1) {
  485. if (countitem(7641) < 1) {
  486. mes "[Healer Fama]";
  487. mes "Please cure the injured with this first aid kit.";
  488. mes "It's not difficult. Just follow the instructions.";
  489. next;
  490. mes "[Healer Fama]";
  491. mes "We are low on supplies. So I will give them once at a time.";
  492. mes "Sorry, please request again if you run out.";
  493. if ('devil_tower == 1)
  494. getitem 7641,1;// Medical_Cure_Box
  495. close;
  496. }
  497. mes "[Healer Fama]";
  498. mes "Sorry... procurement is not good right now so I can only provide one first-aid kit at a time.";
  499. mes "Please request again if you run out.";
  500. close;
  501. }
  502. mes "[Healer Fama]";
  503. mes "Huh... Okay, we can take a break now.";
  504. mes "Thank you very much!";
  505. close;
  506. }
  507. 1@tnm1,39,114,3 script Injured Soldier#1_1 4_TOWER_01,3,3,{
  508. if ('devil_tower != 1)
  509. end;
  510. if (countitem(7641) < 1) {
  511. mes "I need 1 first-aid-kit to treat the injured soldier.";
  512. close;
  513. }
  514. mes "This soldier has lost consciousness and groaning.";
  515. mes "Should I use the first-aid kit?";
  516. next;
  517. if (select( "Use first-aid kit.", "Observe condition." ) == 2) {
  518. mes "You decide to observe the condition of the injured soldier more.";
  519. close;
  520. }
  521. mes "You administer the first-aid-kit to the soldier.";
  522. next;
  523. specialeffect EF_SPHERE;
  524. progressbar "000000",10;
  525. if ('devil_tower == 1) {
  526. delitem 7641,1;
  527. specialeffect EF_ENTRY;
  528. disablenpc instance_npcname( strnpcinfo(0) );
  529. enablenpc instance_npcname( strnpcinfo(1) + "#" + replacestr( strnpcinfo(2), "_1", "" ) );
  530. specialeffect EF_ENTRY,AREA, instance_npcname( strnpcinfo(1) + "#" + replacestr( strnpcinfo(2), "_1", "" ) );
  531. mes "It worked.";
  532. 'heal_count++;
  533. if ('heal_count == 7) {
  534. 'devil_tower = 2;
  535. npctalk "Healer Fama: Assassins?!", instance_npcname("Healer Fama#feima");
  536. enablenpc instance_npcname("Lucile#tnm01");
  537. enablenpc instance_npcname("Magic Swordman#tnm01");
  538. enablenpc instance_npcname("Assassin Huey#tnm01");
  539. enablenpc instance_npcname("Assassin Louie#tnm01");
  540. }
  541. }
  542. close;
  543. OnTouch:
  544. .@num = atoi( replacestr( strnpcinfo(2), "_1", "" ) );
  545. if (.@num == 1)
  546. npctalk "Injured Soldier: groaning....";
  547. else if (.@num == 2)
  548. npctalk "Injured Soldier: Owww...";
  549. else if (.@num == 3)
  550. npctalk "Injured Soldier: .... aah.. aah..";
  551. else if (.@num == 4)
  552. npctalk "Injured Soldier: Owww...";
  553. else if (.@num == 5)
  554. npctalk "Injured Soldier: I do not want to die...";
  555. else if (.@num == 6)
  556. npctalk "Injured Soldier: Owww~";
  557. else
  558. npctalk "Injured Soldier: Groaning...";
  559. end;
  560. }
  561. 1@tnm1,30,120,3 duplicate(Injured Soldier#1_1) Injured Soldier#2_1 4_TOWER_03,3,3
  562. 1@tnm1,25,117,5 duplicate(Injured Soldier#1_1) Injured Soldier#3_1 4_TOWER_06,3,3
  563. 1@tnm1,19,118,4 duplicate(Injured Soldier#1_1) Injured Soldier#4_1 4_TOWER_08,3,3
  564. 1@tnm1,18,110,4 duplicate(Injured Soldier#1_1) Injured Soldier#5_1 4_TOWER_11,3,3
  565. 1@tnm1,24,104,7 duplicate(Injured Soldier#1_1) Injured Soldier#6_1 4_TOWER_13,3,3
  566. 1@tnm1,31,110,3 duplicate(Injured Soldier#1_1) Injured Soldier#7_1 4_TOWER_03,3,3
  567. 1@tnm1,39,114,3 script Injured Soldier#1 4_TOWER_02,{
  568. mes "[Injured soldiers]";
  569. mes "whew.. it seems to be okay now.";
  570. mes "Thank you.";
  571. close;
  572. }
  573. 1@tnm1,30,120,3 script Injured Soldier#2 4_TOWER_04,{
  574. mes "[Injured soldiers]";
  575. mes "Groaning... Just let me die.";
  576. mes "No it hurts too much.";
  577. close;
  578. }
  579. 1@tnm1,25,117,5 script Injured Soldier#3 4_TOWER_07,{
  580. mes "[Injured soldiers]";
  581. mes "His conscious seems to be blur still.";
  582. mes "Leave him to get some rest.";
  583. close;
  584. }
  585. 1@tnm1,19,118,4 script Injured Soldier#4 4_TOWER_09,{
  586. mes "[Injured soldiers]";
  587. mes "I thought I was going to die.";
  588. mes "But I'm alive!";
  589. close;
  590. }
  591. 1@tnm1,18,110,4 script Injured Soldier#5 4_TOWER_12,{
  592. mes "[Injured soldiers]";
  593. mes "I can't die here. I have to propose to my beloved when I get home.";
  594. mes "We will be happy for sure?";
  595. close;
  596. }
  597. 1@tnm1,24,104,7 script Injured Soldier#6 4_TOWER_14,{
  598. mes "[Injured soldiers]";
  599. mes "I feel much better but I still can't move.";
  600. mes "Still I'm lucky to be alive.";
  601. close;
  602. }
  603. 1@tnm1,31,110,3 script Injured Soldier#7 4_TOWER_04,{
  604. mes "[Injured soldiers]";
  605. mes "Thank you.. Thank you..";
  606. close;
  607. }
  608. 1@tnm1,61,110,3 script An aide#tnm02 4_M_MOCASS2,{
  609. mes "[An aide]";
  610. mes "The calamity that happened hundreds of years ago will not happen again right?";
  611. mes "Why have the demons showed up again so suddenly?";
  612. close;
  613. }
  614. 1@tnm1,61,113,3 script A tirailleur#tnm01 4_M_MOCASS1,{
  615. mes "[A tirailleur]";
  616. mes "Are you a member of back-up team?";
  617. mes "Good. things are getting worse here.";
  618. mes "Glad that you all are here to help.";
  619. close;
  620. }
  621. 1@tnm1,46,105,5 script Lucile#tnm01 4_F_LUCILE,{
  622. if (is_party_leader() == false) {
  623. cutin "tnm_lucile01.bmp",2;
  624. mes "[Lucile]";
  625. mes "Who is in charge of the back-up team?";
  626. close3;
  627. }
  628. if ('devil_tower == 2) {
  629. .@lucile$ = instance_npcname("Lucile#tnm01");
  630. .@heim$ = instance_npcname("Officer Heim#heim");
  631. 'devil_tower = 3;
  632. setpcblock PCBLOCK_NPC, true;
  633. cutin "tnm_lucile01.bmp",2;
  634. sleep2 1500;
  635. npctalk "Lucile: I am Lucile from the Assassin Guild.", .@lucile$;
  636. sleep2 2000;
  637. npctalk "Officer Heim: Our back-up is from the Assassin Guild? Thanks for arriving in time.", .@heim$;
  638. sleep2 3000;
  639. npctalk "Lucile: The situation doesn't seem to be good.", .@lucile$;
  640. sleep2 3000;
  641. npctalk "Lucile: What happened to the brave knights of Prontera?", .@lucile$;
  642. sleep2 3000;
  643. npctalk "Officer Heim: Are you mocking me?", .@heim$;
  644. sleep2 3000;
  645. npctalk "Lucile: Not at all. I really want to know. What's going on upstairs?", .@lucile$;
  646. sleep2 2500;
  647. emotion ET_OHNO, getnpcid(0, .@heim$);
  648. sleep2 1000;
  649. npctalk "Officer Heim: How did you know that? Yes, the demons have stopped their attack from upstairs.", .@heim$;
  650. sleep2 3000;
  651. emotion ET_SMILE, getnpcid(0, .@lucile$);
  652. npctalk "Lucile: What do you think about the situation Magic Swordman?", .@lucile$;
  653. cutin "tnm_lucile01.bmp",0;
  654. sleep2 3000;
  655. npctalk "Magic swordman: Hmm, I will go and investigate.", instance_npcname("Magic Swordman#tnm01");
  656. cutin "tnm_loki.bmp",2;
  657. sleep2 2000;
  658. cutin "",255;
  659. disablenpc instance_npcname("Magic Swordman#tnm01");
  660. sleep2 1000;
  661. npctalk "Lucile: How are you so fast?", .@lucile$;
  662. cutin "tnm_lucile01.bmp",2;
  663. sleep2 2000;
  664. npctalk "Officer Heim: What are you doing? If you go alone you will be killed!", .@heim$;
  665. sleep2 3000;
  666. npctalk "Lucile: I won't be alone. There are still some uninjured soldiers!", .@lucile$;
  667. sleep2 2500;
  668. npctalk "Lucile: All right, I will ask you to be my back up. Hahaha right Dewey?", .@lucile$;
  669. sleep2 500;
  670. enablenpc instance_npcname("Assassin Dewey#tnm01");
  671. enablenpc instance_npcname("#tnm1stepmob");
  672. npctalk "Dewey: Okay, I will.", instance_npcname("Assassin Dewey#tnm01");
  673. 'devil_tower = 4;
  674. sleep2 500;
  675. cutin "",255;
  676. disablenpc .@lucile$;
  677. disablenpc instance_npcname("Assassin Huey#tnm01");
  678. disablenpc instance_npcname("Assassin Louie#tnm01");
  679. sleep2 2000;
  680. npctalk "Officer Heim: They are so unpredictable. You know what is going on right? Back them up...", .@heim$;
  681. sleep2 2500;
  682. npctalk "Officer Heim: Help us take care of the demons coming down from upstairs.", .@heim$;
  683. setpcblock PCBLOCK_NPC, false;
  684. end;
  685. }
  686. }
  687. 1@tnm1,52,104,2 duplicate(Officer Heim#heim0) Magic Swordman#tnm01 4_M_ROKI
  688. 1@tnm1,42,104,4 duplicate(Officer Heim#heim0) Assassin Huey#tnm01 4_TOWER_15
  689. 1@tnm1,44,101,5 duplicate(Officer Heim#heim0) Assassin Louie#tnm01 4_M_ACROSS
  690. 1@tnm1,70,108,3 script Assassin Dewey#tnm01 4_M_ACROSS,{
  691. if ('devil_tower < 4)
  692. end;
  693. if (isbegin_quest(7569) == 0)
  694. setquest 7569;// Treat the injured
  695. if (isbegin_quest(7570) == 0)
  696. setquest 7570;// Destroy the demons
  697. mes "[Dewey]";
  698. mes "I will guide you to the upper floor.";
  699. mes "Do not forget to get rid of any demons that you encounter on the way.";
  700. next;
  701. if (select( "Move now", "I need more time to prepare." ) == 2) {
  702. mes "[Dewey]";
  703. mes "Be prepared for anything.";
  704. close;
  705. }
  706. mes "[Dewey]";
  707. mes "Travel carefully.";
  708. close2;
  709. warp 'map_tnm1$,91,23;
  710. devil_tower_can_reenter = 1;// nb. different from official (condition overcomplicated)
  711. end;
  712. }
  713. // Stairs tnm1
  714. // spawn inaccurate
  715. 1@tnm1,91,23,0 script #tnm1stepmob HIDDEN_WARP_NPC,1,1,{
  716. end;
  717. OnTouch:
  718. if ('devil_tower != 4)
  719. end;
  720. disablenpc instance_npcname("#tnm1stepmob");
  721. enablenpc instance_npcname("Assassin Louie#tnm02");
  722. enablenpc instance_npcname("Lucile#tnm02");
  723. initnpctimer;
  724. monster 'map_tnm1$,99,24,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
  725. 'mob_id = $@mobid[0];
  726. end;
  727. OnTimer2000:
  728. if (unitexists('mob_id) == true)
  729. unittalk 'mob_id, "What is this? A human? How dare they must have lost their minds!";
  730. end;
  731. OnTimer5000:
  732. monster 'map_tnm1$,103,21,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
  733. unittalk $@mobid[0], "Did you make a resolution?";
  734. monster 'map_tnm1$,103,26,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
  735. unittalk $@mobid[0], "Ha ha ha ha....Let's fight..!!!";
  736. end;
  737. OnTimer11000:
  738. monster 'map_tnm1$,106,25,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
  739. monster 'map_tnm1$,106,27,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
  740. monster 'map_tnm1$,110,20,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
  741. monster 'map_tnm1$,112,24,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
  742. monster 'map_tnm1$,107,22,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
  743. monster 'map_tnm1$,114,24,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
  744. end;
  745. OnTimer17000:
  746. monster 'map_tnm1$,120,20,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
  747. monster 'map_tnm1$,122,23,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
  748. end;
  749. OnTimer23000:
  750. monster 'map_tnm1$,116,25,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
  751. monster 'map_tnm1$,116,21,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
  752. end;
  753. OnTimer29000:
  754. monster 'map_tnm1$,134,21,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
  755. monster 'map_tnm1$,130,25,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
  756. monster 'map_tnm1$,129,27,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
  757. monster 'map_tnm1$,120,27,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
  758. monster 'map_tnm1$,118,22,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
  759. end;
  760. OnTimer35000:
  761. monster 'map_tnm1$,138,27,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
  762. monster 'map_tnm1$,144,23,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
  763. monster 'map_tnm1$,129,20,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
  764. end;
  765. OnTimer41000:
  766. monster 'map_tnm1$,140,24,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
  767. monster 'map_tnm1$,144,20,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
  768. monster 'map_tnm1$,130,27,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
  769. monster 'map_tnm1$,127,24,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
  770. monster 'map_tnm1$,142,27,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
  771. monster 'map_tnm1$,140,22,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
  772. stopnpctimer;
  773. end;
  774. OnMobDead:
  775. end;
  776. }
  777. 1@tnm1,158,24,3 script Assassin Louie#tnm02 4_M_ACROSS,{
  778. if ('devil_tower < 4)
  779. end;
  780. if (checkquest(7570,HUNTING) != 2) {
  781. mes "[Louie]";
  782. mes "The Captain says that we need to get rid of all of the demons...";
  783. mes "Better get to it.";
  784. close;
  785. }
  786. mes "[Louie]";
  787. mes "A lot of soldiers still survived the attacks.";
  788. mes "They got rid of all the demons.";
  789. next;
  790. mes "[Louie]";
  791. mes "I was making sure that no one goes upstairs, I was afraid something might happen again.";
  792. next;
  793. mes "[Louie]";
  794. mes "I wish you would help me.";
  795. mes "I will guide you.";
  796. if (isbegin_quest(7571) == 0) {
  797. erasequest 7569;// Treat the injured
  798. erasequest 7570;// Destroy the demons
  799. setquest 7571;// Tower Expedition
  800. }
  801. next;
  802. mes "I have been exploring the passages of this tower for a while now.";
  803. close2;
  804. warp 'map_tnm1$,124,86;
  805. end;
  806. }
  807. // Stairs 2 tnm1
  808. 1@tnm1,138,96,3 script Lucile#tnm02 4_F_LUCILE,{
  809. if (isbegin_quest(7571) == 0)
  810. end;
  811. if (is_party_leader() == false) {
  812. mes "You wave your hand in front of her but she doesn't react.";
  813. close;
  814. }
  815. if ('devil_tower < 4)
  816. end;
  817. if ('devil_tower < 6) {
  818. if ('devil_tower == 4) {
  819. mes "[Lucile]";
  820. mes "I am sorry if I'm giving you any attitude but I can't move.";
  821. npctalk "Lucile: I am sorry if I'm giving you any attitude but I can't move.";
  822. cutin "tnm_lucile02.bmp",2;
  823. next;
  824. select("Can I help?");
  825. mes "[Lucile]";
  826. mes "I can use self-recovery but I don't have time for that.";
  827. mes "Will you share your power with me?";
  828. npctalk "Lucile: I can use self-recovery but I don't have time for that. Will you share your power with me?";
  829. next;
  830. mes "[Lucile]";
  831. mes "I need your help to activate my restoration system.";
  832. mes "Please hold tight.";
  833. npctalk "Lucile: I need your help to activate my restoration system.";
  834. next;
  835. sleep2 750;
  836. npctalk "Lucile: Please hold tight.";
  837. if (is_party_leader() == true && 'devil_tower == 4) {
  838. donpcevent instance_npcname("Huey#hui02") + "::OnEnable";
  839. 'devil_tower = 5;
  840. }
  841. percentheal -30,0;
  842. }
  843. cutin "tnm_lucile03.bmp",2;
  844. mes "Lucile seems to be a machine.";
  845. mes "I can hear mechanical sounds all of a sudden.";
  846. specialeffect EF_LEVEL99_3;
  847. progressbar "000000",40;
  848. if (is_party_leader() == true && 'devil_tower == 5) {
  849. if (isbegin_quest(7572) == 0)
  850. setquest 7572;// Lucile...?
  851. 'devil_tower = 6;
  852. }
  853. mes "System is restored.";
  854. next;
  855. mes "[Lucile]";
  856. mes "Wow! You fixed it faster than I thought.";
  857. mes "Did that surprise you?";
  858. mes "I have to be fixed occasionally because I don't have a normal body";
  859. cutin "tnm_lucile02.bmp",2;
  860. next;
  861. mes "[Lucile]";
  862. mes "This body was a gift from the gods.";
  863. mes "Do you see the gate in the middle?";
  864. cutin "tnm_lucile01.bmp",2;
  865. next;
  866. mes "[Lucile]";
  867. mes "Hurry up or this world will be in a danger.";
  868. close2;
  869. cutin "",255;
  870. // continue
  871. }
  872. if ('devil_tower == 6) {
  873. sleep 1500;
  874. npctalk "Lucile: Let me excuse myself, follow me if you want to save the world.";
  875. sleep 2000;
  876. npctalk "Huey: sister...", instance_npcname("Huey#hui02");
  877. if ('devil_tower == 6) {
  878. disablenpc instance_npcname("Lucile#tnm02");
  879. enablenpc instance_npcname("Lucile#tnm03");
  880. enablenpc instance_npcname("Magic Swordman#tnm02");
  881. enablenpc instance_npcname("Demon Morocc#tnm01");
  882. 'devil_tower = 7;
  883. }
  884. }
  885. end;
  886. }
  887. 1@tnm1,135,99,5 script Huey#hui02 4_TOWER_15,{
  888. if ('devil_tower < 5)
  889. end;
  890. if ('devil_tower == 5 || 'devil_tower == 6) {
  891. mes "[Huey]";
  892. mes "I am concerned about her.";
  893. mes "It happens whenever she's wounded.";
  894. mes "Because she's mostly machine...";
  895. close;
  896. }
  897. if ('mob_count > 0) {
  898. mes "[Huey]";
  899. mes "I know the path upstairs...";
  900. mes "First of all, we have to get rid of these demons!";
  901. close;
  902. }
  903. mes "[Huey]";
  904. mes "I wonder how the others are doing...";
  905. mes "Only Thanatos and Lucile have ever entered to upper floor...";
  906. next;
  907. mes "[Huey]";
  908. mes "If you want to assist them, you must hurry.";
  909. mes "I will guide the way for you.";
  910. next;
  911. if (select( "Move immediately.", "Do not follow." ) == 2) {
  912. mes "[Huey]";
  913. mes "...I see.";
  914. close;
  915. }
  916. mes "[Huey]";
  917. mes "This way.";
  918. mes "Be careful.";
  919. close2;
  920. warp 'map_tnm2$,152,130;
  921. end;
  922. OnEnable:
  923. enablenpc instance_npcname("Huey#hui02");
  924. initnpctimer;
  925. end;
  926. OnTimer3000:
  927. npctalk "Huey: Oh no, sister watch out! Demons have suddenly appeared!";
  928. 'mob_count = 16;
  929. monster 'map_tnm1$,142,90,"Evil Shadow",2939,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW1
  930. monster 'map_tnm1$,139,91,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW2
  931. monster 'map_tnm1$,130,86,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead";
  932. monster 'map_tnm1$,143,95,"Evil Shadow",2941,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW3
  933. monster 'map_tnm1$,134,90,"Evil Shadow",2941,1, instance_npcname("Huey#hui02") + "::OnMobDead";
  934. end;
  935. OnTimer6000:
  936. npctalk "Huey: Where are they coming from? Demons again......";
  937. end;
  938. OnTimer8000:
  939. monster 'map_tnm1$,137,103,"Evil Shadow",2939,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW1
  940. monster 'map_tnm1$,140,102,"Evil Shadow",2939,1, instance_npcname("Huey#hui02") + "::OnMobDead";
  941. monster 'map_tnm1$,132,103,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW2
  942. monster 'map_tnm1$,146,100,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead";
  943. monster 'map_tnm1$,142,105,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead";
  944. monster 'map_tnm1$,135,107,"Evil Shadow",2941,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW3
  945. end;
  946. OnTimer11000:
  947. npctalk "Huey: Oh, no...";
  948. end;
  949. OnTimer12000:
  950. monster 'map_tnm1$,135,107,"Evil Shadow",2939,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW1
  951. monster 'map_tnm1$,146,100,"Evil Shadow",2939,1, instance_npcname("Huey#hui02") + "::OnMobDead";
  952. monster 'map_tnm1$,130,86,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW2
  953. monster 'map_tnm1$,137,103,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead";
  954. monster 'map_tnm1$,143,95,"Evil Shadow",2941,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW3
  955. stopnpctimer;
  956. end;
  957. OnMobDead:
  958. 'mob_count--;
  959. if ('mob_count == 0)
  960. npctalk "Huey: This way. This way... we can go upstairs by using the gap that the demons were coming from!";
  961. end;
  962. }
  963. // Morocc - Thanatos Battle
  964. 1@tnm2,136,139,3 script Magic Swordman#tnm02 THANATOS_KEEP,{
  965. mes "[Magic Swordman Thanatos]";
  966. mes "I am sorry but I have been through tough time...";
  967. close;
  968. }
  969. 1@tnm2,133,139,5 duplicate(Officer Heim#heim0) Demon Morocc#tnm01 1916
  970. 1@tnm2,144,137,3 script Lucile#tnm03 4_F_LUCILE,{
  971. if (is_party_leader() == false) {
  972. mes "[Lucile]";
  973. mes "I am talking to your party leader now so please step back for a while.";
  974. cutin "tnm_lucile01.bmp",2;
  975. close3;
  976. }
  977. if ('devil_tower == 7) {
  978. mes "[Lucile]";
  979. mes "Oh. You just have arrived in time.";
  980. mes "Do you want to take a look over there?";
  981. cutin "tnm_lucile01.bmp",2;
  982. next;
  983. mes "[Lucile]";
  984. mes "We need to stop the demon...";
  985. mes "Can you do that?";
  986. npctalk "Lucile: We need to stop the demon... Can you do that?";
  987. if (is_party_leader() == true && 'devil_tower == 7) {
  988. if (isbegin_quest(7573) == 0)
  989. setquest 7573;// Magic Swordman Thanatos
  990. 'demon$ = instance_npcname("Demon Morocc#tnm01");
  991. 'thanatos$ = instance_npcname("Magic Swordman#tnm02");
  992. initnpctimer;
  993. 'devil_tower = 8;
  994. }
  995. close3;
  996. }
  997. mes "[Lucile]";
  998. mes "We need to hold this spot until the trap is set by the Magic Swordman.";
  999. cutin "tnm_lucile01.bmp",2;
  1000. close3;
  1001. OnTimer2000:
  1002. npctalk "Demon Morocc: You silly human. How long do you think you can manage to tie me up!", 'demon$;
  1003. end;
  1004. OnTimer5000:
  1005. npctalk "Demon Morocc: Shadows! Come out and kill all enemies of darkness!", 'demon$;
  1006. end;
  1007. OnTimer6000:
  1008. donpcevent instance_npcname("#devil_seal_timer") + "::OnStart";
  1009. end;
  1010. OnTimer8000:
  1011. npctalk "Thanatos: You are so desperate that you're begging me to save you.", 'thanatos$;
  1012. end;
  1013. OnTimer11500:
  1014. npctalk "Lucile: Thanatos. Sir, should you be bluffing like that?";
  1015. end;
  1016. OnTimer12000:
  1017. npctalk "Demon Morocc: Be afraid of the destruction that I will bring when I'm released!", 'demon$;
  1018. end;
  1019. OnTimer15000:
  1020. npctalk "Thanatos: Shut up! You will never leave here unless I kill you!", 'thanatos$;
  1021. end;
  1022. OnTimer16500:
  1023. npctalk "Thanatos: Lucile! Watch my back while I conjure up a shield to hold him!", 'thanatos$;
  1024. end;
  1025. OnTimer19500:
  1026. npctalk "Lucile: Yes sir.";
  1027. end;
  1028. OnTimer22500:
  1029. npctalk "Lucile: Okay everyone, now we know what to do. We have to prevent the Magic Seal from reaching here!";
  1030. stopnpctimer;
  1031. end;
  1032. }
  1033. 1@tnm2,1,1,0 script #devil_flamecross HIDDEN_WARP_NPC,{
  1034. end;
  1035. OnStart:
  1036. npctalk "Demon Morocc: No way!! Troublemakers!", 'demon$;
  1037. mapannounce 'map_tnm2$, "Demon Morocc: No way!! Troublemakers!", bc_map,0xFF0000;
  1038. initnpctimer;
  1039. end;
  1040. OnTimer1000:
  1041. setarray .@north[0], 138,151, 138,160, 140,165, 140,176, 140,170, 140,181, 140,186, 140,191;
  1042. setarray .@north_west[0], 126,149, 122,151, 118,153, 113,154, 107,156, 101,158, 96,160, 91,161, 86,162, 81,163;
  1043. setarray .@south_west[0], 128,130, 125,127, 122,124, 118,121, 115,118, 112,115, 109,114, 106,106, 102,102, 99,98;
  1044. setarray .@south_east[0], 145,130, 148,126, 151,122, 156,120, 160,117, 164,113, 168,109, 172,105, 176,101, 180,97;
  1045. setarray .@north_east[0], 146,149, 148,149, 150,151, 155,152, 162,153, 167,154, 173,156, 179,158, 185,160, 191,161;
  1046. .@label$ = instance_npcname("#devil_flamecross") + "::OnFlameDead";
  1047. for ( .@i = 0; .@i < 20; .@i += 2 ) {
  1048. if (.@north[.@i] > 0) // 8 mobs for north
  1049. monster 'map_tnm2$,.@north[.@i],.@north[.@i+1], "",2960,1, .@label$;
  1050. monster 'map_tnm2$,.@north_west[.@i],.@north_west[.@i+1], "",2960,1, .@label$;
  1051. monster 'map_tnm2$,.@south_west[.@i],.@south_west[.@i+1], "",2960,1, .@label$;
  1052. monster 'map_tnm2$,.@south_east[.@i],.@south_east[.@i+1], "",2960,1, .@label$;
  1053. monster 'map_tnm2$,.@north_east[.@i],.@north_east[.@i+1], "",2960,1, .@label$;
  1054. sleep 200;
  1055. }
  1056. end;
  1057. OnTimer6000:
  1058. killmonster 'map_tnm2$, instance_npcname("#devil_flamecross") + "::OnFlameDead";
  1059. end;
  1060. OnTimer20000:
  1061. stopnpctimer;
  1062. donpcevent instance_npcname("#devil_flamecross") + "::OnStart";
  1063. end;
  1064. OnStop:
  1065. stopnpctimer;
  1066. killmonster 'map_tnm2$, instance_npcname("#devil_flamecross") + "::OnFlameDead";
  1067. end;
  1068. OnFlameDead:
  1069. end;
  1070. }
  1071. 1@tnm2,1,1,0 script #devil_seal_timer HIDDEN_WARP_NPC,{
  1072. end;
  1073. OnStart:
  1074. enablenpc instance_npcname("#devil_seal_timer");
  1075. enablenpc instance_npcname("#devil_flamecross");
  1076. setarray .@direction$[0], "DIR_NORTHWEST", "DIR_SOUTHWEST", "DIR_SOUTHEAST", "DIR_NORTHEAST", "DIR_NORTH";
  1077. for ( .@i = 0; .@i < 5; .@i++ ) {
  1078. enablenpc instance_npcname("devil_seal_spawn#" + .@direction$[.@i]);
  1079. enablenpc instance_npcname("seal_reach_center#" + .@direction$[.@i]);
  1080. }
  1081. enablenpc instance_npcname("#devil_seal_dead");
  1082. donpcevent instance_npcname("#devil_seal_spawn_global") + "::OnCoord";
  1083. initnpctimer;
  1084. end;
  1085. OnTimer5000:
  1086. mapannounce 'map_tnm2$, "A Magic Seal has just appeared in southeast direction of the tower.", bc_map,0xFFFFFF;
  1087. donpcevent instance_npcname("#devil_seal_spawn_global") + "::OnFirstSpawn";
  1088. end;
  1089. OnTimer10000:
  1090. donpcevent instance_npcname("#devil_flamecross") + "::OnStart";
  1091. end;
  1092. OnTimer25000:
  1093. mapannounce 'map_tnm2$, "Lucile: We should stop before Magic Seal has just started to move again.", bc_map,0xFFFFFF;
  1094. end;
  1095. OnTimer65000:
  1096. mapannounce 'map_tnm2$, "Lucile: We should stop before Magic Seal reaches the center.", bc_map,0xFFFFFF;
  1097. end;
  1098. OnTimer95000:
  1099. mapannounce 'map_tnm2$, "Lucile: The Magic Seal has just started to move again.", bc_map,0xFFFFFF;
  1100. end;
  1101. OnTimer125000:
  1102. mapannounce 'map_tnm2$, "Lucile: It is coming closer... No... It's too dangerous.", bc_map,0xFFFFFF;
  1103. end;
  1104. OnTimer155000:
  1105. mapannounce 'map_tnm2$, "Lucile: The Magic Seal is almost approaching the center!!", bc_map,0xFFFFFF;
  1106. end;
  1107. OnTimer180000:
  1108. donpcevent instance_npcname("#devil_flamecross") + "::OnStop";
  1109. end;
  1110. OnTimer185000:
  1111. mapannounce 'map_tnm2$, "Lucile: We should stop it now!", bc_map,0xFFFFFF;
  1112. end;
  1113. OnTimer191000:
  1114. npctalk "Thanatos: What are you doing!!! Are you playing a game now?!", 'thanatos$;
  1115. mapannounce 'map_tnm2$, "Thanatos: What are you doing!!! Are you playing a game now?!", bc_map,0xFF00;
  1116. end;
  1117. OnTimer193000:
  1118. specialeffect EF_MAGNUMBREAK,AREA, 'thanatos$;
  1119. specialeffect EF_LORD,AREA, 'thanatos$;
  1120. setarray .@direction$[0], "DIR_NORTHWEST", "DIR_SOUTHWEST", "DIR_SOUTHEAST", "DIR_NORTHEAST", "DIR_NORTH";
  1121. for ( .@i = 0; .@i < 5; .@i++ )
  1122. donpcevent instance_npcname("devil_seal_spawn#" + .@direction$[.@i]) + "::OnStop";
  1123. end;
  1124. OnTimer195000:
  1125. npctalk "Demon Morocc: Are you going to keep disturbing me!!!", 'demon$;
  1126. mapannounce 'map_tnm2$, "Demon Morocc: Are you going to keep disturbing me!!!", bc_map,0xFF0000;
  1127. end;
  1128. OnTimer198000:
  1129. npctalk "Demon Morocc: Okay, Let's see who is going to win!!! Come out!", 'demon$;
  1130. mapannounce 'map_tnm2$, "Demon Morocc: Okay, Let's see who is going to win!!! Come out!", bc_map,0xFF0000;
  1131. end;
  1132. OnTimer201000:
  1133. npctalk "Thanatos: It will be the same no matter how many times you try! Give up and go back to demon world!!", 'thanatos$;
  1134. mapannounce 'map_tnm2$, "Thanatos: It will be the same no matter how many times you try! Give up and go back to demon world!!", bc_map,0xFF00;
  1135. initnpctimer;
  1136. end;
  1137. OnStop:
  1138. stopnpctimer;
  1139. donpcevent instance_npcname("#devil_flamecross") + "::OnStop";
  1140. disablenpc instance_npcname("#devil_flamecross");
  1141. disablenpc instance_npcname("#devil_seal_timer");
  1142. end;
  1143. }
  1144. 1@tnm2,1,1,0 script #devil_seal_spawn_global HIDDEN_WARP_NPC,{
  1145. end;
  1146. OnCoord:
  1147. enablenpc instance_npcname("#devil_seal_spawn_global");
  1148. // setarray 'coord_seal_DIR_NORTHWEST[0], 68,167, 78,165, 88,163, 98,160, 108,156, 118,152, 127,147;
  1149. setarray 'coord_seal_DIR_NORTHWEST[0], 68,167, 78,165, 88,163, 98,160, 108,156, 118,152, 118,152;// officially
  1150. setarray 'coord_seal_DIR_SOUTHWEST[0], 90, 86, 96, 95, 103,103, 110,110, 116,116, 122,122, 129,130;
  1151. setarray 'coord_seal_DIR_SOUTHEAST[0], 191,86, 183, 94, 174,103, 165,112, 156,120, 147,128, 143,131;
  1152. setarray 'coord_seal_DIR_NORTHEAST[0], 197,162, 188,161, 179,158, 170,155, 161,152, 152,149, 144,148;
  1153. setarray 'coord_seal_DIR_NORTH[0], 142,214, 140,205, 140,195, 140,185, 140,173, 139,161, 138,150;
  1154. end;
  1155. OnFirstSpawn:
  1156. 'round[DIR_NORTHWEST] = 'round[DIR_SOUTHWEST] = 'round[DIR_SOUTHEAST] = 'round[DIR_NORTHEAST] = 'round[DIR_NORTH] = 0;
  1157. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHWEST") + "::OnFirstSpawn";
  1158. donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHWEST") + "::OnFirstSpawn";
  1159. donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHEAST") + "::OnFirstSpawn";
  1160. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHEAST") + "::OnFirstSpawn";
  1161. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTH") + "::OnFirstSpawn";
  1162. initnpctimer;
  1163. end;
  1164. OnTimer2000:
  1165. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHWEST") + "::OnSlaves";
  1166. donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHWEST") + "::OnSlaves";
  1167. donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHEAST") + "::OnSlaves";
  1168. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHEAST") + "::OnSlaves";
  1169. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTH") + "::OnSlaves";
  1170. end;
  1171. OnTimer20000:
  1172. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHWEST") + "::OnStart";
  1173. donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHEAST") + "::OnStart";
  1174. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTH") + "::OnStart";
  1175. end;
  1176. OnTimer30000:
  1177. donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHWEST") + "::OnStart";
  1178. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHEAST") + "::OnStart";
  1179. end;
  1180. OnStop:
  1181. stopnpctimer;
  1182. disablenpc instance_npcname("#devil_seal_spawn_global");
  1183. end;
  1184. }
  1185. 1@tnm2,1,1,0 script devil_seal_spawn#DIR_NORTHWEST HIDDEN_WARP_NPC,{
  1186. end;
  1187. OnStart:
  1188. .@num = getd( strnpcinfo(2) );
  1189. if ('seal_id[.@num] == 0 || unitexists('seal_id[.@num]) == 0)
  1190. stopnpctimer;
  1191. else {
  1192. getunitdata 'seal_id[.@num], .@data;
  1193. 'seal_hp[.@num] = .@data[UMOB_HP];
  1194. killmonster 'map_tnm2$, instance_npcname("#devil_seal_dead") + "::OnSeal_" + strnpcinfo(2);
  1195. initnpctimer;
  1196. }
  1197. end;
  1198. OnFirstSpawn:
  1199. OnTimer5000:
  1200. .@num = getd( strnpcinfo(2) );
  1201. .@index = 'round[.@num] * 2;
  1202. if (.@index == 0 || 'seal_id[.@num]) {
  1203. .@direction$ = strnpcinfo(2);
  1204. .@x = getd( "'coord_seal_" + .@direction$ + "[" + .@index + "]" );
  1205. .@y = getd( "'coord_seal_" + .@direction$ + "[" + (.@index+1) + "]" );
  1206. monster 'map_tnm2$,.@x,.@y,"Magic Seal",2938,1, instance_npcname("#devil_seal_dead") + "::OnSeal_" + .@direction$; // MM_MAGIC_SEAL
  1207. 'seal_id[.@num] = $@mobid[0];
  1208. if (.@index == 0)
  1209. setunitdata 'seal_id[.@num], UMOB_HP, 3000000;
  1210. else if ('seal_hp[.@num] > 0)
  1211. setunitdata 'seal_id[.@num], UMOB_HP, 'seal_hp[.@num];
  1212. else
  1213. stopnpctimer;
  1214. 'round[.@num]++;
  1215. if ('round[.@num] == 7)
  1216. donpcevent instance_npcname("seal_reach_center#" + .@direction$) + "::OnStart";
  1217. }
  1218. end;
  1219. OnSlaves:
  1220. OnTimer7000:
  1221. killmonster 'map_tnm2$, instance_npcname(strnpcinfo(0)) + "::OnMobDead";
  1222. .@num = getd( strnpcinfo(2) );
  1223. if ('seal_id[.@num] && unitexists('seal_id[.@num])) {
  1224. .@direction$ = strnpcinfo(2);
  1225. .@index = ('round[.@num] - 1) * 2;
  1226. .@x = getd( "'coord_seal_" + .@direction$ + "[" + .@index + "]" );
  1227. .@y = getd( "'coord_seal_" + .@direction$ + "[" + (.@index+1) + "]" );
  1228. areamonster 'map_tnm2$,(.@x-1),(.@y-1),(.@x+1),(.@y+1),"Evil Shadow",2939,2, instance_npcname(strnpcinfo(0)) + "::OnMobDead"; // MM_EVIL_SHADOW1
  1229. areamonster 'map_tnm2$,(.@x-1),(.@y-1),(.@x+1),(.@y+1),"Evil Shadow",2940,2, instance_npcname(strnpcinfo(0)) + "::OnMobDead"; // MM_EVIL_SHADOW2
  1230. if ('round[.@num] == 7)
  1231. stopnpctimer;
  1232. }
  1233. end;
  1234. OnTimer30000:
  1235. donpcevent instance_npcname("devil_seal_spawn#" + strnpcinfo(2)) + "::OnStart";
  1236. end;
  1237. OnDisable:
  1238. stopnpctimer;
  1239. killmonster 'map_tnm2$, instance_npcname(strnpcinfo(0)) + "::OnMobDead"; // note : officially still alive
  1240. killmonster 'map_tnm2$, instance_npcname("#devil_seal_dead") + "::OnSeal_" + strnpcinfo(2); // note : officially still alive
  1241. disablenpc instance_npcname(strnpcinfo(0));
  1242. end;
  1243. OnStop:
  1244. stopnpctimer;
  1245. killmonster 'map_tnm2$, instance_npcname(strnpcinfo(0)) + "::OnMobDead";
  1246. killmonster 'map_tnm2$, instance_npcname("#devil_seal_dead") + "::OnSeal_" + strnpcinfo(2);
  1247. end;
  1248. OnMobDead:
  1249. end;
  1250. }
  1251. 1@tnm2,1,1,0 duplicate(devil_seal_spawn#DIR_NORTHWEST) devil_seal_spawn#DIR_SOUTHWEST HIDDEN_WARP_NPC
  1252. 1@tnm2,1,1,0 duplicate(devil_seal_spawn#DIR_NORTHWEST) devil_seal_spawn#DIR_SOUTHEAST HIDDEN_WARP_NPC
  1253. 1@tnm2,1,1,0 duplicate(devil_seal_spawn#DIR_NORTHWEST) devil_seal_spawn#DIR_NORTHEAST HIDDEN_WARP_NPC
  1254. 1@tnm2,1,1,0 duplicate(devil_seal_spawn#DIR_NORTHWEST) devil_seal_spawn#DIR_NORTH HIDDEN_WARP_NPC
  1255. 1@tnm2,1,1,0 script seal_reach_center#DIR_NORTHWEST HIDDEN_WARP_NPC,{
  1256. end;
  1257. OnStart:
  1258. enablenpc instance_npcname(strnpcinfo(0));
  1259. initnpctimer;
  1260. end;
  1261. OnTimer2000:
  1262. npctalk "Demon Morocc: Kuh ha ha ha ha Pieces of my power! Gather here again!!!", 'demon$;
  1263. mapannounce 'map_tnm2$, "Demon Morocc: Kuh ha ha ha ha Pieces of my power! Gather here again!!!", bc_map,0xFF0000;
  1264. end;
  1265. OnTimer4000:
  1266. npctalk "Thanatos: Stop him! Prevent him from coming closer!!!", 'thanatos$;
  1267. mapannounce 'map_tnm2$, "Thanatos: Stop him! Prevent him from coming closer!!!", bc_map,0xFF00;
  1268. stopnpctimer;
  1269. disablenpc instance_npcname(strnpcinfo(0));
  1270. end;
  1271. }
  1272. 1@tnm2,1,1,0 duplicate(seal_reach_center#DIR_NORTHWEST) seal_reach_center#DIR_SOUTHWEST HIDDEN_WARP_NPC
  1273. 1@tnm2,1,1,0 duplicate(seal_reach_center#DIR_NORTHWEST) seal_reach_center#DIR_SOUTHEAST HIDDEN_WARP_NPC
  1274. 1@tnm2,1,1,0 duplicate(seal_reach_center#DIR_NORTHWEST) seal_reach_center#DIR_NORTHEAST HIDDEN_WARP_NPC
  1275. 1@tnm2,1,1,0 duplicate(seal_reach_center#DIR_NORTHWEST) seal_reach_center#DIR_NORTH HIDDEN_WARP_NPC
  1276. 1@tnm2,1,1,0 script #devil_seal_dead HIDDEN_WARP_NPC,{
  1277. end;
  1278. OnSeal_DIR_NORTHWEST: callsub( S_Sealdead, DIR_NORTHWEST );
  1279. OnSeal_DIR_SOUTHWEST: callsub( S_Sealdead, DIR_SOUTHWEST );
  1280. OnSeal_DIR_SOUTHEAST: callsub( S_Sealdead, DIR_SOUTHEAST );
  1281. OnSeal_DIR_NORTHEAST: callsub( S_Sealdead, DIR_NORTHEAST );
  1282. OnSeal_DIR_NORTH: callsub( S_Sealdead, DIR_NORTH );
  1283. S_Sealdead:
  1284. 'seal_id[ getarg(0) ] = 0;
  1285. 'seal_dead[ getarg(0) ] = 1;
  1286. .@total_seal = 'seal_dead[DIR_NORTHWEST] + 'seal_dead[DIR_SOUTHWEST] + 'seal_dead[DIR_SOUTHEAST] + 'seal_dead[DIR_NORTHEAST] + 'seal_dead[DIR_NORTH];
  1287. if (.@total_seal != 5) {
  1288. if (getarg(0) == DIR_NORTHWEST)
  1289. mapannounce 'map_tnm2$, "Lucile: It is too early to feel easy! There are Magic Seals that haven't been destroyed yet.", bc_map,0xFF00;
  1290. else
  1291. mapannounce 'map_tnm2$, "There are still Magic Seals to destroy.", bc_map,0xFF00;
  1292. }
  1293. else {
  1294. donpcevent instance_npcname("#devil_seal_spawn_global") + "::OnStop";
  1295. donpcevent instance_npcname("#devil_seal_timer") + "::OnStop"; // stop timer of npc #devil_flamecross as well
  1296. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHWEST") + "::OnDisable";// note: on official seals and slaves are alive
  1297. donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHWEST") + "::OnDisable";
  1298. donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHEAST") + "::OnDisable";
  1299. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHEAST") + "::OnDisable";
  1300. donpcevent instance_npcname("devil_seal_spawn#DIR_NORTH") + "::OnDisable";
  1301. mapannounce 'map_tnm2$, "Demon Morocc: No.. This can't be.. Who the hell.. are you!", bc_map,0xFF0000;
  1302. npctalk "Demon Morocc: No.. This can't be.. Who the hell.. are you!", 'demon$;
  1303. initnpctimer;
  1304. }
  1305. end;
  1306. OnTimer3000:
  1307. mapannounce 'map_tnm2$, "Thanatos: It will be the last time to show off!! Good bye!!!", bc_map,0xFF0000;
  1308. npctalk "Thanatos: It will be the last time to show off!! Good bye!!!", 'thanatos$;
  1309. end;
  1310. OnTimer5000:
  1311. specialeffect EF_LORD,AREA, 'thanatos$;
  1312. end;
  1313. OnTimer7000:
  1314. stopnpctimer;
  1315. disablenpc 'demon$;
  1316. disablenpc 'thanatos$;
  1317. disablenpc instance_npcname("Lucile#tnm03");
  1318. enablenpc instance_npcname("Lucile#tnm04");
  1319. enablenpc instance_npcname("#tnm3event01");
  1320. enablenpc instance_npcname("Young Girl#tnm01");
  1321. 'devil_tower = 9;
  1322. 'demon$ = 'thanatos$ = "";
  1323. 'round[DIR_NORTHWEST] = 'round[DIR_SOUTHWEST] = 'round[DIR_SOUTHEAST] = 'round[DIR_NORTHEAST] = 'round[DIR_NORTH] = 0;
  1324. 'seal_id[DIR_NORTHWEST] = 'seal_id[DIR_SOUTHWEST] = 'seal_id[DIR_SOUTHEAST] = 'seal_id[DIR_NORTHEAST] = 'seal_id[DIR_NORTH] = 0;
  1325. 'seal_hp[DIR_NORTHWEST] = 'seal_hp[DIR_SOUTHWEST] = 'seal_hp[DIR_SOUTHEAST] = 'seal_hp[DIR_NORTHEAST] = 'seal_hp[DIR_NORTH] = 0;
  1326. 'seal_dead[DIR_NORTHWEST] = 'seal_dead[DIR_SOUTHWEST] = 'seal_dead[DIR_SOUTHEAST] = 'seal_dead[DIR_NORTHEAST] = 'seal_dead[DIR_NORTH] = 0;
  1327. deletearray 'coord_seal_DIR_NORTHWEST[0],14;
  1328. deletearray 'coord_seal_DIR_SOUTHWEST[0],14;
  1329. deletearray 'coord_seal_DIR_SOUTHEAST[0],14;
  1330. deletearray 'coord_seal_DIR_NORTHEAST[0],14;
  1331. deletearray 'coord_seal_DIR_NORTH[0],14;
  1332. end;
  1333. }
  1334. 1@tnm2,144,137,3 script Lucile#tnm04 4_F_LUCILE,{
  1335. if ('devil_tower < 9)
  1336. end;
  1337. if (isbegin_quest(7574) == 0) {
  1338. if (isbegin_quest(7572) == 1)
  1339. erasequest 7572;// Lucile...?
  1340. if (isbegin_quest(7573) == 1) // leader
  1341. erasequest 7573;// Magic Swordman Thanatos
  1342. setquest 7574;// Thanatos Tower
  1343. mes "[Lucile]";
  1344. mes "I guess the power of Demon Morocc to break the shield of seal has collided with Thanatos.";
  1345. cutin "tnm_lucile01.bmp",2;
  1346. next;
  1347. mes "[Lucile]";
  1348. mes "It has gone too far somewhere in the south";
  1349. mes "Will you go there?";
  1350. }
  1351. else {
  1352. mes "[Lucile]";
  1353. mes "The collision of those two powers is too much to handle.";
  1354. mes "It could have influenced the south of Rune Midgard.";
  1355. }
  1356. next;
  1357. if (select( "Follow.", "Stop." ) == 2) {
  1358. mes "[Lucile]";
  1359. mes "...I guess this is what you are able to?";
  1360. cutin "tnm_lucile02.bmp",2;
  1361. close3;
  1362. }
  1363. mes "[Lucile]";
  1364. mes "Good luck.";
  1365. close2;
  1366. warp 'map_tnm3$,21,171;
  1367. end;
  1368. }
  1369. // tnm3 Stairs 1
  1370. 1@tnm3,21,171,0 script #tnm3event01 HIDDEN_NPC,1,1,{
  1371. end;
  1372. OnTouch:
  1373. if ('devil_tower != 9)
  1374. end;
  1375. setpcblock PCBLOCK_NPC, true;
  1376. disablenpc instance_npcname("#tnm3event01");
  1377. enablenpc instance_npcname("Young Girl#tnm01");
  1378. sleep2 4000;
  1379. mapannounce 'map_tnm3$, "Young Girl: Odin Preserve me! A demon!! Help me!", bc_map,0xFF00;
  1380. 'mob_count = 12;
  1381. initnpctimer;
  1382. setpcblock PCBLOCK_NPC, false;
  1383. end;
  1384. OnTimer1000:
  1385. monster 'map_tnm3$,33,171,"Evil Shadow",2939,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW1
  1386. end;
  1387. OnTimer2000:
  1388. monster 'map_tnm3$,39,172,"Evil Shadow",2939,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW1
  1389. end;
  1390. OnTimer3000:
  1391. monster 'map_tnm3$,34,177,"Evil Shadow",2940,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW2
  1392. end;
  1393. OnTimer4000:
  1394. monster 'map_tnm3$,36,176,"Evil Shadow",2940,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW2
  1395. end;
  1396. OnTimer5000:
  1397. monster 'map_tnm3$,37,175,"Evil Shadow",2940,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW2
  1398. end;
  1399. OnTimer6000:
  1400. monster 'map_tnm3$,37,173,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
  1401. monster 'map_tnm3$,36,172,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
  1402. end;
  1403. OnTimer7000:
  1404. monster 'map_tnm3$,29,178,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
  1405. monster 'map_tnm3$,35,172,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
  1406. end;
  1407. OnTimer8000:
  1408. monster 'map_tnm3$,34,173,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
  1409. monster 'map_tnm3$,35,172,"Evil Shadow",2939,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW1
  1410. end;
  1411. OnTimer9000:
  1412. monster 'map_tnm3$,34,173,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
  1413. stopnpctimer;
  1414. end;
  1415. }
  1416. 1@tnm3,43,175,3 script Young Girl#tnm01 4_F_DST_CHILD,{
  1417. if ('devil_tower < 9)
  1418. end;
  1419. if ('devil_tower == 9) {
  1420. mes "[Young Girl]";
  1421. mes "Why are there demons in the castle?!";
  1422. mes "HELP ME!";
  1423. close;
  1424. }
  1425. if ('devil_tower == 10) {
  1426. if (is_party_leader() == false) {
  1427. mes "[Young Girl]";
  1428. mes "*weeping* The demons are so scary.";
  1429. close;
  1430. }
  1431. mes "[Young Girl]";
  1432. mes "Why would demons come all of a sudden,";
  1433. mes "lots of guards are hurt.";
  1434. npctalk "Young Girl: Why would demons come all of a sudden, lots of guards are hurt.";
  1435. next;
  1436. select("Where are they?");
  1437. unittalk getcharid(3), "" + strcharinfo(0) + " : Where are they?";
  1438. mes "[Young Girl]";
  1439. mes "They are in Morroc castle. My father is a knight.";
  1440. npctalk "They are in Morroc castle. My father is a knight.";
  1441. next;
  1442. mes "[Young Girl]";
  1443. mes "It seems like something is happening, I hear strange noises downstairs.";
  1444. npctalk "Young Girl: It seems like something is happening, I hear strange noises downstairs.";
  1445. next;
  1446. mes "[Young Girl]";
  1447. mes "I saw some guys in black entering. What is going on in the castle?";
  1448. npctalk "Young Girl: I saw some guys in black entering. What is going on in the castle?";
  1449. next;
  1450. mes "[Young Girl]";
  1451. mes "Papa.. Papa please be safe. *sob*";
  1452. mes "Please come with me through the passage behind that shelf!";
  1453. npctalk "Young Girl: Please come with me through the passage behind that shelf!";
  1454. close2;
  1455. if (is_party_leader() == true && 'devil_tower == 10) {
  1456. enablenpc instance_npcname("#tnm3gate01");
  1457. enablenpc instance_npcname("#tnm3event02ect");
  1458. 'devil_tower = 11;
  1459. }
  1460. end;
  1461. }
  1462. if ('devil_tower == 11) {
  1463. mes "[Young Girl]";
  1464. mes "Behind that shelf is a secret passage to the basement!";
  1465. mes "Please come with me to make sure my Papa is safe.";
  1466. close;
  1467. }
  1468. end;
  1469. OnMobDead:
  1470. 'mob_count--;
  1471. if ('mob_count == 0) {
  1472. 'devil_tower = 10;
  1473. npctalk "Young Girl: Thank you for saving me... but why is there a demon?";
  1474. }
  1475. end;
  1476. }
  1477. 1@tnm3,52,176,0 warp #tnm3gate01 2,2,1@tnm3,85,178
  1478. // tnm3 Stairs 2
  1479. 1@tnm3,85,178,0 script #tnm3event02ect HIDDEN_NPC,1,1,{
  1480. end;
  1481. OnTouch:
  1482. if ('devil_tower != 11)
  1483. end;
  1484. disablenpc instance_npcname("#tnm3event02ect");
  1485. enablenpc instance_npcname("Young Girl#tnm02");
  1486. npctalk "Young Girl: Look! More demons, they will overwhelm the castle soon!", instance_npcname("Young Girl#tnm02");
  1487. 'mob_count = 18;
  1488. initnpctimer;
  1489. end;
  1490. OnTimer1000:
  1491. .@label$ = instance_npcname("Young Girl#tnm02") + "::OnMobDead";
  1492. monster 'map_tnm3$,97,174,"Evil Shadow",2939,1, .@label$;
  1493. monster 'map_tnm3$,98,175,"Evil Shadow",2939,1, .@label$;
  1494. monster 'map_tnm3$,100,166,"Evil Shadow",2939,1, .@label$;
  1495. monster 'map_tnm3$,108,171,"Evil Shadow",2940,1, .@label$;
  1496. monster 'map_tnm3$,104,172,"Evil Shadow",2940,1, .@label$;
  1497. end;
  1498. OnTimer3000:
  1499. .@label$ = instance_npcname("Young Girl#tnm02") + "::OnMobDead";
  1500. monster 'map_tnm3$,109,169,"Evil Shadow",2941,1, .@label$;
  1501. monster 'map_tnm3$,111,173,"Evil Shadow",2941,1, .@label$;
  1502. monster 'map_tnm3$,113,167,"Evil Shadow",2941,1, .@label$;
  1503. monster 'map_tnm3$,101,176,"Evil Shadow",2939,1, .@label$;
  1504. monster 'map_tnm3$,116,170,"Evil Shadow",2941,1, .@label$;
  1505. end;
  1506. OnTimer5000:
  1507. .@label$ = instance_npcname("Young Girl#tnm02") + "::OnMobDead";
  1508. monster 'map_tnm3$,107,175,"Evil Shadow",2940,1, .@label$;
  1509. monster 'map_tnm3$,106,174,"Evil Shadow",2940,1, .@label$;
  1510. monster 'map_tnm3$,106,169,"Evil Shadow",2939,1, .@label$;
  1511. monster 'map_tnm3$,103,177,"Evil Shadow",2940,1, .@label$;
  1512. end;
  1513. OnTimer7000:
  1514. stopnpctimer;
  1515. .@label$ = instance_npcname("Young Girl#tnm02") + "::OnMobDead";
  1516. monster 'map_tnm3$,121,171,"Evil Shadow",2941,1, .@label$;
  1517. monster 'map_tnm3$,119,173,"Evil Shadow",2941,1, .@label$;
  1518. monster 'map_tnm3$,127,166,"Evil Shadow",2941,1, .@label$;
  1519. monster 'map_tnm3$,125,166,"Evil Shadow",2941,1, .@label$;
  1520. end;
  1521. }
  1522. 1@tnm3,89,179,4 script Young Girl#tnm02 4_F_DST_CHILD,{
  1523. end;
  1524. OnMobDead:
  1525. 'mob_count--;
  1526. if ('mob_count == 0) {
  1527. mapannounce 'map_tnm3$, "Young Girl: The way underground is along this aisle!", bc_map,0xFF00;
  1528. disablenpc instance_npcname("Young Girl#tnm02");
  1529. enablenpc instance_npcname("Young Girl#tnm03");
  1530. npctalk "Young Girl: The way underground is along this aisle!", instance_npcname("Young Girl#tnm03");
  1531. enablenpc instance_npcname("#tnm3gate02");
  1532. enablenpc instance_npcname("Evil Shadow#tnm3mob01");
  1533. }
  1534. end;
  1535. }
  1536. 1@tnm3,128,164,3 script Young Girl#tnm03 4_F_DST_CHILD,{
  1537. mes "[Young Girl]";
  1538. mes "From here.. I do not know well...";
  1539. mes "I see so many stairs...";
  1540. mes "See there are so many demons. My father will be in a danger!";
  1541. mes "Please save him.";
  1542. close;
  1543. }
  1544. 1@tnm3,134,156,0 warp #tnm3gate02 1,1,1@tnm3,169,165
  1545. // tnm3 Stairs 3
  1546. 1@tnm3,179,172,3 script Evil Shadow#tnm3mob01 2941,4,4,{
  1547. end;
  1548. OnTouch_:
  1549. if ('devil_tower == 11) {
  1550. 'devil_tower = 12;
  1551. setpcblock PCBLOCK_NPC, true;
  1552. sleep2 1000;
  1553. npctalk "Evil Shadow: I thought I smelled rats sneaking in here. I was right!!";
  1554. sleep2 3000;
  1555. npctalk "Evil Shadow: You will rue your curiosity and interference. Time to feed!";
  1556. sleep2 3000;
  1557. npctalk "Evil Shadow: I summon the Darkness!!";
  1558. disablenpc instance_npcname("Evil Shadow#tnm3mob01");
  1559. donpcevent instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnSummon";
  1560. setpcblock PCBLOCK_NPC, false;
  1561. }
  1562. end;
  1563. }
  1564. 1@tnm3,1,1,0 script Evil Shadow kill#tnm3mob01 HIDDEN_WARP_NPC,{
  1565. end;
  1566. OnSummon:
  1567. enablenpc instance_npcname("Evil Shadow kill#tnm3mob01");
  1568. 'mob_count = 5;
  1569. initnpctimer;
  1570. monster 'map_tnm3$,179,172, "Evil Shadow",2941,1, instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnMobDead";// MM_EVIL_SHADOW3
  1571. end;
  1572. OnTimer1000:
  1573. monster 'map_tnm3$,181,172, "Evil Shadow",2940,1, instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnMobDead";// MM_EVIL_SHADOW2
  1574. monster 'map_tnm3$,178,172, "Evil Shadow",2940,1, instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnMobDead";
  1575. end;
  1576. OnTimer2000:
  1577. monster 'map_tnm3$,179,172, "Evil Shadow",2939,1, instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnMobDead";// MM_EVIL_SHADOW1
  1578. monster 'map_tnm3$,176,173, "Evil Shadow",2939,1, instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnMobDead";
  1579. stopnpctimer;
  1580. end;
  1581. OnMobDead:
  1582. 'mob_count--;
  1583. if ('mob_count == 0) {
  1584. enablenpc instance_npcname("#tnm3gate03");
  1585. enablenpc instance_npcname("Demonic Shade#mobmaster");
  1586. enablenpc instance_npcname("Morocc Lord Knight#mocl");
  1587. enablenpc instance_npcname("Loki#tnmloki01");
  1588. }
  1589. end;
  1590. }
  1591. 1@tnm3,183,177,0 warp #tnm3gate03 1,1,1@tnm3,97,6
  1592. // Demonic Shade (Boss room)
  1593. 1@tnm3,97,18,3 script Demonic Shade#mobmaster 2939,5,5,{
  1594. end;
  1595. OnTouch_:// possibility to skip this step
  1596. if ('devil_tower < 12)
  1597. end;
  1598. if ('shade == 0) {
  1599. 'shade = 1;
  1600. setpcblock PCBLOCK_NPC, true;
  1601. sleep2 1000;
  1602. npctalk "Demonic Shade: So you are the trouble makers!";
  1603. sleep2 2000;
  1604. npctalk "Demonic Shade: Tsk, You couldn't even manage to protect..?.whatever.. you will all die here.";
  1605. sleep2 3000;
  1606. npctalk "Demonic Shade: The eternal truth is I will turn your deaths into the Demon's life with your hearts' blood!!!";
  1607. disablenpc instance_npcname("Demonic Shade#mobmaster");
  1608. donpcevent instance_npcname("#mobmaster_kill") + "::OnSummon";
  1609. setpcblock PCBLOCK_NPC, false;
  1610. }
  1611. end;
  1612. }
  1613. 1@tnm3,1,1,0 script #mobmaster_kill HIDDEN_WARP_NPC,{
  1614. end;
  1615. OnSummon:
  1616. enablenpc instance_npcname("#mobmaster_kill");
  1617. initnpctimer;
  1618. monster 'map_tnm3$,97,18, "Demonic Shade",2939,1, instance_npcname("#mobmaster_kill") + "::OnMobDead";
  1619. end;
  1620. OnTimer1000:
  1621. .@label$ = instance_npcname("#mobmaster_kill") + "::OnMobDead";
  1622. stopnpctimer;
  1623. monster 'map_tnm3$,94,18, "Demonic Shade",2940,1, .@label$;
  1624. monster 'map_tnm3$,96,18, "Demonic Shade",2940,1, .@label$;
  1625. monster 'map_tnm3$,113,18, "Demonic Shade",2939,1, .@label$;
  1626. monster 'map_tnm3$,119,22, "Demonic Shade",2939,1, .@label$;
  1627. monster 'map_tnm3$,116,18, "Demonic Shade",2940,1, .@label$;
  1628. monster 'map_tnm3$,116,18, "Demonic Shade",2941,1, .@label$;
  1629. monster 'map_tnm3$,114,12, "Demonic Shade",2941,1, .@label$;
  1630. monster 'map_tnm3$,116,21, "Demonic Shade",2940,1, .@label$;
  1631. monster 'map_tnm3$,74,18, "Demonic Shade",2939,1, .@label$;
  1632. monster 'map_tnm3$,75,12, "Demonic Shade",2940,1, .@label$;
  1633. monster 'map_tnm3$,76,21, "Demonic Shade",2940,1, .@label$;
  1634. monster 'map_tnm3$,69,16, "Demonic Shade",2941,1, .@label$;
  1635. monster 'map_tnm3$,57,43, "Demonic Shade",2941,1, .@label$;
  1636. monster 'map_tnm3$,58,44, "Demonic Shade",2939,1, .@label$;
  1637. monster 'map_tnm3$,59,46, "Demonic Shade",2939,1, .@label$;
  1638. monster 'map_tnm3$,60,48, "Demonic Shade",2941,1, .@label$;
  1639. monster 'map_tnm3$,56,45, "Demonic Shade",2940,1, .@label$;
  1640. monster 'map_tnm3$,57,44, "Demonic Shade",2940,1, .@label$;
  1641. monster 'map_tnm3$,80,71, "Demonic Shade",2940,1, .@label$;
  1642. monster 'map_tnm3$,59,77, "Demonic Shade",2940,1, .@label$;
  1643. monster 'map_tnm3$,77,73, "Demonic Shade",2941,1, .@label$;
  1644. monster 'map_tnm3$,77,72, "Demonic Shade",2940,1, .@label$;
  1645. monster 'map_tnm3$,59,70, "Demonic Shade",2939,1, .@label$;
  1646. monster 'map_tnm3$,81,66, "Demonic Shade",2941,1, .@label$;
  1647. monster 'map_tnm3$,60,69, "Demonic Shade",2939,1, .@label$;
  1648. monster 'map_tnm3$,57,73, "Demonic Shade",2940,1, .@label$;
  1649. monster 'map_tnm3$,62,74, "Demonic Shade",2941,1, .@label$;
  1650. monster 'map_tnm3$,78,67, "Demonic Shade",2939,1, .@label$;
  1651. monster 'map_tnm3$,75,22, "Demonic Shade",2941,1, .@label$;
  1652. monster 'map_tnm3$,81,69, "Demonic Shade",2939,1, .@label$;
  1653. monster 'map_tnm3$,77,11, "Demonic Shade",2939,1, .@label$;
  1654. monster 'map_tnm3$,58,74, "Demonic Shade",2941,1, .@label$;
  1655. end;
  1656. OnMobDead:
  1657. end;
  1658. }
  1659. 1@tnm3,93,52,4 script Morocc Lord Knight#mocl 1_M_MOC_LORD,{
  1660. mes "[Morocc Lord Knight]";
  1661. mes "You were the rats who were sneaking around here!";
  1662. close;
  1663. }
  1664. 1@tnm3,97,48,3 script Loki#tnmloki01 4_M_ROKI2,{
  1665. if ('devil_tower == 12) {
  1666. 'devil_tower = 13;
  1667. donpcevent instance_npcname("#morroc_lord_talk") + "::OnStart";
  1668. end;
  1669. }
  1670. mes "[Loki]";
  1671. mes "You have no power here.";
  1672. close;
  1673. }
  1674. 1@tnm3,94,51,4 duplicate(Officer Heim#heim0) Young Girl#tnm04 4_F_DST_CHILD
  1675. 1@tnm2,1,1,0 script #morroc_lord_talk HIDDEN_WARP_NPC,{
  1676. end;
  1677. OnStart:
  1678. enablenpc instance_npcname("#morroc_lord_talk");
  1679. 'morroc$ = instance_npcname("Morocc Lord Knight#mocl");
  1680. 'loki$ = instance_npcname("Loki#tnmloki01");
  1681. npctalk "Morocc Lord Knight: So.. the rat was an assassin? You came here to die?", 'morroc$;
  1682. initnpctimer;
  1683. end;
  1684. OnTimer3000:
  1685. npctalk "Loki: What will you accomplish by waking the Demon in the Wall?", 'loki$;
  1686. end;
  1687. OnTimer6000:
  1688. npctalk "Loki: My mission brought me here to bury it again.", 'loki$;
  1689. end;
  1690. OnTimer9000:
  1691. npctalk "Morocc Lord Knight: Really.. the Assassin guild who I thought was on a mission to balance power in the world.", 'morroc$;
  1692. end;
  1693. OnTimer12000:
  1694. npctalk "Morocc Lord Knight: Resurrecting the demon would bring balance! Even the mightiest become slaves to a god..", 'morroc$;
  1695. end;
  1696. OnTimer15000:
  1697. npctalk "Morocc Lord Knight: The gods have their own plans. Do you know what the gods plan for you or I?", 'morroc$;
  1698. end;
  1699. OnTimer18000:
  1700. npctalk "Morocc Lord Knight: They want this world to only be in their image. Where do we fit into that?!", 'morroc$;
  1701. end;
  1702. OnTimer20000:
  1703. npctalk "Loki: Shut up!", 'loki$;
  1704. end;
  1705. OnTimer22000:
  1706. npctalk "Loki: I do not care about gods or demons or the plans that they have made. The only thing that matters is kill you.", 'loki$;
  1707. end;
  1708. OnTimer25000:
  1709. npctalk "Loki: That is my mission!", 'loki$;
  1710. end;
  1711. OnTimer28000:
  1712. npctalk "Morocc Lord Knight: So all you want is to finish your damn mission?..", 'morroc$;
  1713. end;
  1714. OnTimer31000:
  1715. npctalk "Loki: *Grins* Of course!!", 'loki$;
  1716. specialeffect EF_BEGINSPELL3,AREA, 'loki$;
  1717. end;
  1718. OnTimer33000:
  1719. npctalk "Loki: Mind blaster-!!!", 'loki$;
  1720. end;
  1721. OnTimer34000:
  1722. enablenpc instance_npcname("Young Girl#tnm04");
  1723. npctalk "Young Girl: No..!! Don't hurt my Papa!!!", instance_npcname("Young Girl#tnm04");
  1724. specialeffect EF_HIT3,AREA, instance_npcname("Young Girl#tnm04");
  1725. end;
  1726. OnTimer34500:
  1727. specialeffect EF_HIT2,AREA, instance_npcname("Young Girl#tnm04");
  1728. end;
  1729. OnTimer35500:
  1730. specialeffect EF_ICECRASH,AREA, instance_npcname("Young Girl#tnm04");
  1731. end;
  1732. OnTimer36500:
  1733. npctalk "!!!", 'loki$;
  1734. end;
  1735. OnTimer38500:
  1736. npctalk "Morocc Lord Knight: Oh no.. They should have sent better than you, Mr. Assassin, for this mission.", 'morroc$;
  1737. end;
  1738. OnTimer41500:
  1739. npctalk "Young Girl: Something is wrong....", instance_npcname("Young Girl#tnm04");
  1740. end;
  1741. OnTimer44500:
  1742. npctalk "Young Girl: My Papa would never act this way.. Ugh..", instance_npcname("Young Girl#tnm04");
  1743. end;
  1744. OnTimer47500:
  1745. npctalk "Morocc Lord Knight: Human.. To do such a stupid thing.. a sacrifice.", 'morroc$;
  1746. end;
  1747. OnTimer50500:
  1748. npctalk "Morocc Lord Knight: You know, the truth is, that it is useless.", 'morroc$;
  1749. end;
  1750. OnTimer53500:
  1751. npctalk "Morocc Lord Knight: Gwuaaa hahahaha. You stupid humans I will kill you all as sacrifices for the demon!!", 'morroc$;
  1752. specialeffect EF_COUPLECASTING,AREA, 'morroc$;
  1753. specialeffect EF_VOLCANO,AREA, 'morroc$;
  1754. end;
  1755. OnTimer54500:
  1756. npctalk "Loki:... tsk! useless....!", 'loki$;
  1757. end;
  1758. OnTimer55500:
  1759. enablenpc instance_npcname("Loki#tnmloki02");
  1760. mapwarp 'map_tnm3$, 'map_tnm3$,136,62;// todo area 1x1
  1761. 'devil_tower = 13;
  1762. stopnpctimer;
  1763. disablenpc instance_npcname("#morroc_lord_talk");
  1764. disablenpc instance_npcname("Morocc Lord Knight#mocl");
  1765. disablenpc instance_npcname("Loki#tnmloki01");
  1766. disablenpc instance_npcname("Young Girl#tnm04");
  1767. end;
  1768. }
  1769. 1@tnm3,137,65,3 script Loki#tnmloki02 4_M_ROKI2,{
  1770. if ('devil_tower != 13)
  1771. end;
  1772. if (is_party_leader() == false) {
  1773. mes "[Loki]";
  1774. mes "I am talking to your boss.";
  1775. close;
  1776. }
  1777. if (getmercinfo(0) > 0) {
  1778. mes "[Loki]";
  1779. mes "...embarrassing.";
  1780. mes "You should ^4d4dffTerminate the mercenary contract^000000, if you want to help me on this mission.";
  1781. close;
  1782. }
  1783. mes "[Loki]";
  1784. mes "Where did you come from?";
  1785. mes "I may need help here.";
  1786. npctalk "Loki: Where did you come from? I may need help here.", instance_npcname("Loki#tnmloki02");
  1787. next;
  1788. mes "[Loki]";
  1789. mes "The Lord Knight is no longer human. I have to send him to his eternity for his demonic followings.";
  1790. npctalk "Loki: The Lord Knight is no longer human. I have to send him to his eternity.", instance_npcname("Loki#tnmloki02");
  1791. next;
  1792. mes "[Loki]";
  1793. mes "^4d4dffThe ones who are infernally blessed by demons are invincible. We can sever the blessing with Mind Blaster.^000000";
  1794. npctalk "Loki: The ones who are infernally blessed by demons are invincible. We can sever the blessing with Mind Blaster.", instance_npcname("Loki#tnmloki02");
  1795. next;
  1796. mes "[Loki]";
  1797. mes "You will be in charge of activating Mind Blaster.";
  1798. npctalk "Loki: You will be in charge of activating Mind Blaster.", instance_npcname("Loki#tnmloki02");
  1799. next;
  1800. if (is_party_leader() == true && 'devil_tower == 13) {
  1801. disablenpc instance_npcname("Loki#tnmloki02");
  1802. mes "^4d4dffLoki, Guillotine Cross of the Assassin Guild, has joined your party.";
  1803. mes "We have to get rid of the demonic Lord Knight by Mind Blasting him with Loki's skill.^000000";
  1804. 'devil_tower = 14;
  1805. mercenary_create 2937,1800000;// M_LOKI
  1806. mapannounce 'map_tnm3$, "Demon Worshipper's Voice: Such rubbish! Where did you hide yourself?", bc_map,0xFF00;
  1807. initnpctimer;
  1808. }
  1809. close;
  1810. OnTimer500:
  1811. enablenpc instance_npcname("#boss_skills_timer");
  1812. monster 'map_tnm3$,93,52,"Evil Believer",2942,1, instance_npcname("#boss_skills_timer") + "::OnBossDead";// MM_EVIL_FANATICS
  1813. 'boss_id = $@mobid[0];
  1814. end;
  1815. OnTimer2000:
  1816. mapannounce 'map_tnm3$, "Demon Worshipper's Voice: You will all be sacrificed to awaken the Demon!!!", bc_map,0xFF00;
  1817. end;
  1818. OnTimer12000:
  1819. donpcevent instance_npcname("#boss_skills_timer") + "::OnStart";
  1820. stopnpctimer;
  1821. end;
  1822. }
  1823. 1@tnm3,1,1,0 script #boss_skills_timer HIDDEN_WARP_NPC,{
  1824. end;
  1825. OnStart:
  1826. 'label$ = instance_npcname("#boss_skills_timer") + "::OnMobDead";
  1827. initnpctimer;
  1828. end;
  1829. OnTimer1000:// + form
  1830. getunitdata 'boss_id, .@data;
  1831. 'x_boss = .@data[UMOB_X];
  1832. 'y_boss = .@data[UMOB_Y];
  1833. monster 'map_tnm3$, 'x_boss, 'y_boss, "",2943,1, 'label$;// MM_ICE_MINE
  1834. monster 'map_tnm3$, ('x_boss-5), 'y_boss, "",2943,1, 'label$;
  1835. monster 'map_tnm3$, ('x_boss+5), 'y_boss, "",2943,1, 'label$;
  1836. monster 'map_tnm3$, 'x_boss, ('y_boss-5), "",2943,1, 'label$;
  1837. monster 'map_tnm3$, 'x_boss, ('y_boss+5), "",2943,1, 'label$;
  1838. end;
  1839. OnTimer3000:
  1840. monster 'map_tnm3$, ('x_boss-10), 'y_boss, "",2943,1, 'label$;// MM_ICE_MINE
  1841. monster 'map_tnm3$, ('x_boss+10), 'y_boss, "",2943,1, 'label$;
  1842. monster 'map_tnm3$, 'x_boss, ('y_boss-10), "",2943,1, 'label$;
  1843. monster 'map_tnm3$, 'x_boss, ('y_boss+10), "",2943,1, 'label$;
  1844. end;
  1845. OnTimer6000:
  1846. killmonster 'map_tnm3$, 'label$;
  1847. end;
  1848. OnTimer21000:// X form
  1849. getunitdata 'boss_id, .@data;
  1850. 'x_boss = .@data[UMOB_X];
  1851. 'y_boss = .@data[UMOB_Y];
  1852. monster 'map_tnm3$, ('x_boss+3), ('y_boss+3), "",2960,1, 'label$;// MM_FLAMECROSS
  1853. monster 'map_tnm3$, ('x_boss+3), ('y_boss-3), "",2960,1, 'label$;
  1854. monster 'map_tnm3$, ('x_boss-3), ('y_boss+3), "",2960,1, 'label$;
  1855. monster 'map_tnm3$, ('x_boss-3), ('y_boss-3), "",2960,1, 'label$;
  1856. end;
  1857. OnTimer21350:
  1858. monster 'map_tnm3$, ('x_boss+6), ('y_boss+6), "",2960,1, 'label$;// MM_FLAMECROSS
  1859. monster 'map_tnm3$, ('x_boss+6), ('y_boss-6), "",2960,1, 'label$;
  1860. monster 'map_tnm3$, ('x_boss-6), ('y_boss+6), "",2960,1, 'label$;
  1861. monster 'map_tnm3$, ('x_boss-6), ('y_boss-6), "",2960,1, 'label$;
  1862. end;
  1863. OnTimer21700:
  1864. monster 'map_tnm3$, ('x_boss+9), ('y_boss+9), "",2960,1, 'label$;// MM_FLAMECROSS
  1865. monster 'map_tnm3$, ('x_boss+9), ('y_boss-9), "",2960,1, 'label$;
  1866. monster 'map_tnm3$, ('x_boss-9), ('y_boss+9), "",2960,1, 'label$;
  1867. monster 'map_tnm3$, ('x_boss-9), ('y_boss-9), "",2960,1, 'label$;
  1868. end;
  1869. OnTimer22050:
  1870. monster 'map_tnm3$, ('x_boss+13), ('y_boss+13), "",2960,1, 'label$;// MM_FLAMECROSS
  1871. monster 'map_tnm3$, ('x_boss+13), ('y_boss-13), "",2960,1, 'label$;
  1872. monster 'map_tnm3$, ('x_boss-13), ('y_boss+13), "",2960,1, 'label$;
  1873. monster 'map_tnm3$, ('x_boss-13), ('y_boss-13), "",2960,1, 'label$;
  1874. end;
  1875. OnTimer30000:
  1876. killmonster 'map_tnm3$, 'label$;
  1877. end;
  1878. OnTimer51000:// X form
  1879. getunitdata 'boss_id, .@data;
  1880. 'x_boss = .@data[UMOB_X];
  1881. 'y_boss = .@data[UMOB_Y];
  1882. monster 'map_tnm3$, 'x_boss, 'y_boss, "",2943,1, 'label$;// MM_ICE_MINE
  1883. monster 'map_tnm3$, ('x_boss+5), ('y_boss+5), "",2943,1, 'label$;
  1884. monster 'map_tnm3$, ('x_boss-5), ('y_boss-5), "",2943,1, 'label$;
  1885. monster 'map_tnm3$, ('x_boss+10), ('y_boss+10), "",2943,1, 'label$;
  1886. monster 'map_tnm3$, ('x_boss-10), ('y_boss-10), "",2943,1, 'label$;
  1887. end;
  1888. OnTimer53000:
  1889. monster 'map_tnm3$, ('x_boss-5), ('y_boss+5), "",2943,1, 'label$;// MM_ICE_MINE
  1890. monster 'map_tnm3$, ('x_boss+5), ('y_boss-5), "",2943,1, 'label$;
  1891. monster 'map_tnm3$, ('x_boss-10), ('y_boss+10), "",2943,1, 'label$;
  1892. monster 'map_tnm3$, ('x_boss+10), ('y_boss-10), "",2943,1, 'label$;
  1893. end;
  1894. OnTimer56000:
  1895. killmonster 'map_tnm3$, 'label$;
  1896. end;
  1897. OnTimer81000:// S form
  1898. getunitdata 'boss_id, .@data;
  1899. 'x_boss = .@data[UMOB_X];
  1900. 'y_boss = .@data[UMOB_Y];
  1901. monster 'map_tnm3$, ('x_boss-2), ('y_boss+5), "",2960,1, 'label$;// MM_FLAMECROSS
  1902. end;
  1903. OnTimer81300:
  1904. monster 'map_tnm3$, ('x_boss+4), ('y_boss+8), "",2960,1, 'label$;
  1905. end;
  1906. OnTimer81600:
  1907. monster 'map_tnm3$, ('x_boss+10), ('y_boss+2), "",2960,1, 'label$;
  1908. end;
  1909. OnTimer82000:
  1910. monster 'map_tnm3$, ('x_boss+10), ('y_boss-1), "",2960,1, 'label$;
  1911. end;
  1912. OnTimer82300:
  1913. monster 'map_tnm3$, ('x_boss+7), ('y_boss-7), "",2960,1, 'label$;
  1914. end;
  1915. OnTimer82600:
  1916. monster 'map_tnm3$, ('x_boss+1), ('y_boss-10), "",2960,1, 'label$;
  1917. end;
  1918. OnTimer83000:
  1919. monster 'map_tnm3$, ('x_boss-11), ('y_boss-1), "",2960,1, 'label$;
  1920. end;
  1921. OnTimer83300:
  1922. monster 'map_tnm3$, ('x_boss-11), ('y_boss+5), "",2960,1, 'label$;
  1923. end;
  1924. OnTimer83600:
  1925. monster 'map_tnm3$, ('x_boss-8), ('y_boss+11), "",2960,1, 'label$;
  1926. end;
  1927. OnTimer84000:
  1928. monster 'map_tnm3$, ('x_boss-2), ('y_boss+17), "",2960,1, 'label$;
  1929. end;
  1930. OnTimer84300:
  1931. monster 'map_tnm3$, ('x_boss+7), ('y_boss+20), "",2960,1, 'label$;
  1932. end;
  1933. OnTimer90000:
  1934. killmonster 'map_tnm3$, 'label$;
  1935. initnpctimer;
  1936. end;
  1937. OnMobDead:
  1938. end;
  1939. OnBossDead:
  1940. stopnpctimer;
  1941. killmonster 'map_tnm3$, 'label$;
  1942. 'x_boss = 'y_boss = 'boss_id = 0;
  1943. 'label$ = "";
  1944. mapannounce 'map_tnm3$, "Demon Worshipper's Voice: NO it is impossible. It cannot be.. This force.. power.. you.. may..be you are..", bc_map,0xFF0000;
  1945. sleep2 1000;
  1946. warpparty 'map_tnm3$,71,70, getcharid(1), 'map_tnm3$,1,1;
  1947. enablenpc instance_npcname("Loki#tnmloki03");
  1948. enablenpc instance_npcname("box#tnmbosang");
  1949. disablenpc instance_npcname("#boss_skills_timer");
  1950. 'devil_tower = 15;
  1951. end;
  1952. }
  1953. 1@tnm3,69,70,3 script box#tnmbosang 4_TREASURE_BOX,{
  1954. if ('devil_tower != 15)
  1955. end;
  1956. specialeffect EF_COIN;
  1957. disablenpc instance_npcname("box#tnmbosang");
  1958. makeitem 7293,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)); // Rose Quartz
  1959. makeitem 749,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)); // Frozen Rose
  1960. makeitem 7511,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)); // Rune of Darkness
  1961. if (rand(100) < 75)
  1962. makeitem 616,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)); // Old Card Album
  1963. if (rand(100) < 50)
  1964. makeitem 748,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)); // Witherless_Rose
  1965. setarray .@item_id_list[0],
  1966. 1671, // Devil_Won_Staff
  1967. 13094, // Devil_Pierced_Dagger
  1968. 16027, // Hammer_Of_Evil_Slayer
  1969. 18120, // Bow_Of_Evil_Slayer
  1970. 21010, // Tw_Sword_Of_Evil_Slayer
  1971. 28001; // Katar_Of_Evil_Slayer
  1972. setarray .@bonus_list1[0],
  1973. 4800, // SP50
  1974. 4811, // Fighting_Spirit1
  1975. 4810, // Fighting_Spirit2
  1976. 4809, // Fighting_Spirit3
  1977. 4808, // Fighting_Spirit4
  1978. 4820, // Fighting_Spirit5
  1979. 4821, // Fighting_Spirit6
  1980. 4815, // Spell1
  1981. 4814, // Spell2
  1982. 4813, // Spell3
  1983. 4812, // Spell4
  1984. 4786; // Mdef2
  1985. setarray .@bonus_list2[0],
  1986. 4815, // Spell1
  1987. 4814, // Spell2
  1988. 4813, // Spell3
  1989. 4812, // Spell4
  1990. 4826, // Spell5
  1991. 4811, // Fighting_Spirit1
  1992. 4810, // Fighting_Spirit2
  1993. 4809, // Fighting_Spirit3
  1994. 4808, // Fighting_Spirit4
  1995. 4820, // Fighting_Spirit5
  1996. 4786; // Mdef2
  1997. setarray .@bonus_list3[0],
  1998. 4815, // Spell1
  1999. 4814, // Spell2
  2000. 4813, // Spell3
  2001. 4812, // Spell4
  2002. 4811, // Fighting_Spirit1
  2003. 4810, // Fighting_Spirit2
  2004. 4809, // Fighting_Spirit3
  2005. 4808, // Fighting_Spirit4
  2006. 4820, // Fighting_Spirit5
  2007. 4821, // Fighting_Spirit6
  2008. 4791, // DEF+3
  2009. 4786; // Mdef2
  2010. .@item_id = .@item_id_list[ rand( getarraysize(.@item_id_list) ) ];
  2011. .@refine = rand(1,6);
  2012. .@bonus1 = .@bonus_list1[ rand( getarraysize(.@bonus_list1) ) ];
  2013. .@bonus2 = .@bonus_list1[ rand( getarraysize(.@bonus_list2) ) ];
  2014. .@bonus3 = .@bonus_list1[ rand( getarraysize(.@bonus_list3) ) ];
  2015. makeitem2 .@item_id,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)), 0, .@refine,0, 0,.@bonus1,.@bonus2,.@bonus3;
  2016. end;
  2017. }
  2018. //1@tnm3,69,72,3 script Loki#tnmloki03 4_M_ROKI2,5,5,{
  2019. 1@tnm3,69,72,3 script Loki#tnmloki03 4_M_ROKI2,{
  2020. if ('devil_tower != 15)
  2021. end;
  2022. if (isbegin_quest(7576) == 0) {
  2023. mes "[Loki]";
  2024. mes ".. annoying";
  2025. mes "The demon was destroyed before the resurrection ceremony was completed.";
  2026. mes "Things will be fine for awhile.";
  2027. setquest 7576;// Morocc castle seal
  2028. next;
  2029. mes "I have gained unexpected information during my exploration of the Tower.";
  2030. next;
  2031. mes "[Loki]";
  2032. mes "I will remain apart from my conscience for a bit longer";
  2033. mes "someday I'll let myself feel again, and today will occupy my thoughts..";
  2034. close;
  2035. }
  2036. mes "[Loki]";
  2037. mes "Interesting.. there is a daughter..";
  2038. mes "What should be done about it?";
  2039. mes "I am not sure of what my next move is to be..";
  2040. next;
  2041. mes "[Loki]";
  2042. mes "But no matter, you obviously shouldn't be here, now.";
  2043. mes "Will stay here any longer?";
  2044. mes "I can send you back where and when you belong.";
  2045. next;
  2046. if (select( "Get out of here.", "Take a look around." ) == 2) {
  2047. mes "[Loki]";
  2048. mes "It is unwise to linger where time is distorted.";
  2049. close;
  2050. }
  2051. mes "[Loki]";
  2052. mes "Perhaps, our missions will ally us again in the future..";
  2053. close2;
  2054. warp "dali02",134,112;
  2055. end;
  2056. OnInstanceInit:
  2057. 'heal_count = 0;
  2058. 'devil_tower = 0;
  2059. 'mob_count = 0;
  2060. 'shade = 0;
  2061. 'map_tnm1$ = instance_mapname("1@tnm1");
  2062. 'map_tnm2$ = instance_mapname("1@tnm2");
  2063. 'map_tnm3$ = instance_mapname("1@tnm3");
  2064. // Entrance
  2065. disablenpc instance_npcname("Officer Heim#heim");
  2066. disablenpc instance_npcname("Healer Fama#feima");
  2067. for ( .@i = 1; .@i < 8; .@i++ )
  2068. disablenpc instance_npcname( "Injured Soldier#" + .@i );
  2069. disablenpc instance_npcname("Lucile#tnm01");
  2070. disablenpc instance_npcname("Magic Swordman#tnm01");
  2071. disablenpc instance_npcname("Assassin Huey#tnm01");
  2072. disablenpc instance_npcname("Assassin Louie#tnm01");
  2073. disablenpc instance_npcname("Assassin Dewey#tnm01");
  2074. // Stairs tnm1
  2075. disablenpc instance_npcname("#tnm1stepmob");
  2076. disablenpc instance_npcname("Assassin Louie#tnm02");
  2077. // Stairs 2 tnm1
  2078. disablenpc instance_npcname("Lucile#tnm02");
  2079. disablenpc instance_npcname("Huey#hui02");
  2080. // Morocc - Thanatos Battle
  2081. disablenpc instance_npcname("Magic Swordman#tnm02");
  2082. disablenpc instance_npcname("Demon Morocc#tnm01");
  2083. disablenpc instance_npcname("Lucile#tnm03");
  2084. disablenpc instance_npcname("Lucile#tnm04");
  2085. disablenpc instance_npcname("#devil_flamecross");
  2086. disablenpc instance_npcname("#devil_seal_timer");
  2087. disablenpc instance_npcname("#devil_seal_spawn_global");
  2088. setarray .@direction$[0], "DIR_NORTHWEST", "DIR_SOUTHWEST", "DIR_SOUTHEAST", "DIR_NORTHEAST", "DIR_NORTH";
  2089. for ( .@i = 0; .@i < 5; .@i++ ) {
  2090. disablenpc instance_npcname("devil_seal_spawn#" + .@direction$[.@i]);
  2091. disablenpc instance_npcname("seal_reach_center#" + .@direction$[.@i]);
  2092. }
  2093. disablenpc instance_npcname("#devil_seal_dead");
  2094. 'demon$ = 'thanatos$ = "";
  2095. 'round[DIR_NORTHWEST] = 'round[DIR_SOUTHWEST] = 'round[DIR_SOUTHEAST] = 'round[DIR_NORTHEAST] = 'round[DIR_NORTH] = 0;
  2096. 'seal_id[DIR_NORTHWEST] = 'seal_id[DIR_SOUTHWEST] = 'seal_id[DIR_SOUTHEAST] = 'seal_id[DIR_NORTHEAST] = 'seal_id[DIR_NORTH] = 0;
  2097. 'seal_hp[DIR_NORTHWEST] = 'seal_hp[DIR_SOUTHWEST] = 'seal_hp[DIR_SOUTHEAST] = 'seal_hp[DIR_NORTHEAST] = 'seal_hp[DIR_NORTH] = 0;
  2098. 'seal_dead[DIR_NORTHWEST] = 'seal_dead[DIR_SOUTHWEST] = 'seal_dead[DIR_SOUTHEAST] = 'seal_dead[DIR_NORTHEAST] = 'seal_dead[DIR_NORTH] = 0;
  2099. deletearray 'coord_seal_DIR_NORTHWEST[0],14;
  2100. deletearray 'coord_seal_DIR_SOUTHWEST[0],14;
  2101. deletearray 'coord_seal_DIR_SOUTHEAST[0],14;
  2102. deletearray 'coord_seal_DIR_NORTHEAST[0],14;
  2103. deletearray 'coord_seal_DIR_NORTH[0],14;
  2104. // tnm3 Stairs 1
  2105. disablenpc instance_npcname("#tnm3event01");
  2106. disablenpc instance_npcname("Young Girl#tnm01");
  2107. disablenpc instance_npcname("#tnm3gate01");
  2108. // tnm3 Stairs 2
  2109. disablenpc instance_npcname("#tnm3event02ect");
  2110. disablenpc instance_npcname("Young Girl#tnm02");
  2111. disablenpc instance_npcname("Young Girl#tnm03");
  2112. disablenpc instance_npcname("#tnm3gate02");
  2113. // tnm3 Stairs 3
  2114. disablenpc instance_npcname("Evil Shadow#tnm3mob01");
  2115. disablenpc instance_npcname("Evil Shadow kill#tnm3mob01");
  2116. disablenpc instance_npcname("#tnm3gate03");
  2117. // Demonic Shade (Boss room)
  2118. disablenpc instance_npcname("Demonic Shade#mobmaster");
  2119. disablenpc instance_npcname("#mobmaster_kill");
  2120. // Boss
  2121. disablenpc instance_npcname("Morocc Lord Knight#mocl");
  2122. disablenpc instance_npcname("#morroc_lord_talk");
  2123. disablenpc instance_npcname("Loki#tnmloki01");
  2124. disablenpc instance_npcname("Young Girl#tnm04");
  2125. disablenpc instance_npcname("Loki#tnmloki02");
  2126. disablenpc instance_npcname("#boss_skills_timer");
  2127. 'x_boss = 'y_boss = 'boss_id = 0;
  2128. 'label$ = "";
  2129. // Final
  2130. disablenpc instance_npcname("Loki#tnmloki03");
  2131. disablenpc instance_npcname("box#tnmbosang");
  2132. end;
  2133. }