OldGlastHeim.txt 68 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814
  1. //===== rAthena Script =======================================
  2. //= Old Glast Heim
  3. //===== Description: =========================================
  4. //= Discover the history of events that took place in the
  5. //= Glast Heim castle and how it ended up in ruins.
  6. //===== Changelogs: =================================
  7. //= 1.0 First version. [Euphy, Ziu, Heris]
  8. //= This is a custom version, and may contain bugs.
  9. //= 1.1 Bug fixes; removed redundant OnInstanceInit scripts.
  10. //= 1.2 Add NPC Hugin's Follower [exneval]
  11. //= NPC that give access to Glast Heim Nightmare Mode.
  12. //= 1.3 Add some NPCs placeholder. [exneval]
  13. //= 1.4 Update to its official text. [exneval]
  14. //= Support merchant, enchant, socket features.
  15. //= 1.5 idAthena merge. Removed Hugin's Follower NPCs. [Secretdataz]
  16. //= Changed `set` calls to direct assignments.
  17. //= Cleaned up the script.
  18. //= TODO: Confirm Hugin NPC's code flow.
  19. //= 1.6 Cleaned up the dialogue. [Aleos]
  20. //============================================================
  21. glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
  22. if (BaseLevel < 130) {
  23. mes "[Hugin]";
  24. mes "Why don't you come back after becoming stronger?";
  25. mes "Maybe, level 130.";
  26. close;
  27. }
  28. if (isbegin_quest(12316) == 0) {
  29. mes "[Hugin]";
  30. mes "A long time ago, this castle did not look like this.";
  31. next;
  32. mes "[Hugin]";
  33. mes "Ah, I'm sorry. I'm muttering in front of a stranger.";
  34. next;
  35. mes "[Hugin]";
  36. mes "My name is Hugin. I'm studying the dimensional gap between time and space.";
  37. next;
  38. select("There's something like that here?");
  39. mes "[Hugin]";
  40. mes "Have you ever wondered about the history of Glast Heim?";
  41. next;
  42. mes "[Hugin]";
  43. mes "There was a King named Shumiche who was known as a tyrant in the history of the Rune-Midgarts Kingdom.";
  44. next;
  45. mes "[Hugin]";
  46. mes "Time will reveal the true answers if we look in the right places.";
  47. next;
  48. if (select("I don't care about history","That is interesting. Did you find anything?") == 1) {
  49. mes "[Hugin]";
  50. mes "Really? Hmm, please come back later when you are interested then.";
  51. close;
  52. }
  53. mes "[Hugin]";
  54. mes "Actually, dimensional time travel is possible but I'm too afraid to go there.";
  55. next;
  56. mes "[Hugin]";
  57. mes "It might be possible for you!";
  58. next;
  59. mes "[Hugin]";
  60. mes "Do you want to time travel?";
  61. next;
  62. if (select("No, thanks.","Yes, of course I do!") == 1) {
  63. mes "[Hugin]";
  64. mes "Really? But, jumping gigawatts, this is such a great opportunity.";
  65. close;
  66. }
  67. mes "[Hugin]";
  68. mes "I knew that you would understand what I said. Well, please tell me what you want to do.";
  69. setquest 12316;// Meeting Hugin
  70. completequest 12316;
  71. }
  72. else {
  73. mes "[Hugin]";
  74. mes "Umm? Did you see me at another place? I don't think so. What about this time?";
  75. if (isbegin_quest(12322) == 1)
  76. erasequest 12322;
  77. }
  78. next;
  79. switch( checkquest(12317,PLAYTIME) ) {
  80. case -1:
  81. .@party_id = getcharid(1);
  82. .@p_name$ = getpartyname(.@party_id);
  83. .@md_name$ = "Old Glast Heim";
  84. if (!instance_check_party(.@party_id)) {
  85. mes "[Hugin]";
  86. mes "Why don't you make a party with more than 1 person and talk to me again?";
  87. close;
  88. }
  89. if (is_party_leader() == true)
  90. .@menu$ = "Generate Time Gap";
  91. else {
  92. mes "[Hugin]";
  93. mes "Have we met before? No way. It's my first time seeing you. What do you want?";
  94. }
  95. if (isbegin_quest(12318) == 0)
  96. setquest 12318;// Corrupted Soul Hunt
  97. switch( select( .@menu$, "Enter Old Glast Heim", "Cancel" ) ) {
  98. case 1:
  99. switch( instance_create(.@md_name$) ) {
  100. case -3:
  101. dispbottom "Memorial Dungeon, 'Old Glast Heim' is already in progress.",0xFFFFFF;
  102. close;
  103. case -4:
  104. case -2:
  105. case -1:
  106. mes "Party Name: " + getpartyname( getcharid(1) );
  107. mes "Party Leader: " + strcharinfo(0);
  108. mes "^0000ff" + .@md_name$ + "^000000 - time gap generation failed.";
  109. close;
  110. }
  111. mes "[Hugin]";
  112. mes "After the time gap opens, please tell me again.";
  113. close;
  114. case 2:
  115. switch( instance_enter(.@md_name$) ) {
  116. case IE_OTHER:
  117. mes "[Hugin]";
  118. mes "An unknown error has occurred.";
  119. close;
  120. case IE_NOINSTANCE:
  121. mes "[Hugin]";
  122. mes "The time gap is not yet open.";
  123. close;
  124. case IE_NOMEMBER:
  125. mes "[Hugin]";
  126. mes "Your body is not fit to enter the time gap. You won't be able to get in if you're not in a party.";
  127. close;
  128. case IE_OK:
  129. mapannounce "glast_01", "" + getpartyname( getcharid(1) ) + " party member " + strcharinfo(0) + " enters the " + .@md_name$ + ".", bc_map,0x00FF99;
  130. setquest 12317;// Trace of Time Travel
  131. // warp "1@gl_k",150,20;
  132. end;
  133. }
  134. case 3:
  135. close;
  136. }
  137. case 0:
  138. case 1:
  139. mes "[Hugin]";
  140. mes "Oh, my...";
  141. mes "You still have after-effects of time travel. You can't travel again with this condition.";
  142. next;
  143. mes "[Hugin]";
  144. mes "Staying healthy is important, so please take a break and come back again later.";
  145. close;
  146. case 2:
  147. mes "^0000ffAll traces of access to Old Glast Heim have been removed. Now you can talk with Hugin again.^000000";
  148. if (isbegin_quest(12318) == 0)
  149. setquest 12318;// Corrupted Soul Hunt
  150. erasequest 12317;
  151. close;
  152. }
  153. }
  154. // Warps
  155. 1@gl_k,96,80,0 warp #2Control 2,2,1@gl_k,80,80
  156. 1@gl_k,90,80,0 warp #2Control2 2,2,1@gl_k,105,80
  157. 1@gl_k,202,79,0 warp #3Control 2,2,1@gl_k,215,79
  158. 1@gl_k,206,79,0 warp #3Control2 2,2,1@gl_k,195,79
  159. 1@gl_k,227,216,0 warp #4Control 2,2,1@gl_k,215,216
  160. 1@gl_k,222,216,0 warp #4Control2 2,2,1@gl_k,233,216
  161. 1@gl_k,150,284,0 warp #2F Entrance 2,2,2@gl_k,150,46
  162. 2@gl_k,149,32,0 warp #1 Control 2,2,1@gl_k,150,270
  163. 2@gl_k,145,123,0 warp #22 Control 2,2,2@gl_k,126,123
  164. 2@gl_k,136,122,0 warp #22 Control2 2,2,2@gl_k,150,116
  165. 2@gl_k,154,101,0 warp #23 Control 2,2,2@gl_k,174,101
  166. 2@gl_k,165,101,0 warp #23 Control2 2,2,2@gl_k,150,111
  167. 2@gl_k,150,163,0 warp #24 Control 2,2,2@gl_k,150,179
  168. 2@gl_k,150,167,0 warp #24 Control2 2,2,2@gl_k,150,149
  169. 1@gl_k,69,168,0 warp #Secret Room Exit 2,2,1@gl_k,48,168
  170. // Floor 1
  171. //============================================================
  172. 1@gl_k,149,41,5 script Varmundt#0 4_M_BARMUND,{
  173. if (is_party_leader() == false) {
  174. mes "[Varmundt]";
  175. mes "Where's your leader? I need his help.";
  176. cutin "gl_barmund2",2;
  177. close3;
  178. }
  179. .@account_id = getcharid(3);
  180. .@player_name$ = strcharinfo(0);
  181. mes "[Varmundt]";
  182. mes "Are you the one ^0000ffHerico^000000 sent to help me?";
  183. npctalk "Varmundt: Are you the one Herico sent to help me?";
  184. cutin "gl_barmund1",2;
  185. next;
  186. select("Oh. Well I...");
  187. mes "[" + .@player_name$ + "]";
  188. mes "Ah yes, I am. Herico told me to meet you.";
  189. unittalk .@account_id, .@player_name$ + " : Ah yes, I am. Herico told me to meet you.";
  190. next;
  191. mes "[Varmundt]";
  192. mes "We don't have much time. We must report to Sir Heinrich about Himelmez's invasion.";
  193. npctalk "Varmundt: We don't have much time. We must report to Sir Heinrich about Himelmez's invasion.";
  194. cutin "gl_barmund2",2;
  195. next;
  196. select("Himelmez...");
  197. mes "[" + .@player_name$ + "]";
  198. mes "Who is Himelmez?";
  199. unittalk .@account_id, .@player_name$ + " : Who is Himelmez?";
  200. next;
  201. mes "[Varmundt]";
  202. mes "Herico didn't tell you?";
  203. npctalk "Varmundt: Herico didn't tell you?";
  204. cutin "gl_barmund3",2;
  205. next;
  206. mes "[Varmundt]";
  207. mes "She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the heart of Ymir from us.";
  208. npctalk "Varmundt: She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the heart of Ymir from us.";
  209. cutin "gl_barmund2",2;
  210. next;
  211. mes "[Varmundt]";
  212. mes "She might even destroy this whole castle if she wanted to.";
  213. npctalk "Varmundt: She might even destroy this whole castle if she wanted to.";
  214. next;
  215. mes "[Varmundt]";
  216. mes "Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!";
  217. npctalk "Varmundt: Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!";
  218. close2;
  219. cutin "",255;
  220. disablenpc instance_npcname("Varmundt#0");
  221. enablenpc instance_npcname("Heinrich#1");
  222. enablenpc instance_npcname("Varmundt#1");
  223. end;
  224. }
  225. 1@gl_k,145,104,6 script Khalitzburg Knightage#1 4_F_KHALITZBURG,{
  226. mes "[Khalitzburg Knightage]";
  227. mes "My work shift will be over soon, but the next crew is not coming.";
  228. close;
  229. }
  230. 1@gl_k,154,104,3 script Khalitzburg Knightage#2 4_F_KHALITZBURG,{
  231. mes "[Khalitzburg Knightage]";
  232. mes "Something you want to tell me?";
  233. close;
  234. }
  235. 1@gl_k,145,99,6 script White Knight#3 4_WHITEKNIGHT,{
  236. mes "[White Knight]";
  237. mes "Are you with Varmundt? Commander is waiting for you.";
  238. close;
  239. }
  240. 1@gl_k,154,99,3 duplicate(Khalitzburg Knightage#1) White Knight#4 4_WHITEKNIGHT
  241. 1@gl_k,145,94,6 script Khalitzburg Knightage#5 4_F_KHALITZBURG,{
  242. mes "[Khalitzburg Knightage]";
  243. mes "I had a weird dream last night. My mom was in it... Wonder if she is ok...";
  244. close;
  245. }
  246. 1@gl_k,154,94,3 duplicate(White Knight#3) Khalitzburg Knightage#6 4_F_KHALITZBURG
  247. 1@gl_k,145,89,6 script White Knight#7 4_WHITEKNIGHT,{
  248. mes "[White Knight]";
  249. mes "Please do not make a mess here.";
  250. close;
  251. }
  252. 1@gl_k,154,89,3 duplicate(White Knight#7) White Knight#8 4_WHITEKNIGHT
  253. 1@gl_k,145,84,6 script Khalitzburg Knightage#9 4_F_KHALITZBURG,{
  254. mes "[Khalitzburg Knightage]";
  255. mes "Orders please.";
  256. close;
  257. }
  258. 1@gl_k,154,84,3 duplicate(Khalitzburg Knightage#9) Khalitzburg Knightage#10 4_F_KHALITZBURG
  259. 1@gl_k,145,79,6 script White Knight#11 4_WHITEKNIGHT,{
  260. mes "[White Knight]";
  261. mes "How do you know Varmundt? I heard that he's not really a friendly man...";
  262. close;
  263. }
  264. 1@gl_k,154,79,3 duplicate(White Knight#11) White Knight#12 4_WHITEKNIGHT
  265. 1@gl_k,145,74,6 script Khalitzburg Knightage#13 4_F_KHALITZBURG,{
  266. mes "[Khalitzburg Knightage]";
  267. mes "Doesn't this castle seem weird all of a sudden? Something's not quite right.";
  268. close;
  269. }
  270. 1@gl_k,154,74,3 duplicate(Khalitzburg Knightage#13) Khalitzburg Knightage#14 4_F_KHALITZBURG
  271. 1@gl_k,145,69,6 script White Knight#15 4_WHITEKNIGHT,{
  272. mes "[White Knight]";
  273. mes "I do not like to chat during work.";
  274. close;
  275. }
  276. 1@gl_k,154,69,3 duplicate(White Knight#15) White Knight#16 4_WHITEKNIGHT
  277. 1@gl_k,145,64,6 script Khalitzburg Knightage#17 4_F_KHALITZBURG,{
  278. mes "[Khalitzburg Knightage]";
  279. mes "...";
  280. close;
  281. }
  282. 1@gl_k,154,64,3 duplicate(Khalitzburg Knightage#17) Khalitzburg Knightage#18 4_F_KHALITZBURG
  283. 1@gl_k,145,59,6 script White Knight#19 4_WHITEKNIGHT,{
  284. mes "[White Knight]";
  285. mes "What can I do for you?";
  286. close;
  287. }
  288. 1@gl_k,154,59,3 duplicate(White Knight#19) White Knight#20 4_WHITEKNIGHT
  289. 1@gl_k,145,54,6 script Khalitzburg Knightage#21 4_F_KHALITZBURG,{
  290. mes "[Khalitzburg Knightage]";
  291. mes "Is there something you need?";
  292. close;
  293. }
  294. 1@gl_k,154,54,3 duplicate(Khalitzburg Knightage#21) Khalitzburg Knightage#22 4_F_KHALITZBURG
  295. 1@gl_k,149,100,6 script Heinrich#1 4_M_HEINRICH,{
  296. if (is_party_leader() == false) {
  297. mes "[Heinrich]";
  298. mes "Where is your leader? I must talk to him.";
  299. cutin "gl_heinrich2",2;
  300. close3;
  301. }
  302. .@account_id = getcharid(3);
  303. .@player_name$ = strcharinfo(0);
  304. cutin "gl_heinrich2",2;
  305. select("Sir Heinrich. Varmundt...");
  306. mes "[" + .@player_name$ + "]";
  307. mes "Sir Heinrich. Do you know what is happening in the castle now?";
  308. unittalk .@account_id, .@player_name$ + " : Sir Heinrich. Do you know what is happening in the castle now?";
  309. next;
  310. mes "[Heinrich]";
  311. mes "Aren't you the adventurer that came along with Varmundt?";
  312. npctalk "Heinrich: Aren't you the adventurer that came along with Varmundt?";
  313. next;
  314. mes "[Heinrich]";
  315. mes "What is it? Something wrong with the castle?";
  316. npctalk "Heinrich: What is it? Something wrong with the castle?";
  317. next;
  318. select("Himelmez's invasion...");
  319. mes "[" + .@player_name$ + "]";
  320. mes "Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!";
  321. unittalk .@account_id, .@player_name$ + " : Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!";
  322. next;
  323. mes "[Heinrich]";
  324. mes "Haha. Funny. Do you really think that is possible?";
  325. npctalk "Heinrich: Haha. Funny. Do you really think that is possible?";
  326. cutin "gl_heinrich1",2;
  327. next;
  328. mes "[Varmundt]";
  329. mes "I'm not kidding, Sir Heinrich. If I'm correct, then she will be here very soon.";
  330. npctalk "Varmundt: I'm not kidding, Sir Heinrich. If I'm correct, then she will be here very soon.", instance_npcname("Varmundt#1");
  331. cutin "gl_barmund2",2;
  332. next;
  333. mes "[Varmundt]";
  334. mes "We must hide the heart piece in a safe place before Himelmez's attack starts!";
  335. npctalk "Varmundt: We must hide the heart piece in a safe place before Himelmez's attack starts!", instance_npcname("Varmundt#1");
  336. next;
  337. select("Even if you don't believe me...");
  338. mes "[" + .@player_name$ + "]";
  339. mes "I can't make you believe me, but there's no time to argue!";
  340. unittalk .@account_id, .@player_name$ + " : I can't make you believe me, but there's no time to argue!";
  341. cutin "",255;
  342. next;
  343. mes "[Heinrich]";
  344. mes "Thank you for the help. But we don't even have our king with us right now.";
  345. npctalk "Heinrich: Thank you for the help. But we don't even have our king with us right now.";
  346. cutin "gl_heinrich1",2;
  347. next;
  348. mes "[Heinrich]";
  349. mes "We cannot risk moving the heart just because some stranger says so.";
  350. npctalk "Heinrich: We cannot risk moving the heart just because some stranger says so.";
  351. close2;
  352. disablenpc instance_npcname("Heinrich#1");
  353. enablenpc instance_npcname("Heinrich#2");
  354. enablenpc instance_npcname("Himelmez#1");
  355. donpcevent instance_npcname("#talkinstance1") + "::OnEnable";
  356. cutin "",255;
  357. end;
  358. }
  359. 1@gl_k,152,97,3 script Varmundt#1 4_M_BARMUND,{ end; }
  360. 1@gl_k,149,97,5 duplicate(Varmundt#1) Heinrich#2 4_M_HEINRICH
  361. 1@gl_k,149,100,5 duplicate(Varmundt#1) Heinrich#3 4_M_HEINRICH
  362. 1@gl_k,149,89,1 duplicate(Varmundt#1) Himelmez#1 4_F_HIMEL
  363. // Control Timer
  364. //============================================================
  365. 1@gl_k,1,1,0 script #talkinstance1 HIDDEN_WARP_NPC,{
  366. end;
  367. OnEnable:
  368. mapannounce 'map_name$[0], "????'s: Muahahahaha~!", bc_map,0xFFFF00,FW_NORMAL,18;
  369. initnpctimer;
  370. 'npc_himelmez1$ = instance_npcname("Himelmez#1");
  371. 'npc_varmundt1$ = instance_npcname("Varmundt#1");
  372. 'npc_heinrich2$ = instance_npcname("Heinrich#2");
  373. 'npc_heinrich3$ = instance_npcname("Heinrich#3");
  374. end;
  375. OnTimer1500:
  376. npctalk "Heinrich: Who are you?", 'npc_heinrich2$;
  377. end;
  378. OnTimer4500:
  379. npctalk "Himelmez: Well well~ Am I interrupting you? Weren't you expecting me?", 'npc_himelmez1$;
  380. end;
  381. OnTimer10000:
  382. npctalk "Varmundt: Himelmez!! Already!", 'npc_varmundt1$;
  383. end;
  384. OnTimer17500:
  385. npctalk "Himelmez: My name is Lisa Kahn Himelmez. Master of Dullahan, Dead man's Valkyrie, that's what they call me.", 'npc_himelmez1$;
  386. end;
  387. OnTimer22000:
  388. npctalk "Heinrich: Aren't you a little too feminine to be the Ruler of death? We are not afraid of you...", 'npc_heinrich2$;
  389. end;
  390. OnTimer28500:
  391. npctalk "Himelmez: Let's see if you can relax like that after you find out where your king is.", 'npc_himelmez1$;
  392. end;
  393. OnTimer36000:
  394. npctalk "Heinrich: What?", 'npc_heinrich2$;
  395. end;
  396. OnTimer41000:
  397. npctalk "Himelmez: Hmm, now I have your attention do I not?", 'npc_himelmez1$;
  398. end;
  399. OnTimer47000:
  400. npctalk "Himelmez: You don't want the king's position, just wait for him to come back. I like your purity.", 'npc_himelmez1$;
  401. end;
  402. OnTimer54000:
  403. npctalk "Himelmez: It's a pity to meet you in a situation like this.", 'npc_himelmez1$;
  404. end;
  405. OnTimer59000:
  406. npctalk "Heinrich: My king is visiting the Rune-Midgarts royal family. He's not back yet.", 'npc_heinrich2$;
  407. end;
  408. OnTimer66500:
  409. npctalk "Heinrich: And now you are trying to trick me, what has happened to him?!", 'npc_heinrich2$;
  410. end;
  411. OnTimer71500:
  412. npctalk "Himelmez: Well~ I would love to sit down and explain for you, but I'm kind of busy today~", 'npc_himelmez1$;
  413. end;
  414. OnTimer78000:
  415. npctalk "Himelmez: I have business to take care of. My minions will treat you well enough for me~", 'npc_himelmez1$;
  416. end;
  417. OnTimer84500:
  418. npctalk "Heinrich: She probably already knows where the Ymir's heart piece is.", 'npc_heinrich2$;
  419. disablenpc 'npc_himelmez1$;
  420. end;
  421. OnTimer90500:
  422. npctalk "Heinrich: All Khalitzburg and White Knights should follow me now...", 'npc_heinrich2$;
  423. end;
  424. OnTimer92000:
  425. for (.@i = 1; .@i <= 20; .@i += 4) {
  426. hideonnpc instance_npcname("Khalitzburg Knightage#" + .@i);
  427. hideonnpc instance_npcname("Khalitzburg Knightage#" + (.@i+1));
  428. hideonnpc instance_npcname("White Knight#" + (.@i+2));
  429. hideonnpc instance_npcname("White Knight#" + (.@i+3));
  430. }
  431. hideonnpc instance_npcname("Khalitzburg Knightage#21");
  432. hideonnpc instance_npcname("Khalitzburg Knightage#22");
  433. .@label$ = instance_npcname("#talkinstance1") + "::OnMyMobDead";
  434. monster 'map_name$[0],145,59,"Abysmal Knight",2470,1,.@label$;// MG_KNIGHT_OF_ABYSS
  435. monster 'map_name$[0],154,59,"Abysmal Knight",2470,1,.@label$;
  436. monster 'map_name$[0],145,69,"Abysmal Knight",2470,1,.@label$;
  437. monster 'map_name$[0],154,69,"Abysmal Knight",2470,1,.@label$;
  438. monster 'map_name$[0],145,79,"Abysmal Knight",2470,1,.@label$;
  439. monster 'map_name$[0],154,79,"Abysmal Knight",2470,1,.@label$;
  440. monster 'map_name$[0],145,89,"Abysmal Knight",2470,1,.@label$;
  441. monster 'map_name$[0],154,89,"Abysmal Knight",2470,1,.@label$;
  442. monster 'map_name$[0],145,99,"Abysmal Knight",2470,1,.@label$;
  443. monster 'map_name$[0],154,99,"Abysmal Knight",2470,1,.@label$;
  444. monster 'map_name$[0],145,54,"Khalitzburg",2471,1,.@label$;// G_MG_KHALITZBURG
  445. unittalk $@mobid[0],"Water... Someone give me water...";
  446. monster 'map_name$[0],154,54,"Khalitzburg",2471,1,.@label$;
  447. unittalk $@mobid[0],"Kkkrrrruughgh...";
  448. monster 'map_name$[0],145,64,"Khalitzburg",2471,1,.@label$;
  449. unittalk $@mobid[0],"Sir Heinrich. Save me...";
  450. monster 'map_name$[0],154,64,"Khalitzburg",2471,1,.@label$;
  451. unittalk $@mobid[0],"I miss my sister...";
  452. monster 'map_name$[0],145,74,"Khalitzburg",2471,1,.@label$;
  453. unittalk $@mobid[0],"Don't leave me alone, help me.";
  454. monster 'map_name$[0],154,74,"Khalitzburg",2471,1,.@label$;
  455. unittalk $@mobid[0],"Aaarrrrrhhhh";
  456. monster 'map_name$[0],145,84,"Khalitzburg",2471,1,.@label$;
  457. unittalk $@mobid[0],"I am so thirsty.";
  458. monster 'map_name$[0],154,84,"Khalitzburg",2471,1,.@label$;
  459. unittalk $@mobid[0],"Oh...No...I can't die yet...";
  460. monster 'map_name$[0],145,94,"Khalitzburg",2471,1,.@label$;
  461. unittalk $@mobid[0],"I feel sick to my stomach urrgg";
  462. monster 'map_name$[0],154,94,"Khalitzburg",2471,1,.@label$;
  463. unittalk $@mobid[0],"Can someone...";
  464. monster 'map_name$[0],145,104,"Khalitzburg",2471,1,.@label$;
  465. unittalk $@mobid[0],"Arrgg... My body";
  466. monster 'map_name$[0],154,104,"Khalitzburg",2471,1,.@label$;
  467. unittalk $@mobid[0],"My throat is burning!";
  468. end;
  469. OnTimer94000:
  470. npctalk "Heinrich: My men... This can't be happening!", 'npc_heinrich2$;
  471. end;
  472. OnTimer96500:
  473. npctalk "Varmundt: Sir Heinrich, they're all monsters. You need to give them rest!", 'npc_varmundt1$;
  474. end;
  475. OnTimer100000:
  476. npctalk "Heinrich: I'm so sorry...", 'npc_heinrich2$;
  477. end;
  478. OnTimer103000:
  479. npctalk "Heinrich: I am sorry, my knights! Forgive me!", 'npc_heinrich2$;
  480. end;
  481. OnTimer106000:
  482. mapannounce 'map_name$[0], "Sir Heinrich: Death to all!", bc_map,0xFFFF33,FW_NORMAL,15;
  483. end;
  484. OnTimer109000:
  485. mapannounce 'map_name$[0], "Sir Heinrich: Go back to the darkness!", bc_map,0xFFFF33,FW_NORMAL,15;
  486. end;
  487. OnTimer109500:
  488. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#1");
  489. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#2");
  490. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#1");
  491. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#2");
  492. end;
  493. OnTimer110000:
  494. specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#3");
  495. specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#4");
  496. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#5");
  497. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#6");
  498. specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#3");
  499. specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#4");
  500. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#5");
  501. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#6");
  502. end;
  503. OnTimer110500:
  504. specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#7");
  505. specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#8");
  506. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#9");
  507. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#10");
  508. specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#7");
  509. specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#8");
  510. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#9");
  511. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#10");
  512. end;
  513. OnTimer111000:
  514. specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#11");
  515. specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#12");
  516. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#13");
  517. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#14");
  518. specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#11");
  519. specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#12");
  520. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#13");
  521. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#14");
  522. end;
  523. OnTimer111500:
  524. specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#15");
  525. specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#16");
  526. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#17");
  527. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#18");
  528. specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#15");
  529. specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#16");
  530. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#17");
  531. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#18");
  532. end;
  533. OnTimer112000:
  534. specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#19");
  535. specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#20");
  536. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#21");
  537. specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#22");
  538. specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#19");
  539. specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#20");
  540. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#21");
  541. specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#22");
  542. disablenpc 'npc_heinrich2$;
  543. enablenpc 'npc_heinrich3$;
  544. killmonster 'map_name$[0], instance_npcname("#talkinstance1") + "::OnMyMobDead";
  545. end;
  546. OnTimer112500:
  547. npctalk "Heinrich: I killed my own men...", 'npc_heinrich3$;
  548. end;
  549. OnTimer115500:
  550. npctalk "Varmundt: Sir Heinrich! We don't have much time!", 'npc_varmundt1$;
  551. end;
  552. OnTimer118500:
  553. npctalk "Varmundt: If you hurry now, there's a chance!", 'npc_varmundt1$;
  554. end;
  555. OnTimer121500:
  556. npctalk "Heinrich: Varmundt is right. Now is not the time for mourning.", 'npc_heinrich3$;
  557. end;
  558. OnTimer124500:
  559. npctalk "Heinrich: I have a request to you followers.", 'npc_heinrich3$;
  560. end;
  561. OnTimer127500:
  562. npctalk "Heinrich: Himelmez can turn living beings into monsters.", 'npc_heinrich3$;
  563. end;
  564. OnTimer130500:
  565. npctalk "Heinrich: But, there might still be survivors here.", 'npc_heinrich3$;
  566. end;
  567. OnTimer134500:
  568. npctalk "Heinrich: Destroy the monsters and find any survivors.", 'npc_heinrich3$;
  569. end;
  570. OnTimer138500:
  571. npctalk "Heinrich: Varmundt and I will chase Himelmez.", 'npc_heinrich3$;
  572. end;
  573. OnTimer143500:
  574. npctalk "Heinrich: Very well, Varmundt. Let's find Himelmez.", 'npc_heinrich3$;
  575. end;
  576. OnTimer147500:
  577. disablenpc 'npc_heinrich3$;
  578. end;
  579. OnTimer148500:
  580. stopnpctimer;
  581. donpcevent instance_npcname("#ghmemorialmob01") + "::OnStart";
  582. disablenpc 'npc_varmundt1$;
  583. disablenpc instance_npcname("#talkinstance1");
  584. 'npc_himelmez1$ = 'npc_varmundt1$ = 'npc_heinrich2$ = 'npc_heinrich3$ = "";
  585. end;
  586. OnMyMobDead:
  587. end;
  588. }
  589. // Sector 1 Mobs
  590. //============================================================
  591. 1@gl_k,1,1,0 script #ghmemorialmob01 HIDDEN_WARP_NPC,{
  592. end;
  593. OnStart:
  594. enablenpc instance_npcname("#ghmemorialmob01");
  595. enablenpc instance_npcname("#2Control");
  596. enablenpc instance_npcname("#2Control2");
  597. mapannounce 'map_name$[0], "A portal has opened to the west.", bc_map,0xFFFF00;
  598. // note: x17 MG_GHOUL / x17 MG_ZOMBIE / x17 MG_WRAITH
  599. .@label$ = instance_npcname("#ghmemorialmob01") + "::OnMyMobDead";
  600. areamonster 'map_name$[0],76,99,87,10,"Grand Chamberlain in pain",2466,14,.@label$;
  601. areamonster 'map_name$[0],67,39,12, 6,"Corrupted Monk",2465,17,.@label$;
  602. areamonster 'map_name$[0],67,39,12, 6,"Grand Chamberlain in pain",2466,3,.@label$;
  603. areamonster 'map_name$[0],32,75,51,58,"Corrupted Steward",2464,5,.@label$;
  604. areamonster 'map_name$[0],45,84,6,137,"Corrupted Steward",2464,12,.@label$;
  605. end;
  606. OnMyMobDead:
  607. .@label$ = instance_npcname("#ghmemorialmob01") + "::OnMyMobDead";
  608. .@mob_dead_num = 51 - mobcount('map_name$[0],.@label$);
  609. if (.@mob_dead_num > 35) {
  610. mapannounce 'map_name$[0], "Himelmez's curse is getting weaker. Find any survivors!", bc_map,0xFFFFFF;
  611. killmonster 'map_name$[0], .@label$;
  612. enablenpc instance_npcname("Altar boy Domun#1");
  613. disablenpc instance_npcname("#ghmemorialmob01");
  614. }
  615. end;
  616. }
  617. 1@gl_k,17,51,3 script Altar boy Domun#1 4_M_KID1,{
  618. if (is_party_leader() == false) {
  619. mes "[Altar boy Domun]";
  620. mes "Save me, save me, please...";
  621. close;
  622. }
  623. .@account_id = getcharid(3);
  624. .@player_name$ = strcharinfo(0);
  625. mes "[Altar boy Domun]";
  626. mes "Save me! Save me!!!";
  627. npctalk "Save me! Save me!!!";
  628. next;
  629. select("Hold on! Are you the only survivor?");
  630. mes "[" + .@player_name$ + "]";
  631. mes "Hold on! Are you the only survivor?";
  632. unittalk .@account_id, .@player_name$ + " : Hold on! Are you the only survivor?";
  633. next;
  634. mes "[Altar boy Domun]";
  635. mes "Chamberlains... monks... They all turned into monsters. I couldn't do anything.";
  636. npctalk "Altar boy Domun: Chamberlains... monks... They all turned into monsters. I couldn't do anything.";
  637. next;
  638. mes "[Altar boy Domun]";
  639. mes "All I could do was... Just hide in here... Nothing, nothing I could do...";
  640. npctalk "Altar boy Domun: All I could do was... Just hide in here... Nothing, nothing I could do...";
  641. next;
  642. select("Pull it together!");
  643. mes "[" + .@player_name$ + "]";
  644. mes "Wake up kid! Go east and find the middle passage to the outside! It is safe there!";
  645. unittalk .@account_id, .@player_name$ + " : Wake up kid! Go east and find the middle passage to the outside! It is safe there!";
  646. next;
  647. mes "[Altar boy Domun]";
  648. mes "To the east passage? Alone? How?";
  649. npctalk "Altar boy Domun: To the east passage? Alone? How?";
  650. next;
  651. select("I will give you a weapon.");
  652. mes "[" + .@player_name$ + "]";
  653. mes "Here's a weapon. Just close your eye and swing for those monsters.";
  654. unittalk .@account_id, .@player_name$ + " : Here's a weapon. Just close your eye and swing for those monsters.";
  655. next;
  656. mes "[Altar boy Domun]";
  657. mes "Ok, I... I'll try.";
  658. npctalk "Altar boy Domun: Ok, I... I'll try.";
  659. disablenpc instance_npcname("Altar boy Domun#1");
  660. donpcevent instance_npcname("#ghmemorialmob02") + "::OnStart";
  661. close;
  662. }
  663. // Sector 2 Mobs
  664. //============================================================
  665. 1@gl_k,1,1,0 script #ghmemorialmob02 HIDDEN_WARP_NPC,{
  666. end;
  667. OnStart:
  668. enablenpc instance_npcname("#ghmemorialmob02");
  669. enablenpc instance_npcname("#3Control");
  670. enablenpc instance_npcname("#3Control2");
  671. for ( .@i = 1; .@i <= 26; .@i++ )
  672. enablenpc instance_npcname("A dead man#" + .@i);
  673. mapannounce 'map_name$[0], "A portal has opened to the east.", bc_map,0xFFFF00;
  674. // note: x34 MG_ZOMBIE / x35 MG_GHOUL
  675. .@label$ = instance_npcname("#ghmemorialmob02") + "::OnMyMobDead";
  676. areamonster 'map_name$[0],236,12,288,52,"Outraged Refiner",2466,18,.@label$;// MG_GHOUL
  677. areamonster 'map_name$[0],236,12,288,52,"Decomposed Blacksmith",2464,17,.@label$;// MG_ZOMBIE
  678. areamonster 'map_name$[0],242,71,286,145,"Outraged Refiner",2466,17,.@label$;
  679. areamonster 'map_name$[0],242,71,286,145,"Decomposed Blacksmith",2464,17,.@label$;
  680. end;
  681. OnMyMobDead:
  682. .@label$ = instance_npcname("#ghmemorialmob02") + "::OnMyMobDead";
  683. .@mob_dead_num = 69 - mobcount('map_name$[0],.@label$);
  684. if (.@mob_dead_num > 56) {
  685. mapannounce 'map_name$[0], "Himelmez's curse is getting weaker. Find any survivors!", bc_map,0xFFFFFF;
  686. killmonster 'map_name$[0],.@label$;
  687. enablenpc instance_npcname("Holgren the Destroyer#1");
  688. disablenpc instance_npcname("#ghmemorialmob02");
  689. }
  690. end;
  691. }
  692. 1@gl_k,291,145,3 script Holgren the Destroyer#1 4_F_JOB_BLACKSMITH,{
  693. if (is_party_leader() == false) {
  694. mes "[Holgren the Destroyer]";
  695. mes "You human?";
  696. close;
  697. }
  698. .@account_id = getcharid(3);
  699. .@player_name$ = strcharinfo(0);
  700. mes "[Holgren the Destroyer]";
  701. mes "Die!! You shall die!!!";
  702. npctalk "Holgren the Destroyer: Die!! You shall die!!!";
  703. specialeffect EF_CRASHEARTH;
  704. next;
  705. select("Relax! I'm not a monster!");
  706. mes "[" + .@player_name$ + "]";
  707. mes "Relax! I am Human. Are you alone? Is anyone else here?";
  708. unittalk .@account_id, .@player_name$ + " : Relax! I am Human. Are you alone? Is anyone else here?";
  709. next;
  710. mes "[Holgren the Destroyer]";
  711. mes "It's only me.";
  712. npctalk "Holgren the Destroyer: It's only me.";
  713. next;
  714. select("It's dangerous here...");
  715. mes "[" + .@player_name$ + "]";
  716. mes "It's dangerous here. You know the way to the middle passage? Can you move?";
  717. unittalk .@account_id, .@player_name$ + " : It's dangerous here. You know the way to the middle passage? Can you move?";
  718. next;
  719. mes "[Holgren the Destroyer]";
  720. mes "Yes, I can move. I need to get out of here.";
  721. npctalk "Holgren the Destroyer: Yes, I can move. I need to get out of here.";
  722. next;
  723. select("Be safe...");
  724. mes "[" + .@player_name$ + "]";
  725. mes "Sorry, I can't go with you.";
  726. unittalk .@account_id, .@player_name$ + " : Sorry, I can't go with you.";
  727. next;
  728. mes "[Holgren the Destroyer]";
  729. mes "It's ok. You've already done enough. I can help myself. Good luck to you too.";
  730. npctalk "Holgren the Destroyer: It's ok. You've already done enough. I can help myself. Good luck to you too.";
  731. disablenpc instance_npcname("Holgren the Destroyer#1");
  732. donpcevent instance_npcname("#ghmemorialmob03") + "::OnEnable";
  733. close;
  734. }
  735. // Tramp Mobs
  736. //============================================================
  737. 1@gl_k,221,82,3 script A dead man#1 4_M_DIEMAN,5,5,{
  738. end;
  739. OnTouch_:
  740. .@i = rand(1,10);
  741. if (.@i == 1) .@mobs = 3;
  742. else if (.@i == 2) .@mobs = 4;
  743. else if (.@i == 3) .@mobs = 5;
  744. else if (.@i < 7) .@mobs = 6;
  745. else .@mobs = 7;
  746. getmapxy .@map$,.@x,.@y, BL_NPC;
  747. specialeffect EF_VENOMDUST;
  748. monster .@map$,.@x,.@y,"Maggot",2467,.@mobs;
  749. disablenpc instance_npcname( strnpcinfo(0) );
  750. end;
  751. }
  752. 1@gl_k,233,123,4 duplicate(A dead man#1) A dead man#2 4_M_DIEMAN,5,5
  753. 1@gl_k,258,150,2 duplicate(A dead man#1) A dead man#3 4_M_DIEMAN,5,5
  754. 1@gl_k,255,157,5 duplicate(A dead man#1) A dead man#4 4_M_DIEMAN,5,5
  755. 1@gl_k,280,167,4 duplicate(A dead man#1) A dead man#5 4_M_DIEMAN,5,5
  756. 1@gl_k,293,161,2 duplicate(A dead man#1) A dead man#6 4_M_DIEMAN,5,5
  757. 1@gl_k,249,101,3 duplicate(A dead man#1) A dead man#7 4_M_DIEMAN,5,5
  758. 1@gl_k,241,86,6 duplicate(A dead man#1) A dead man#8 4_M_DIEMAN,5,5
  759. 1@gl_k,246,62,0 duplicate(A dead man#1) A dead man#9 4_M_DIEMAN,5,5
  760. 1@gl_k,240,43,7 duplicate(A dead man#1) A dead man#10 4_M_DIEMAN,5,5
  761. 1@gl_k,271,19,1 duplicate(A dead man#1) A dead man#11 4_M_DIEMAN,5,5
  762. 1@gl_k,282,48,5 duplicate(A dead man#1) A dead man#12 4_M_DIEMAN,5,5
  763. 1@gl_k,285,81,7 duplicate(A dead man#1) A dead man#13 4_M_DIEMAN,5,5
  764. 1@gl_k,276,106,0 duplicate(A dead man#1) A dead man#14 4_M_DIEMAN,5,5
  765. 1@gl_k,261,164,0 duplicate(A dead man#1) A dead man#15 4_M_DIEMAN,5,5
  766. 1@gl_k,269,173,0 duplicate(A dead man#1) A dead man#16 4_M_DIEMAN,5,5
  767. 1@gl_k,252,120,0 duplicate(A dead man#1) A dead man#17 4_M_DIEMAN,5,5
  768. 1@gl_k,213,63,0 duplicate(A dead man#1) A dead man#18 4_M_DIEMAN,5,5
  769. 1@gl_k,222,39,0 duplicate(A dead man#1) A dead man#19 4_M_DIEMAN,5,5
  770. 1@gl_k,214,27,0 duplicate(A dead man#1) A dead man#20 4_M_DIEMAN,5,5
  771. 1@gl_k,223,17,1 duplicate(A dead man#1) A dead man#21 4_M_DIEMAN,5,5
  772. 1@gl_k,230,50,2 duplicate(A dead man#1) A dead man#22 4_M_DIEMAN,5,5
  773. 1@gl_k,235,16,3 duplicate(A dead man#1) A dead man#23 4_M_DIEMAN,5,5
  774. 1@gl_k,226,96,4 duplicate(A dead man#1) A dead man#24 4_M_DIEMAN,5,5
  775. 1@gl_k,222,119,5 duplicate(A dead man#1) A dead man#25 4_M_DIEMAN,5,5
  776. 1@gl_k,251,20,6 duplicate(A dead man#1) A dead man#26 4_M_DIEMAN,5,5
  777. // Sector 3 Mobs
  778. //============================================================
  779. 1@gl_k,1,1,0 script #ghmemorialmob03 HIDDEN_WARP_NPC,{
  780. end;
  781. OnEnable:
  782. enablenpc instance_npcname("#ghmemorialmob03");
  783. enablenpc instance_npcname("#4Control");
  784. enablenpc instance_npcname("#4Control2");
  785. mapannounce 'map_name$[0], "A portal has appeared to the northwest.", bc_map,0xFFFF00;
  786. // note: x50 MG_RAYDRIC / x50 MG_RAYDRIC_ARCHER
  787. .@label$ = instance_npcname("#ghmemorialmob03") + "::OnMyMobDead";
  788. areamonster 'map_name$[0],16,186,43,280,"Outraged Archer",2469,25,.@label$;
  789. areamonster 'map_name$[0],44,191,89,225,"Hungry Palace Guard",2468,25,.@label$;
  790. areamonster 'map_name$[0],115,215,188,273,"Corrupted Palace Guard",2468,20,.@label$;
  791. areamonster 'map_name$[0],108,232,193,281,"Corrupted Palace Guard",2468,5,.@label$;
  792. areamonster 'map_name$[0],158,236,230,250,"Wandering Archer",2469,12,.@label$;
  793. areamonster 'map_name$[0],65,231,155,256,"Wandering Archer",2469,13,.@label$;
  794. end;
  795. OnMyMobDead:
  796. .@label$ = instance_npcname("#ghmemorialmob03") + "::OnMyMobDead";
  797. .@mob_dead_num = 100 - mobcount('map_name$[0],.@label$);
  798. if (.@mob_dead_num > 85) {
  799. killmonster 'map_name$[0],.@label$;
  800. enablenpc instance_npcname("#Mimelon");
  801. enablenpc instance_npcname("Himelmez#2");
  802. enablenpc instance_npcname("Varmundt#2");
  803. enablenpc instance_npcname("Heinrich#4");
  804. disablenpc instance_npcname("#ghmemorialmob03");
  805. mapannounce 'map_name$[0], "Himelmez: Not bad. Thought you would be dead by now by my creatures~", bc_map,0xFFFFFF;
  806. initnpctimer;
  807. }
  808. end;
  809. OnTimer5000:
  810. mapannounce 'map_name$[0], "Himelmez: I'll wait for you at the north of the castle. I want to see how lucky you are.", bc_map,0xFFFFFF;
  811. stopnpctimer;
  812. end;
  813. }
  814. // 1st MVP
  815. //============================================================
  816. 1@gl_k,144,258,6 script Heinrich#4 4_M_HEINRICH,{
  817. mes "[Heinrich]";
  818. mes "Himelmez... I will never forget what you've done to my men.";
  819. cutin "gl_heinrich1",2;
  820. close3;
  821. }
  822. // note: never hidden
  823. 1@gl_k,156,258,3 script Varmundt#2 4_M_BARMUND,{
  824. cutin "gl_barmund1",2;
  825. mes "[Varmundt]";
  826. if (checkquest(12318,HUNTING) != 2) {
  827. mes "I guess this is it. Is it impossible to stop the time traveler's will?!";
  828. mes "A portal seems to have appeared to the north.";
  829. close3;
  830. }
  831. erasequest 12318;
  832. if (isbegin_quest(12319) == 0)
  833. setquest 12319;// Amdarais Hunt
  834. if (isbegin_quest(12320) == 0) {
  835. setquest 12320;// Time Traveler
  836. completequest 12320;
  837. getexp 250000,250000;
  838. }
  839. mes "This item has an extraordinary aura with it. Can be very useful for someone special.";
  840. getitem 6607,1;// Temporal_Crystal
  841. getitem 6608,1;// Coagulated_Spell
  842. close3;
  843. }
  844. 1@gl_k,150,257,3 script Himelmez#2 4_F_HIMEL,{
  845. cutin "gl_himel2",2;
  846. mes "[Himelmez]";
  847. mes "Don't look at me nervous like that. It will be over soon...";
  848. close3;
  849. }
  850. 1@gl_k,150,257,0 script #Mimelon HIDDEN_WARP_NPC,7,7,{
  851. end;
  852. OnTouch_:
  853. disablenpc instance_npcname("#Mimelon");
  854. initnpctimer;
  855. 'npc_himelmez2$ = instance_npcname("Himelmez#2");
  856. 'npc_heinrich4$ = instance_npcname("Heinrich#4");
  857. end;
  858. OnTimer3000:
  859. npctalk "Himelmez: Guess you are either lucky or powerful to make it this far.", 'npc_himelmez2$;
  860. end;
  861. OnTimer6000:
  862. npctalk "Himelmez: But it doesn't matter.", 'npc_himelmez2$;
  863. end;
  864. OnTimer9000:
  865. npctalk "Himelmez: You will all die here.", 'npc_himelmez2$;
  866. end;
  867. OnTimer12000:
  868. npctalk "Heinrich: Himelmez! We will not let you get away from us!", 'npc_heinrich4$;
  869. end;
  870. OnTimer15000:
  871. npctalk "Himelmez: Ha ha ha, worry about yourself. You think I am alone here?", 'npc_himelmez2$;
  872. end;
  873. OnTimer18000:
  874. npctalk "Varmundt: Sir Heinrich! I sense something strange and strong coming!", instance_npcname("Varmundt#2");
  875. end;
  876. OnTimer21000:
  877. npctalk "Heinrich: What... These are!", 'npc_heinrich4$;
  878. end;
  879. OnTimer24000:
  880. npctalk "Himelmez: I will go on my way while my new toy entertains you.", 'npc_himelmez2$;
  881. end;
  882. OnTimer27000:
  883. npctalk "Himelmez: Fare well~, hope to see you again sometime, Heinrich.", 'npc_himelmez2$;
  884. end;
  885. OnTimer28000:
  886. disablenpc 'npc_himelmez2$;
  887. end;
  888. OnTimer31000:
  889. npctalk "Heinrich: Sir Varmundt! Help those adventurers. I will go after Himelmez!", 'npc_heinrich4$;
  890. end;
  891. OnTimer32000:
  892. disablenpc 'npc_heinrich4$;
  893. end;
  894. OnTimer35000:
  895. mapannounce 'map_name$[0], "An echoing comes from deep inside of the knight's shrine.", bc_map,0xFFFFFF;
  896. end;
  897. OnTimer38000:
  898. donpcevent instance_npcname("#ghmemorialmob04") + "::OnStart";
  899. stopnpctimer;
  900. 'npc_himelmez2$ = 'npc_heinrich4$ = "";
  901. end;
  902. }
  903. 1@gl_k,1,1,0 script #ghmemorialmob04 HIDDEN_WARP_NPC,{
  904. end;
  905. OnStart:
  906. enablenpc instance_npcname("#ghmemorialmob04");
  907. monster 'map_name$[0],150,259,"Corrupted Soul",2475,1, instance_npcname("#ghmemorialmob04") + "::OnMyMobDead";// MG_CORRUPTION_ROOT
  908. unittalk $@mobid[0],"Grrrrrrhh~~~";
  909. end;
  910. OnMyMobDead:
  911. if (mobcount('map_name$[0], instance_npcname("#ghmemorialmob04") + "::OnMyMobDead") < 1) {
  912. mapannounce 'map_name$[0], "Opening 2nd floor entrance towards 12 O'clock direction.", bc_map,0xFFFF00;
  913. npctalk "Varmundt: I collected some items dropped from its body. You can take it from me.", instance_npcname("Varmundt#2");
  914. enablenpc instance_npcname("#2F Entrance");
  915. enablenpc instance_npcname("#1 Control");
  916. enablenpc instance_npcname("#22 Control");
  917. enablenpc instance_npcname("#22 Control2");
  918. enablenpc instance_npcname("#Servanton");
  919. enablenpc instance_npcname("Heinrich#21");
  920. enablenpc instance_npcname("Varmundt#21");
  921. donpcevent instance_npcname("#ghmemorialmob05") + "::OnStart";
  922. disablenpc instance_npcname("#ghmemorialmob04");
  923. }
  924. end;
  925. }
  926. // Floor 2
  927. //============================================================
  928. 2@gl_k,148,67,1 script Heinrich#21 4_M_HEINRICH,{
  929. mes "[Heinrich]";
  930. mes "Himelmez's closed space covers everywhere...";
  931. cutin "gl_heinrich1",2;
  932. close3;
  933. }
  934. 2@gl_k,151,71,7 script Varmundt#21 4_M_BARMUND,{
  935. mes "[Varmundt]";
  936. mes "How many times have I done this job? In my dream, I did it over and over again...";
  937. cutin "gl_barmund2",2;
  938. close3;
  939. }
  940. 2@gl_k,150,66,0 script #Servanton_effect HIDDEN_WARP_NPC,{
  941. end;
  942. OnEffect:
  943. specialeffect EF_LORD;
  944. end;
  945. }
  946. // note: this part can be skipped
  947. 2@gl_k,150,66,0 script #Servanton HIDDEN_WARP_NPC,7,7,{
  948. end;
  949. OnTouch_:
  950. disablenpc instance_npcname("#Servanton");
  951. initnpctimer;
  952. 'npc_heinrich$ = instance_npcname("Heinrich#21");
  953. 'npc_varmundt$ = instance_npcname("Varmundt#21");
  954. end;
  955. OnTimer3000:
  956. npctalk "Heinrich: This structure was not in the castle before!", 'npc_heinrich$;
  957. end;
  958. OnTimer6000:
  959. npctalk "Varmundt: This is Himelmez's closed space. We blocked each area and aisle.", 'npc_varmundt$;
  960. end;
  961. OnTimer9000:
  962. npctalk "Heinrich: We tried to break it down but it's really strong.", 'npc_heinrich$;
  963. end;
  964. OnTimer12000:
  965. npctalk "Varmundt: Step back. Let me try to dispel the magic.", 'npc_varmundt$;
  966. end;
  967. OnTimer15000:
  968. specialeffect EF_LORD,AREA, instance_npcname("#Servanton_effect");
  969. disablenpc instance_npcname("#Servanton_effect");
  970. end;
  971. OnTimer18000:
  972. npctalk "Varmundt: I think that part of closed space is broken down.", 'npc_varmundt$;
  973. end;
  974. OnTimer21000:
  975. npctalk "Varmundt: I have never seen this closed space.", 'npc_varmundt$;
  976. end;
  977. OnTimer24000:
  978. npctalk "Varmundt: Himelmez hides stone chains in undead people's body.", 'npc_varmundt$;
  979. end;
  980. OnTimer27000:
  981. npctalk "Varmundt: Maybe this closed space is maintained with these stone chains.", 'npc_varmundt$;
  982. end;
  983. OnTimer30000:
  984. npctalk "Varmundt: If you want to break it, you have to kill one of those who have a stone chain.", 'npc_varmundt$;
  985. end;
  986. OnTimer33000:
  987. npctalk "Varmundt: But we can't recognize who has a stone chain so we have to purify everything.", 'npc_varmundt$;
  988. end;
  989. OnTimer36000:
  990. npctalk "Heinrich: It is inexcusable behavior.", 'npc_heinrich$;
  991. end;
  992. OnTimer39000:
  993. npctalk "Heinrich: I already exterminated all my soldiers and maybe more...", 'npc_heinrich$;
  994. end;
  995. OnTimer42000:
  996. npctalk "Varmundt: Commander...", 'npc_varmundt$;
  997. end;
  998. OnTimer45000:
  999. npctalk "Varmundt: Commander! You need to be strong.", 'npc_varmundt$;
  1000. end;
  1001. OnTimer48000:
  1002. npctalk "Varmundt: Our enemy is not human.", 'npc_varmundt$;
  1003. end;
  1004. OnTimer51000:
  1005. npctalk "Varmundt: Even though you deny it, they'll never turn back to human.", 'npc_varmundt$;
  1006. end;
  1007. OnTimer54000:
  1008. npctalk "Heinrich: ...", 'npc_heinrich$;
  1009. end;
  1010. OnTimer57000:
  1011. npctalk "Varmundt: Well, let's go then.", 'npc_varmundt$;
  1012. end;
  1013. OnTimer60000:
  1014. npctalk "Varmundt: And you guys, just take a break and follow us.", 'npc_varmundt$;
  1015. end;
  1016. OnTimer63000:
  1017. npctalk "Varmundt: It could be hard fighting so stay strong.", 'npc_varmundt$;
  1018. end;
  1019. OnTimer66000:
  1020. npctalk "Varmundt: Ok, it's time to begin Heinrich.", 'npc_varmundt$;
  1021. end;
  1022. OnTimer69000:
  1023. mapannounce 'map_name$[1], "A portal to the west has opened in the central hallway.", bc_map,0xFFFF00;
  1024. disablenpc 'npc_varmundt$;
  1025. disablenpc 'npc_heinrich$;
  1026. stopnpctimer;
  1027. 'npc_varmundt$ = 'npc_heinrich$ = "";
  1028. end;
  1029. }
  1030. // Spots
  1031. // Note: timer is the only condition for them to respawn
  1032. 2@gl_k,118,141,0 script #ogh_2-1 HIDDEN_WARP_NPC,20,20,{
  1033. end;
  1034. OnTouch_:
  1035. disablenpc instance_npcname( strnpcinfo(0) );
  1036. .@hidden_name$ = strnpcinfo(2);
  1037. .@event_type = atoi( charat(.@hidden_name$,4) );
  1038. if (.@event_type == 2)
  1039. .@label$ = instance_npcname("#ghmemorialmob05") + "::OnMyMobDead";
  1040. else
  1041. .@label$ = instance_npcname("#ghmemorialmob06") + "::OnMyMobDead";
  1042. getmapxy .@map$,.@x,.@y, BL_NPC;
  1043. monster .@map$,.@x,.@y, "Corrupted Palace Guard", 2468,1, .@label$;
  1044. monster .@map$,.@x,.@y, "Archer of Death", 2469,1, .@label$;
  1045. monster .@map$,.@x,.@y, "Corrupted Abysmal Knight", 2470,1, .@label$;
  1046. monster .@map$,.@x,.@y, "Suffered Khalitzburg", 2471,1, .@label$;
  1047. monster .@map$,.@x,.@y, "Bloody Knight", 2472,1, .@label$;
  1048. initnpctimer;
  1049. end;
  1050. OnTimer30000:
  1051. enablenpc instance_npcname( strnpcinfo(0) );
  1052. stopnpctimer;
  1053. end;
  1054. OnStop:
  1055. disablenpc instance_npcname( strnpcinfo(0) );
  1056. stopnpctimer;
  1057. end;
  1058. }
  1059. 2@gl_k,128,81,0 duplicate(#ogh_2-1) #ogh_2-2 HIDDEN_WARP_NPC,20,20
  1060. 2@gl_k,131,54,0 duplicate(#ogh_2-1) #ogh_2-3 HIDDEN_WARP_NPC,20,20
  1061. 2@gl_k,89,48,0 duplicate(#ogh_2-1) #ogh_2-4 HIDDEN_WARP_NPC,20,20
  1062. 2@gl_k,64,117,0 duplicate(#ogh_2-1) #ogh_2-5 HIDDEN_WARP_NPC,20,20
  1063. 2@gl_k,62,82,0 duplicate(#ogh_2-1) #ogh_2-6 HIDDEN_WARP_NPC,20,20
  1064. 2@gl_k,38,138,0 duplicate(#ogh_2-1) #ogh_2-7 HIDDEN_WARP_NPC,20,20
  1065. 2@gl_k,171,120,0 duplicate(#ogh_2-1) #ogh_3-1 HIDDEN_WARP_NPC,20,20
  1066. 2@gl_k,232,133,0 duplicate(#ogh_2-1) #ogh_3-2 HIDDEN_WARP_NPC,20,20
  1067. 2@gl_k,256,149,0 duplicate(#ogh_2-1) #ogh_3-3 HIDDEN_WARP_NPC,20,20
  1068. 2@gl_k,212,106,0 duplicate(#ogh_2-1) #ogh_3-4 HIDDEN_WARP_NPC,20,20
  1069. 2@gl_k,243,73,0 duplicate(#ogh_2-1) #ogh_3-5 HIDDEN_WARP_NPC,20,20
  1070. 2@gl_k,229,26,0 duplicate(#ogh_2-1) #ogh_3-6 HIDDEN_WARP_NPC,20,20
  1071. 2@gl_k,181,34,0 duplicate(#ogh_2-1) #ogh_3-7 HIDDEN_WARP_NPC,20,20
  1072. // Commander 1
  1073. 2@gl_k,1,1,0 script #ghmemorialmob05 HIDDEN_WARP_NPC,{
  1074. end;
  1075. OnStart:
  1076. enablenpc instance_npcname("#ghmemorialmob05");
  1077. for ( .@i = 1; .@i <= 7; .@i++ )
  1078. enablenpc instance_npcname("#ogh_2-" + .@i);
  1079. end;
  1080. OnMyMobDead:
  1081. if (rand(50) == 0) {// can re-spawn
  1082. mapannounce 'map_name$[1], "Evil Forces are appearing in this area.", bc_map,0xFFFF44,FW_NORMAL,15;
  1083. killmonster 'map_name$[1], instance_npcname("#ghmemorialmob05") + "::OnBossDead";
  1084. .@r = rand(4) * 2;
  1085. setarray .@coord[0], 41,146, 58,44, 122,148, 131,64;
  1086. monster 'map_name$[1],.@coord[.@r],.@coord[.@r+1], "1st Commander of Destruction",2473,1, instance_npcname("#ghmemorialmob05") + "::OnBossDead";
  1087. }
  1088. end;
  1089. OnBossDead:
  1090. mapannounce 'map_name$[1], "A portal has opened to the east in the central hallway.", bc_map,0xFFFF00;
  1091. enablenpc instance_npcname("#23 Control");
  1092. enablenpc instance_npcname("#23 Control2");
  1093. donpcevent instance_npcname("#ghmemorialmob06") + "::OnStart";
  1094. disablenpc instance_npcname("#ghmemorialmob05");
  1095. for ( .@i = 1; .@i <= 7; .@i++ )
  1096. donpcevent instance_npcname("#ogh_2-" + .@i) + "::OnStop";
  1097. end;
  1098. }
  1099. // Commander 2
  1100. 2@gl_k,1,1,0 script #ghmemorialmob06 HIDDEN_WARP_NPC,{
  1101. end;
  1102. OnStart:
  1103. enablenpc instance_npcname("#ghmemorialmob06");
  1104. for ( .@i = 1; .@i <= 7; .@i++ )
  1105. enablenpc instance_npcname("#ogh_3-" + .@i);
  1106. // Fix spawn
  1107. .@label$ = instance_npcname("#ghmemorialmob06") + "::OnMyMobDead";
  1108. monster 'map_name$[1],252, 75, "Corrupted Palace Guard",2468,1, .@label$;
  1109. monster 'map_name$[1],253, 76, "Corrupted Palace Guard",2468,1, .@label$;
  1110. monster 'map_name$[1],247, 77, "Corrupted Palace Guard",2468,1, .@label$;
  1111. monster 'map_name$[1],248, 80, "Corrupted Palace Guard",2468,1, .@label$;
  1112. monster 'map_name$[1],236,100, "Corrupted Palace Guard",2468,1, .@label$;
  1113. monster 'map_name$[1],240,100, "Corrupted Palace Guard",2468,1, .@label$;
  1114. monster 'map_name$[1],242,100, "Corrupted Palace Guard",2468,1, .@label$;
  1115. monster 'map_name$[1],244,100, "Corrupted Palace Guard",2468,1, .@label$;
  1116. monster 'map_name$[1],199,111, "Corrupted Palace Guard",2468,1, .@label$;
  1117. monster 'map_name$[1],181,107, "Wandering Archer",2469,1, .@label$;
  1118. monster 'map_name$[1],177,110, "Wandering Archer",2469,1, .@label$;
  1119. monster 'map_name$[1],236, 27, "Wandering Archer",2469,1, .@label$;
  1120. monster 'map_name$[1],242, 27, "Wandering Archer",2469,1, .@label$;
  1121. monster 'map_name$[1],252, 26, "Wandering Archer",2469,1, .@label$;
  1122. monster 'map_name$[1],172,130, "Wandering Archer",2469,1, .@label$;
  1123. monster 'map_name$[1],171,127, "Wandering Archer",2469,1, .@label$;
  1124. monster 'map_name$[1],173,127, "Wandering Archer",2469,1, .@label$;
  1125. monster 'map_name$[1],177, 69, "Corrupted Abysmal Knight",2470,1, .@label$;
  1126. monster 'map_name$[1],186, 66, "Corrupted Abysmal Knight",2470,1, .@label$;
  1127. monster 'map_name$[1],189, 67, "Corrupted Abysmal Knight",2470,1, .@label$;
  1128. monster 'map_name$[1],190, 68, "Corrupted Abysmal Knight",2470,1, .@label$;
  1129. monster 'map_name$[1],257,157, "Corrupted Abysmal Knight",2470,1, .@label$;
  1130. monster 'map_name$[1],246,159, "Corrupted Abysmal Knight",2470,1, .@label$;
  1131. monster 'map_name$[1],237,158, "Corrupted Abysmal Knight",2470,1, .@label$;
  1132. monster 'map_name$[1],206,159, "Corrupted Abysmal Knight",2470,1, .@label$;
  1133. monster 'map_name$[1],172,120, "Corrupted Abysmal Knight",2470,1, .@label$;
  1134. monster 'map_name$[1],226, 30, "Suffered Khalitzburg",2471,1, .@label$;
  1135. monster 'map_name$[1],226, 38, "Suffered Khalitzburg",2471,1, .@label$;
  1136. monster 'map_name$[1],228, 29, "Suffered Khalitzburg",2471,1, .@label$;
  1137. monster 'map_name$[1],226, 63, "Suffered Khalitzburg",2471,1, .@label$;
  1138. monster 'map_name$[1],268,137, "Suffered Khalitzburg",2471,1, .@label$;
  1139. monster 'map_name$[1],263,138, "Suffered Khalitzburg",2471,1, .@label$;
  1140. monster 'map_name$[1],259,138, "Suffered Khalitzburg",2471,1, .@label$;
  1141. monster 'map_name$[1],259,138, "Suffered Khalitzburg",2471,1, .@label$;
  1142. monster 'map_name$[1],187,121, "Suffered Khalitzburg",2471,1, .@label$;
  1143. monster 'map_name$[1],265, 52, "Bloody Knight",2472,1, .@label$;
  1144. monster 'map_name$[1],265, 55, "Bloody Knight",2472,1, .@label$;
  1145. monster 'map_name$[1],264, 79, "Bloody Knight",2472,1, .@label$;
  1146. monster 'map_name$[1],225, 92, "Bloody Knight",2472,1, .@label$;
  1147. monster 'map_name$[1],237, 92, "Bloody Knight",2472,1, .@label$;
  1148. monster 'map_name$[1],249, 92, "Bloody Knight",2472,1, .@label$;
  1149. monster 'map_name$[1],256, 93, "Bloody Knight",2472,1, .@label$;
  1150. monster 'map_name$[1],264,100, "Bloody Knight",2472,1, .@label$;
  1151. monster 'map_name$[1],181,120, "Bloody Knight",2472,1, .@label$;
  1152. end;
  1153. OnMyMobDead:
  1154. if (rand(50) == 0) {// can re-spawn
  1155. mapannounce 'map_name$[1], "An evil presence has teleported into this area.", bc_map,0xFFFF44,FW_NORMAL,15;
  1156. killmonster 'map_name$[1], instance_npcname("#ghmemorialmob06") + "::OnBossDead";
  1157. .@r = rand(4) * 2;
  1158. setarray .@coord[0], 166,119, 211,45, 227,139, 245,74;
  1159. monster 'map_name$[1],.@coord[.@r],.@coord[.@r+1], "2nd Commander of Destruction",2474,1, instance_npcname("#ghmemorialmob06") + "::OnBossDead";
  1160. }
  1161. end;
  1162. OnBossDead:
  1163. mapannounce 'map_name$[1], "A new portal has appeared at the end of the central corridor.", bc_map,0xFFFF00;
  1164. enablenpc instance_npcname("#24 Control");
  1165. enablenpc instance_npcname("#24 Control2");
  1166. enablenpc instance_npcname("#Geron");
  1167. for ( .@i = 1; .@i <= 35; .@i++ )
  1168. enablenpc instance_npcname("Decomposed body#" + .@i);
  1169. disablenpc instance_npcname("#ghmemorialmob06");
  1170. for ( .@i = 1; .@i <= 7; .@i++ )
  1171. donpcevent instance_npcname("#ogh_3-" + .@i) + "::OnStop";
  1172. // Hidden mobs
  1173. setarray .@coord[0],
  1174. 37,265, 57,265, 77,265, 97,265, 117,265, 188,264, 208,264,
  1175. 50,172, 70,172, 90,172, 110,172, 170,172, 210,172, 230,172,
  1176. 88,214, 108,214, 128,214, 180,219, 200,219, 220,219, 240,219;
  1177. .@size = getarraysize(.@coord);
  1178. for ( .@i = 0; .@i < .@size; .@i += 2 )
  1179. monster 'map_name$[1], .@coord[.@i], .@coord[.@i+1], "Flame of destruction",2337,1;// HIDDEN_MOB
  1180. end;
  1181. }
  1182. // Amdarais Room Entrance
  1183. 2@gl_k,150,180,0 script #Geron HIDDEN_WARP_NPC,7,7,{
  1184. end;
  1185. OnTouch_:
  1186. disablenpc instance_npcname("#Geron");
  1187. mapannounce 'map_name$[1], "???: Do not come here! It's a trap... Kkkkah!!!", bc_map,0xFF7777,FW_NORMAL,15;
  1188. enablenpc instance_npcname("Himelmez#22");
  1189. enablenpc instance_npcname("Varmundt#23");
  1190. enablenpc instance_npcname("Heinrich#23");
  1191. enablenpc instance_npcname("Gerhalt#23");
  1192. end;
  1193. }
  1194. 2@gl_k,143,260,4 script Decomposed body#1 4_M_DIEMAN,5,5,{
  1195. end;
  1196. OnTouch_:
  1197. disablenpc instance_npcname( strnpcinfo(0) );
  1198. .@i = rand(1,10);
  1199. if (.@i == 1) .@mobs = 3;
  1200. else if (.@i == 2) .@mobs = 4;
  1201. else if (.@i == 3) .@mobs = 5;
  1202. else if (.@i < 7) .@mobs = 6;
  1203. else .@mobs = 7;
  1204. getmapxy .@map$,.@x,.@y, BL_NPC;
  1205. specialeffect EF_VENOMDUST;
  1206. monster .@map$,.@x,.@y,"Maggot",2467,.@mobs;
  1207. initnpctimer;
  1208. end;
  1209. OnTimer45000:
  1210. enablenpc instance_npcname( strnpcinfo(0) );
  1211. stopnpctimer;
  1212. end;
  1213. }
  1214. 2@gl_k,145,236,4 duplicate(Decomposed body#1) Decomposed body#2 4_M_DIEMAN,5,5
  1215. 2@gl_k,141,222,2 duplicate(Decomposed body#1) Decomposed body#3 4_M_DIEMAN,5,5
  1216. 2@gl_k,147,203,5 duplicate(Decomposed body#1) Decomposed body#4 4_M_DIEMAN,5,5
  1217. 2@gl_k,167,225,4 duplicate(Decomposed body#1) Decomposed body#5 4_M_DIEMAN,5,5
  1218. 2@gl_k,172,233,2 duplicate(Decomposed body#1) Decomposed body#6 4_M_DIEMAN,5,5
  1219. 2@gl_k,176,244,3 duplicate(Decomposed body#1) Decomposed body#7 4_M_DIEMAN,5,5
  1220. 2@gl_k,184,248,6 duplicate(Decomposed body#1) Decomposed body#8 4_M_DIEMAN,5,5
  1221. 2@gl_k,193,228,0 duplicate(Decomposed body#1) Decomposed body#9 4_M_DIEMAN,5,5
  1222. 2@gl_k,206,250,7 duplicate(Decomposed body#1) Decomposed body#10 4_M_DIEMAN,5,5
  1223. 2@gl_k,130,249,1 duplicate(Decomposed body#1) Decomposed body#11 4_M_DIEMAN,5,5
  1224. 2@gl_k,122,236,5 duplicate(Decomposed body#1) Decomposed body#12 4_M_DIEMAN,5,5
  1225. 2@gl_k,130,228,7 duplicate(Decomposed body#1) Decomposed body#13 4_M_DIEMAN,5,5
  1226. 2@gl_k,106,226,0 duplicate(Decomposed body#1) Decomposed body#14 4_M_DIEMAN,5,5
  1227. 2@gl_k,104,245,0 duplicate(Decomposed body#1) Decomposed body#15 4_M_DIEMAN,5,5
  1228. 2@gl_k,131,187,0 duplicate(Decomposed body#1) Decomposed body#16 4_M_DIEMAN,5,5
  1229. 2@gl_k,121,197,0 duplicate(Decomposed body#1) Decomposed body#17 4_M_DIEMAN,5,5
  1230. 2@gl_k,107,194,0 duplicate(Decomposed body#1) Decomposed body#18 4_M_DIEMAN,5,5
  1231. 2@gl_k,92,187,0 duplicate(Decomposed body#1) Decomposed body#19 4_M_DIEMAN,5,5
  1232. 2@gl_k,153,214,3 duplicate(Decomposed body#1) Decomposed body#20 4_M_DIEMAN,5,5
  1233. 2@gl_k,155,195,4 duplicate(Decomposed body#1) Decomposed body#21 4_M_DIEMAN,5,5
  1234. 2@gl_k,154,188,2 duplicate(Decomposed body#1) Decomposed body#22 4_M_DIEMAN,5,5
  1235. 2@gl_k,143,195,5 duplicate(Decomposed body#1) Decomposed body#23 4_M_DIEMAN,5,5
  1236. 2@gl_k,132,214,4 duplicate(Decomposed body#1) Decomposed body#24 4_M_DIEMAN,5,5
  1237. 2@gl_k,125,208,2 duplicate(Decomposed body#1) Decomposed body#25 4_M_DIEMAN,5,5
  1238. 2@gl_k,114,210,3 duplicate(Decomposed body#1) Decomposed body#26 4_M_DIEMAN,5,5
  1239. 2@gl_k,137,182,6 duplicate(Decomposed body#1) Decomposed body#27 4_M_DIEMAN,5,5
  1240. 2@gl_k,138,246,0 duplicate(Decomposed body#1) Decomposed body#28 4_M_DIEMAN,5,5
  1241. 2@gl_k,132,260,7 duplicate(Decomposed body#1) Decomposed body#29 4_M_DIEMAN,5,5
  1242. 2@gl_k,128,251,1 duplicate(Decomposed body#1) Decomposed body#30 4_M_DIEMAN,5,5
  1243. 2@gl_k,179,260,3 duplicate(Decomposed body#1) Decomposed body#31 4_M_DIEMAN,5,5
  1244. 2@gl_k,170,261,4 duplicate(Decomposed body#1) Decomposed body#32 4_M_DIEMAN,5,5
  1245. 2@gl_k,177,219,2 duplicate(Decomposed body#1) Decomposed body#33 4_M_DIEMAN,5,5
  1246. 2@gl_k,190,214,5 duplicate(Decomposed body#1) Decomposed body#34 4_M_DIEMAN,5,5
  1247. 2@gl_k,201,214,4 duplicate(Decomposed body#1) Decomposed body#35 4_M_DIEMAN,5,5
  1248. // Amdarais Spawn
  1249. 2@gl_k,153,250,8 script Heinrich#23 4_M_HEINRICH,{
  1250. cutin "gl_heinrich1",2;
  1251. mes "[Heinrich]";
  1252. mes "What are you putting on Himelmez!";
  1253. close3;
  1254. }
  1255. 2@gl_k,162,250,1 script Varmundt#23 4_M_BARMUND,{
  1256. mes "[Varmundt]";
  1257. mes "Can't take off this bridle...";
  1258. cutin "gl_barmund2",2;
  1259. close3;
  1260. }
  1261. 2@gl_k,158,255,1 script Gerhalt#23 4_LEVITATEMAN,{
  1262. mes "[Gerhalt]";
  1263. mes "Uuuuu... Khhhah! Just run away with the commander.";
  1264. close;
  1265. }
  1266. 2@gl_k,158,252,1 script Himelmez#22 4_F_HIMEL,3,3,{
  1267. cutin "gl_himel2",2;
  1268. mes "[Himelmez]";
  1269. mes "That is amazing ~ you made it all the way here. May I say thank you?";
  1270. close3;
  1271. OnTouch:
  1272. end;
  1273. OnTouch_:
  1274. disablenpc instance_npcname("Himelmez#22");
  1275. enablenpc instance_npcname("Himelmez#23");
  1276. initnpctimer;
  1277. 'npc_himelmez$ = instance_npcname("Himelmez#23");
  1278. 'npc_gerhalt$ = instance_npcname("Gerhalt#23");
  1279. 'npc_heinrich$ = instance_npcname("Heinrich#23");
  1280. 'npc_varmundt$ = instance_npcname("Varmundt#23");
  1281. end;
  1282. OnTimer3000:
  1283. npctalk "Himelmez: Amazing~ I thought that you were not even close to getting here...", 'npc_himelmez$;
  1284. end;
  1285. OnTimer6000:
  1286. npctalk "Gerhalt: Kkkkah! Run away! I can't endure anymore!", 'npc_gerhalt$;
  1287. end;
  1288. OnTimer9000:
  1289. npctalk "Heinrich: Gerhalt!", 'npc_heinrich$;
  1290. end;
  1291. OnTimer15000:
  1292. npctalk "Heinrich: What are you doing to my soldier Himelmez!", 'npc_heinrich$;
  1293. end;
  1294. OnTimer18000:
  1295. npctalk "Himelmez: Hoo hoo, I already found a piece of Ymir's heart, Heinrich.", 'npc_himelmez$;
  1296. end;
  1297. OnTimer21000:
  1298. npctalk "Himelmez: If he did not bother me it would have been faster.", 'npc_himelmez$;
  1299. end;
  1300. OnTimer24000:
  1301. npctalk "Gerhalt: Commandant... Come on, you need to run away from here... Ugh.", 'npc_gerhalt$;
  1302. end;
  1303. OnTimer27000:
  1304. npctalk "Himelmez: Really? What makes you think so?", 'npc_himelmez$;
  1305. end;
  1306. OnTimer30000:
  1307. npctalk "Heinrich: Himelmez! You already made what you wanted so there is no more need for a sacrifice!", 'npc_heinrich$;
  1308. end;
  1309. OnTimer33000:
  1310. npctalk "Heinrich: Let him go! I don't need to see anyone else suffer!", 'npc_heinrich$;
  1311. end;
  1312. OnTimer36000:
  1313. npctalk "Himelmez: Let him go? I think... No...", 'npc_himelmez$;
  1314. end;
  1315. OnTimer39000:
  1316. npctalk "Himelmez: Besides, this is your last surviving soldier, Heinrich.", 'npc_himelmez$;
  1317. end;
  1318. OnTimer42000:
  1319. npctalk "Himelmez: He made life difficult for me.", 'npc_himelmez$;
  1320. end;
  1321. OnTimer45000:
  1322. npctalk "Himelmez: He is perfectly fit for my new creation Amdarais.", 'npc_himelmez$;
  1323. end;
  1324. OnTimer48000:
  1325. npctalk "Heinrich: I'll never forgive you.", 'npc_heinrich$;
  1326. end;
  1327. OnTimer51000:
  1328. npctalk "Himelmez: Uh uh~ I'm so scared.", 'npc_himelmez$;
  1329. end;
  1330. OnTimer54000:
  1331. npctalk "Himelmez: Anyway, we will have a chance to see because we need to talk more.", 'npc_himelmez$;
  1332. end;
  1333. OnTimer57000:
  1334. npctalk "Himelmez: So long boys.", 'npc_himelmez$;
  1335. end;
  1336. OnTimer60000:
  1337. specialeffect EF_BARRIER, AREA, 'npc_gerhalt$;
  1338. end;
  1339. OnTimer63000:
  1340. disablenpc 'npc_himelmez$;
  1341. end;
  1342. OnTimer65000:
  1343. npctalk "Gerhalt: You can make my body but you can't take my soul, Himelmez!", 'npc_gerhalt$;
  1344. end;
  1345. OnTimer66000:
  1346. specialeffect EF_CHAINCOMBO, AREA, 'npc_gerhalt$;
  1347. end;
  1348. OnTimer67000:
  1349. npctalk "Heinrich: I'll never let you get away Himelmez!!", 'npc_heinrich$;
  1350. specialeffect EF_MAPPILLAR, AREA, 'npc_gerhalt$;
  1351. end;
  1352. OnTimer70000:
  1353. specialeffect EF_MAPPILLAR2, AREA, 'npc_gerhalt$;
  1354. specialeffect EF_MAPPILLAR, AREA, 'npc_gerhalt$;
  1355. disablenpc 'npc_heinrich$;
  1356. npctalk "Varmundt: We have no choice. We have to fight against Amdarais!", 'npc_varmundt$;
  1357. end;
  1358. OnTimer73000:
  1359. mapannounce 'map_name$[1], "Gerhalt's body is changing.", bc_map,0xFFFFFF;
  1360. end;
  1361. OnTimer76000:
  1362. specialeffect EF_LORD, AREA, 'npc_gerhalt$;
  1363. disablenpc 'npc_varmundt$;
  1364. mapannounce 'map_name$[1], "Varmundt: Let me help this battle with my illusion. Just follow the illusion's orders.", bc_map,0xFFFF00;
  1365. end;
  1366. OnTimer80000:
  1367. disablenpc 'npc_gerhalt$;
  1368. donpcevent instance_npcname("#ghmemorialmob07") + "::OnStart";
  1369. stopnpctimer;
  1370. 'npc_himelmez$ = 'npc_gerhalt$ = 'npc_heinrich$ = 'npc_varmundt$ = "";
  1371. end;
  1372. }
  1373. 2@gl_k,158,252,4 script Himelmez#23 4_F_HIMEL,{
  1374. cutin "gl_himel2",2;
  1375. mes "[Himelmez]";
  1376. mes "That is amazing ~ you made it all the way here. May I say thank you?";
  1377. close3;
  1378. }
  1379. 2@gl_k,1,1,0 script #ghmemorialmob07 HIDDEN_WARP_NPC,{
  1380. end;
  1381. OnStart:
  1382. enablenpc instance_npcname("#ghmemorialmob07");
  1383. monster 'map_name$[1],158,255,"Amdarais",2476,1,instance_npcname("#ghmemorialmob07") + "::OnMyMobDead";// MG_AMDARAIS
  1384. 'boss_id = $@mobid[0];
  1385. unittalk 'boss_id, "Run away... run away from me...";
  1386. initnpctimer;
  1387. end;
  1388. OnTimer5000:
  1389. unittalk 'boss_id, "I don't want... I don't want to kill anyone. Uhuuuuuh";
  1390. end;
  1391. OnTimer10000:
  1392. unittalk 'boss_id, "Please kill me! Please!";
  1393. end;
  1394. OnTimer16000:
  1395. unittalk 'boss_id, "Eeeeee...eee...die... die...";
  1396. end;
  1397. OnTimer22000:
  1398. unittalk 'boss_id, "Demolition... Death!...";
  1399. end;
  1400. OnTimer55000:
  1401. donpcevent instance_npcname("#ghmemorialmob08") + "::OnStart";// Varmundt buffs and additionnal monsters
  1402. stopnpctimer;
  1403. end;
  1404. OnMyMobDead:
  1405. if (mobcount('map_name$[1], instance_npcname("#ghmemorialmob07") + "::OnMyMobDead") < 1) {
  1406. stopnpctimer;
  1407. enablenpc instance_npcname("Hugin#21");
  1408. enablenpc instance_npcname("#Secret Room Exit");
  1409. stopnpctimer;
  1410. disablenpc instance_npcname("#ghmemorialmob07");
  1411. // note: monsters from #ghmemorialmob08 still alive on Amdarais's dead
  1412. }
  1413. end;
  1414. }
  1415. // Varmundt Buffs
  1416. 2@gl_k,1,1,0 script #ghmemorialmob08 HIDDEN_WARP_NPC,{
  1417. end;
  1418. OnStart:
  1419. enablenpc instance_npcname("#ghmemorialmob08");
  1420. initnpctimer;
  1421. end;
  1422. OnTimer5000:
  1423. if (unitexists('boss_id) == 0) {
  1424. disablenpc instance_npcname("#ghmemorialmob08");
  1425. stopnpctimer;
  1426. end;
  1427. }
  1428. getunitdata 'boss_id, .@data;
  1429. .@percent_hp = (.@data[UMOB_HP] * 100) / .@data[UMOB_MAXHP];
  1430. mapannounce 'map_name$[1], "Amdarais HP " + .@percent_hp + "% reach!", bc_map,0x70DBDB;
  1431. // event type every 10%
  1432. switch( .@percent_hp / 10 ) {
  1433. case 10:
  1434. break;
  1435. case 9:
  1436. donpcevent instance_npcname("Varmundt's Ghost#Buff2") + "::OnEvent";
  1437. break;
  1438. case 8:
  1439. donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
  1440. areamonster 'map_name$[1],140,220,175,255,"Suffered Khalitzburg",2471,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
  1441. break;
  1442. case 7:
  1443. donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
  1444. areamonster 'map_name$[1],140,220,175,255,"Abysmal Knight",2470,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
  1445. break;
  1446. case 6:
  1447. donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
  1448. areamonster 'map_name$[1],140,220,175,255,"Bloody Knight",2472,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
  1449. break;
  1450. case 5:
  1451. donpcevent instance_npcname("Varmundt's Ghost#Buff2") + "::OnEvent";
  1452. break;
  1453. case 4:
  1454. donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
  1455. areamonster 'map_name$[1],140,220,175,255,"Wandering Archer",2469,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
  1456. break;
  1457. case 3:
  1458. donpcevent instance_npcname("Varmundt's Ghost#Buff1") + "::OnEvent";
  1459. donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
  1460. areamonster 'map_name$[1],140,220,175,255,"Bloody Knight",2472,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
  1461. break;
  1462. case 2:
  1463. donpcevent instance_npcname("Varmundt's Ghost#Buff1") + "::OnEvent";
  1464. donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
  1465. areamonster 'map_name$[1],140,220,175,255,"Abysmal Knight",2470,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
  1466. break;
  1467. case 1:
  1468. case 0:
  1469. donpcevent instance_npcname("Varmundt's Ghost#Buff1") + "::OnEvent";
  1470. donpcevent instance_npcname("Varmundt's Ghost#Buff4") + "::OnEvent";
  1471. areamonster 'map_name$[1],140,220,175,255,"Wandering Archer",2469,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
  1472. break;
  1473. }
  1474. end;
  1475. OnTimer30000:
  1476. killmonster 'map_name$[1], instance_npcname("#ghmemorialmob08") + "::OnMobDead";
  1477. initnpctimer;
  1478. end;
  1479. OnMobDead:
  1480. end;
  1481. }
  1482. 2@gl_k,150,247,5 script Varmundt's Ghost#Buff1 4_M_BARMUND,2,2,{
  1483. end;
  1484. OnTouch:
  1485. specialeffect2 EF_ENHANCE;
  1486. .@num = atoi( replacestr(strnpcinfo(2), "Buff", "") );
  1487. if (.@num == 1)
  1488. sc_start SC_GLASTHEIM_HIDDEN,30000,1,10000,SCSTART_NOTICKDEF;
  1489. else if (.@num == 2)
  1490. sc_start SC_GLASTHEIM_STATE,30000,1,10000,SCSTART_NOTICKDEF;
  1491. else if (.@num == 3) {
  1492. sc_start SC_GLASTHEIM_HEAL,30000,1,10000,SCSTART_NOTICKDEF;
  1493. sc_start SC_GLASTHEIM_HPSP,30000,1,10000,SCSTART_NOTICKDEF;
  1494. }
  1495. else {
  1496. sc_start SC_GLASTHEIM_DEF,30000,1,10000,SCSTART_NOTICKDEF;
  1497. sc_start SC_GLASTHEIM_ITEMDEF,30000,1,10000,SCSTART_NOTICKDEF;
  1498. }
  1499. end;
  1500. OnEvent:
  1501. initnpctimer;
  1502. enablenpc instance_npcname( strnpcinfo(0) );
  1503. .@num = atoi( replacestr(strnpcinfo(2), "Buff", "") );
  1504. if (.@num == 1)
  1505. npctalk "Varmundt's Ghost: Amdarais may use a strong magic shield! Stay close to me and I'll protect you!";
  1506. else if (.@num == 2)
  1507. npctalk "Varmundt's Ghost: Now's a chance to attack! Come closer to me and strike!";
  1508. else if (.@num == 3)
  1509. npctalk "Varmundt's Ghost: If you don't want to be attacked by Amdarais' zombie, come to me and get more power!";
  1510. else
  1511. npctalk "Varmundt's Ghost: If you don't want to be attacked by Amdarais's power, come to me and get more power!";
  1512. end;
  1513. OnTimer10000:
  1514. stopnpctimer;
  1515. disablenpc instance_npcname( strnpcinfo(0) );
  1516. end;
  1517. }
  1518. 2@gl_k,165,247,3 duplicate(Varmundt's Ghost#Buff1) Varmundt's Ghost#Buff2 4_M_BARMUND,2,2
  1519. 2@gl_k,150,232,8 duplicate(Varmundt's Ghost#Buff1) Varmundt's Ghost#Buff3 4_M_BARMUND,2,2
  1520. 2@gl_k,165,232,2 duplicate(Varmundt's Ghost#Buff1) Varmundt's Ghost#Buff4 4_M_BARMUND,2,2
  1521. 2@gl_k,158,241,1 script Hugin#21 4_M_SAGE_C,{
  1522. if (checkquest(12319,HUNTING) == 2) {// note: complete hunting 'Corrupted Soul Hunt' prerequis
  1523. mes "[Hugin]";
  1524. mes "Hm, you are very well. First of all, let me give you some loot from Amdarais.";
  1525. erasequest 12319;
  1526. setquest 12322;// Space Distortion
  1527. if (isbegin_quest(12321) == 0) {
  1528. setquest 12321;// Time Conqueror
  1529. completequest 12321;
  1530. getitem 6607,5;// Temporal_Crystal
  1531. getitem 6608,5;// Coagulated_Spell
  1532. getexp 350000,350000;
  1533. }
  1534. else {
  1535. getitem 6607,1;// Temporal_Crystal
  1536. getitem 6608,1;// Coagulated_Spell
  1537. }
  1538. next;
  1539. mes "[Hugin]";
  1540. mes "Varmundt's time is stopped by me.";
  1541. mes "And your time will be distorted soon.";
  1542. specialeffect2 EF_BLIND;
  1543. soundeffect "_blind.wav",0;
  1544. next;
  1545. mes "[Hugin]";
  1546. mes "Maybe this poor time traveler will try to stop Glast Heim's tragedy from happening.";
  1547. next;
  1548. mes "[Hugin]";
  1549. mes "However, we will never overlook his behavior now and forever...";
  1550. next;
  1551. mes "[Hugin]";
  1552. mes "Now let me remove your memory. If you see me again it will be someone new.";
  1553. specialeffect2 EF_FREEZE;
  1554. close2;
  1555. warp 'map_name$[1],158,244;
  1556. end;
  1557. }
  1558. mes "[Hugin]";
  1559. mes "Oops. I almost distorted the time gap. Come over here. We need to go out!";
  1560. next;
  1561. select("You were just with me...");
  1562. mes "[Hugin]";
  1563. mes "What did you say just before?";
  1564. mes "Anyway, that is not important. The gap of time will be closed so we need to get out of here.";
  1565. next;
  1566. if (select("Let me look around more:Please let me out") == 1) {
  1567. mes "[Hugin]";
  1568. mes "Really? This place will be break down soon. Please look around quickly.";
  1569. close;
  1570. }
  1571. close2;
  1572. warp "glast_01",204,270;
  1573. end;
  1574. }
  1575. // Treasure Room
  1576. //============================================================
  1577. 1@gl_k,165,136,3 script Strange crack#2 CLEAR_NPC,{
  1578. if (isbegin_quest(12322) == 0) {// Space Distortion
  1579. mes "The crack looks suspicious but nothing more to check.";
  1580. close;
  1581. }
  1582. specialeffect EF_SPELLBREAKER;
  1583. .@random = rand(1,4);
  1584. switch( atoi(strnpcinfo(2)) ) {
  1585. case 2:
  1586. for ( .@i = 1; .@i <= .@random; ++.@i )
  1587. makeitem 719,1,"this",165,138;
  1588. makeitem 6608,1,"this",165,138;
  1589. break;
  1590. case 3:
  1591. for ( .@i = 1; .@i <= .@random; ++.@i )
  1592. makeitem 720,1,"this",159,138;
  1593. if (rand(1,4) == 4)
  1594. makeitem2 15066,1,"this",159,138,0,0,0,0,0,0,0;
  1595. makeitem 6608,1,"this",159,138;
  1596. makeitem 7229,1,"this",159,138;
  1597. break;
  1598. case 4:
  1599. for ( .@i = 1; .@i <= .@random; ++.@i )
  1600. makeitem 721,1,"this",153,138;
  1601. if (rand(1,4) == 4)
  1602. makeitem2 13086,1,"this",153,138,0,0,0,0,0,0,0;
  1603. makeitem 6608,1,"this",153,138;
  1604. makeitem 7230,1,"this",153,138;
  1605. break;
  1606. case 5:
  1607. for ( .@i = 1; .@i <= .@random; ++.@i )
  1608. makeitem 722,1,"this",147,138;
  1609. if (rand(1,4) == 4)
  1610. makeitem2 2949,1,"this",147,138,0,0,0,0,0,0,0;
  1611. makeitem 6612,1,"this",147,138;
  1612. makeitem 6613,1,"this",147,138;
  1613. makeitem 6608,1,"this",147,138;
  1614. break;
  1615. case 6:
  1616. for ( .@i = 1; .@i <= .@random; ++.@i )
  1617. makeitem 725,1,"this",141,138;
  1618. makeitem 7228,1,"this",141,138;
  1619. if (rand(1,4) == 4)
  1620. makeitem2 13440,1,"this",141,138,0,0,0,0,0,0,0;
  1621. makeitem 6608,1,"this",141,138;
  1622. break;
  1623. case 7:
  1624. for ( .@i = 1; .@i <= .@random; ++.@i )
  1625. makeitem 726,1,"this",135,138;
  1626. if (rand(1,4) == 4)
  1627. makeitem2 2022,1,"this",135,138,0,0,0,0,0,0,0;
  1628. makeitem 6608,1,"this",135,138;
  1629. break;
  1630. case 8:
  1631. for ( .@i = 1; .@i <= .@random; ++.@i )
  1632. makeitem 727,1,"this",129,138;
  1633. if (rand(1,4) == 4)
  1634. makeitem2 21007,1,"this",129,138,0,0,0,0,0,0,0;
  1635. makeitem 6608,1,"this",129,138;
  1636. break;
  1637. }
  1638. disablenpc instance_npcname( strnpcinfo(0) );
  1639. end;
  1640. }
  1641. 1@gl_k,159,136,3 duplicate(Strange crack#2) Strange crack#3 CLEAR_NPC
  1642. 1@gl_k,153,136,3 duplicate(Strange crack#2) Strange crack#4 CLEAR_NPC
  1643. 1@gl_k,147,136,3 duplicate(Strange crack#2) Strange crack#5 CLEAR_NPC
  1644. 1@gl_k,141,136,3 duplicate(Strange crack#2) Strange crack#6 CLEAR_NPC
  1645. 1@gl_k,135,136,3 duplicate(Strange crack#2) Strange crack#7 CLEAR_NPC
  1646. 1@gl_k,129,136,3 duplicate(Strange crack#2) Strange crack#8 CLEAR_NPC
  1647. 1@gl_k,269,267,3 script Strange crack#1 CLEAR_NPC,{
  1648. if (isbegin_quest(12322) == 0) {// Space Distortion
  1649. mes "The crack looks suspicious but nothing more to check.";
  1650. close;
  1651. }
  1652. warp 'map_name$[0],149,198;
  1653. end;
  1654. OnInstanceInit:
  1655. 'map_name$[0] = instance_mapname("1@gl_k");
  1656. 'map_name$[1] = instance_mapname("2@gl_k");
  1657. // Entrance
  1658. disablenpc instance_npcname("Himelmez#1");
  1659. disablenpc instance_npcname("Varmundt#1");
  1660. disablenpc instance_npcname("Heinrich#1");
  1661. disablenpc instance_npcname("Heinrich#2");
  1662. disablenpc instance_npcname("Heinrich#3");
  1663. // Rescue 1
  1664. disablenpc instance_npcname("#ghmemorialmob01");
  1665. disablenpc instance_npcname("Altar boy Domun#1");
  1666. // Rescue 2
  1667. disablenpc instance_npcname("#ghmemorialmob02");
  1668. disablenpc instance_npcname("Holgren the Destroyer#1");
  1669. for ( .@i = 1; .@i <= 26; .@i++ )
  1670. disablenpc instance_npcname("A dead man#" + .@i);
  1671. // Sector 3
  1672. disablenpc instance_npcname("#ghmemorialmob03");
  1673. // Root of Corruption
  1674. disablenpc instance_npcname("Himelmez#2");
  1675. disablenpc instance_npcname("Varmundt#2");
  1676. disablenpc instance_npcname("Heinrich#4");
  1677. disablenpc instance_npcname("#Mimelon");
  1678. disablenpc instance_npcname("#ghmemorialmob04");
  1679. // Entrance 2nd map
  1680. disablenpc instance_npcname("Varmundt#21");
  1681. disablenpc instance_npcname("Heinrich#21");
  1682. disablenpc instance_npcname("#Servanton");
  1683. hideonnpc instance_npcname("#Servanton_effect");
  1684. // Commanders
  1685. disablenpc instance_npcname("#ghmemorialmob05");
  1686. disablenpc instance_npcname("#ghmemorialmob06");
  1687. for ( .@i = 1; .@i <= 7; .@i++ ) {
  1688. disablenpc instance_npcname("#ogh_2-" + .@i);
  1689. disablenpc instance_npcname("#ogh_3-" + .@i);
  1690. }
  1691. // Amdarais Room Entrance
  1692. disablenpc instance_npcname("#Geron");
  1693. for ( .@i = 1; .@i <= 35; .@i++ )
  1694. disablenpc instance_npcname("Decomposed body#" + .@i);
  1695. // Amdarais Spawn
  1696. disablenpc instance_npcname("Gerhalt#23");
  1697. disablenpc instance_npcname("Himelmez#22");
  1698. disablenpc instance_npcname("Himelmez#23");
  1699. disablenpc instance_npcname("Varmundt#23");
  1700. disablenpc instance_npcname("Heinrich#23");
  1701. disablenpc instance_npcname("#ghmemorialmob07");
  1702. // Varmundt Buffs
  1703. disablenpc instance_npcname("#ghmemorialmob08");
  1704. disablenpc instance_npcname("Varmundt's Ghost#Buff1");
  1705. disablenpc instance_npcname("Varmundt's Ghost#Buff2");
  1706. disablenpc instance_npcname("Varmundt's Ghost#Buff3");
  1707. disablenpc instance_npcname("Varmundt's Ghost#Buff4");
  1708. disablenpc instance_npcname("Hugin#21");
  1709. // Warps
  1710. disablenpc instance_npcname("#2Control");
  1711. disablenpc instance_npcname("#2Control2");
  1712. disablenpc instance_npcname("#3Control");
  1713. disablenpc instance_npcname("#3Control2");
  1714. disablenpc instance_npcname("#4Control");
  1715. disablenpc instance_npcname("#4Control2");
  1716. disablenpc instance_npcname("#2F Entrance");
  1717. disablenpc instance_npcname("#1 Control");
  1718. disablenpc instance_npcname("#22 Control");
  1719. disablenpc instance_npcname("#22 Control2");
  1720. disablenpc instance_npcname("#23 Control");
  1721. disablenpc instance_npcname("#23 Control2");
  1722. disablenpc instance_npcname("#24 Control");
  1723. disablenpc instance_npcname("#24 Control2");
  1724. disablenpc instance_npcname("#Secret Room Exit");
  1725. end;
  1726. }