OldGlastHeim.txt 81 KB

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