123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250 |
- //===== rAthena Script =======================================
- //= Old Glast Heim
- //===== Description: =========================================
- //= Discover the history of events that took place in the
- //= Glast Heim castle and how it ended up in ruins.
- //===== Changelogs: =================================
- //= 1.0 First version. [Euphy, Ziu, Heris]
- //= This is a custom version, and may contain bugs.
- //= 1.1 Bug fixes; removed redundant OnInstanceInit scripts.
- //= 1.2 Add NPC Hugin's Follower [exneval]
- //= NPC that give access to Glast Heim Nightmare Mode.
- //= 1.3 Add some NPCs placeholder. [exneval]
- //= 1.4 Update to its official text. [exneval]
- //= Support merchant, enchant, socket features.
- //= 1.5 idAthena merge. Removed Hugin's Follower NPCs. [Secretdataz]
- //= Changed `set` calls to direct assignments.
- //= Cleaned up the script.
- //= TODO: Confirm Hugin NPC's code flow.
- //= 1.6 Cleaned up the dialogue. [Aleos]
- //= 1.7 Implemented fast mode. [Atemo]
- // Note: The treasure room is not accessible in fast mode.
- //============================================================
- glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
- if (BaseLevel < 130) {
- mes "[Hugin]";
- mes "Why don't you come back after becoming stronger?";
- mes "Maybe, level 130.";
- close;
- }
- if (isbegin_quest(12316) == 0) {
- mes "[Hugin]";
- mes "A long time ago, this castle did not look like this.";
- next;
- mes "[Hugin]";
- mes "Ah, I'm sorry. I'm muttering in front of a stranger.";
- next;
- mes "[Hugin]";
- mes "My name is Hugin. I'm studying the dimensional gap between time and space.";
- next;
- select("There's something like that here?");
- mes "[Hugin]";
- mes "Have you ever wondered about the history of Glast Heim?";
- next;
- mes "[Hugin]";
- mes "There was a King named Shumiche who was known as a tyrant in the history of the Rune-Midgarts Kingdom.";
- next;
- mes "[Hugin]";
- mes "Time will reveal the true answers if we look in the right places.";
- next;
- if (select("I don't care about history","That is interesting. Did you find anything?") == 1) {
- mes "[Hugin]";
- mes "Really? Hmm, please come back later when you are interested then.";
- close;
- }
- mes "[Hugin]";
- mes "Actually, dimensional time travel is possible but I'm too afraid to go there.";
- next;
- mes "[Hugin]";
- mes "It might be possible for you!";
- next;
- mes "[Hugin]";
- mes "Do you want to time travel?";
- next;
- if (select("No, thanks.","Yes, of course I do!") == 1) {
- mes "[Hugin]";
- mes "Really? But, jumping gigawatts, this is such a great opportunity.";
- close;
- }
- mes "[Hugin]";
- mes "I knew that you would understand what I said. Well, please tell me what you want to do.";
- setquest 12316;// Meeting Hugin
- completequest 12316;
- }
- else {
- mes "[Hugin]";
- mes "Umm? Did you see me at another place? I don't think so. What about this time?";
- if (isbegin_quest(12322) == 1)
- erasequest 12322;
- }
- next;
- switch( checkquest(12317,PLAYTIME) ) {
- case -1:
- .@party_id = getcharid(1);
- .@p_name$ = getpartyname(.@party_id);
- .@md_name$ = "Old Glast Heim";
- if (!instance_check_party(.@party_id)) {
- mes "[Hugin]";
- mes "Why don't you make a party with more than 1 person and talk to me again?";
- close;
- }
- if (is_party_leader() == true)
- .@menu$ = "Generate Time Gap";
- else {
- mes "[Hugin]";
- mes "Have we met before? No way. It's my first time seeing you. What do you want?";
- }
- if (isbegin_quest(12318) == 0)
- setquest 12318;// Corrupted Soul Hunt
- switch( select( .@menu$, "Enter Old Glast Heim", "Cancel" ) ) {
- case 1:
- switch( instance_create(.@md_name$) ) {
- case -3:
- dispbottom "Memorial Dungeon, 'Old Glast Heim' is already in progress.",0xFFFFFF;
- close;
- case -4:
- case -2:
- case -1:
- mes "Party Name: " + getpartyname( getcharid(1) );
- mes "Party Leader: " + strcharinfo(0);
- mes "^0000ff" + .@md_name$ + "^000000 - time gap generation failed.";
- close;
- }
- mes "[Hugin]";
- mes "After the time gap opens, please tell me again.";
- close;
- case 2:
- switch( instance_enter(.@md_name$) ) {
- case IE_OTHER:
- mes "[Hugin]";
- mes "An unknown error has occurred.";
- close;
- case IE_NOINSTANCE:
- mes "[Hugin]";
- mes "The time gap is not yet open.";
- close;
- case IE_NOMEMBER:
- mes "[Hugin]";
- 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.";
- close;
- case IE_OK:
- mapannounce "glast_01", "" + getpartyname( getcharid(1) ) + " party member " + strcharinfo(0) + " enters the " + .@md_name$ + ".", bc_map,0x00FF99;
- setquest 12317;// Trace of Time Travel
- // warp "1@gl_k",150,20;
- end;
- }
- case 3:
- close;
- }
- case 0:
- case 1:
- mes "[Hugin]";
- mes "Oh, my...";
- mes "You still have after-effects of time travel. You can't travel again with this condition.";
- next;
- mes "[Hugin]";
- mes "Staying healthy is important, so please take a break and come back again later.";
- close;
- case 2:
- mes "^0000ffAll traces of access to Old Glast Heim have been removed. Now you can talk with Hugin again.^000000";
- if (isbegin_quest(12318) == 0)
- setquest 12318;// Corrupted Soul Hunt
- erasequest 12317;
- close;
- }
- }
- // Warps
- 1@gl_k,96,80,0 warp #2Control 2,2,1@gl_k,80,80
- 1@gl_k,90,80,0 warp #2Control2 2,2,1@gl_k,105,80
- 1@gl_k,202,79,0 warp #3Control 2,2,1@gl_k,215,79
- 1@gl_k,206,79,0 warp #3Control2 2,2,1@gl_k,195,79
- 1@gl_k,227,216,0 warp #4Control 2,2,1@gl_k,215,216
- 1@gl_k,222,216,0 warp #4Control2 2,2,1@gl_k,233,216
- // 1@gl_k,150,284,0 warp #2F Entrance 2,2,2@gl_k,150,46
- 2@gl_k,149,32,0 warp #1 Control 2,2,1@gl_k,150,270
- 2@gl_k,145,123,0 warp #22 Control 2,2,2@gl_k,126,123
- 2@gl_k,136,122,0 warp #22 Control2 2,2,2@gl_k,150,116
- 2@gl_k,154,101,0 warp #23 Control 2,2,2@gl_k,174,101
- 2@gl_k,165,101,0 warp #23 Control2 2,2,2@gl_k,150,111
- 2@gl_k,150,163,0 warp #24 Control 2,2,2@gl_k,150,179
- 2@gl_k,150,167,0 warp #24 Control2 2,2,2@gl_k,150,149
- 1@gl_k,69,168,0 warp #Secret Room Exit 2,2,1@gl_k,48,168
- // Floor 1
- //============================================================
- 1@gl_k,149,41,5 script Varmundt#0 4_M_BARMUND,{
- if (is_party_leader() == false) {
- mes "[Varmundt]";
- mes "Where's your leader? I need his help.";
- cutin "gl_barmund2",2;
- close3;
- }
- // 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
- if (isbegin_quest(12321) == 2) {
- mes "You have a previous clear record. You can skip the scenario and proceed accordingly.";
- next;
- if (select( "Omit moderately.", "Appreciate everything." ) == 1) {
- cutin "GL_BARMUND1.bmp",2;
- mes "[Varmundt]";
- mes "I've seen you, " + strcharinfo(0) + ".";
- mes "I'm sure I can trust you. Let's leave right away.";
- close2;
- cutin "",255;
- if ('step == 0) {
- 'step = 1;
- 'mode = 2;
- disablenpc();
- enablenpc instance_npcname("Heinrich#1");
- enablenpc instance_npcname("Varmundt#1");
- }
- end;
- }
- // (original scenario)
- }
- .@account_id = getcharid(3);
- .@player_name$ = strcharinfo(0);
- mes "[Varmundt]";
- mes "Are you the one ^0000ffHerico^000000 sent to help me?";
- npctalk "Varmundt: Are you the one Herico sent to help me?";
- cutin "gl_barmund1",2;
- next;
- select("Oh. Well I...");
- mes "[" + .@player_name$ + "]";
- mes "Ah yes, I am. Herico told me to meet you.";
- unittalk .@account_id, .@player_name$ + " : Ah yes, I am. Herico told me to meet you.";
- next;
- mes "[Varmundt]";
- mes "We don't have much time. We must report to Sir Heinrich about Himelmez's invasion.";
- npctalk "Varmundt: We don't have much time. We must report to Sir Heinrich about Himelmez's invasion.";
- cutin "gl_barmund2",2;
- next;
- select("Himelmez...");
- mes "[" + .@player_name$ + "]";
- mes "Who is Himelmez?";
- unittalk .@account_id, .@player_name$ + " : Who is Himelmez?";
- next;
- mes "[Varmundt]";
- mes "Herico didn't tell you?";
- npctalk "Varmundt: Herico didn't tell you?";
- cutin "gl_barmund3",2;
- next;
- mes "[Varmundt]";
- mes "She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the heart of Ymir from us.";
- npctalk "Varmundt: She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the heart of Ymir from us.";
- cutin "gl_barmund2",2;
- next;
- mes "[Varmundt]";
- mes "She might even destroy this whole castle if she wanted to.";
- npctalk "Varmundt: She might even destroy this whole castle if she wanted to.";
- next;
- mes "[Varmundt]";
- mes "Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!";
- npctalk "Varmundt: Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!";
- close2;
- cutin "",255;
- if ('step == 0) {
- 'step = 1;
- 'mode = 1;
- disablenpc instance_npcname("Varmundt#0");
- enablenpc instance_npcname("Heinrich#1");
- enablenpc instance_npcname("Varmundt#1");
- }
- end;
- }
- 1@gl_k,145,104,6 script Khalitzburg Knightage#1 4_F_KHALITZBURG,{
- mes "[Khalitzburg Knightage]";
- mes "My work shift will be over soon, but the next crew is not coming.";
- close;
- }
- 1@gl_k,154,104,3 script Khalitzburg Knightage#2 4_F_KHALITZBURG,{
- mes "[Khalitzburg Knightage]";
- mes "Something you want to tell me?";
- close;
- }
- 1@gl_k,145,99,6 script White Knight#3 4_WHITEKNIGHT,{
- mes "[White Knight]";
- mes "Are you with Varmundt? Commander is waiting for you.";
- close;
- }
- 1@gl_k,154,99,3 duplicate(Khalitzburg Knightage#1) White Knight#4 4_WHITEKNIGHT
- 1@gl_k,145,94,6 script Khalitzburg Knightage#5 4_F_KHALITZBURG,{
- mes "[Khalitzburg Knightage]";
- mes "I had a weird dream last night. My mom was in it... Wonder if she is ok...";
- close;
- }
- 1@gl_k,154,94,3 duplicate(White Knight#3) Khalitzburg Knightage#6 4_F_KHALITZBURG
- 1@gl_k,145,89,6 script White Knight#7 4_WHITEKNIGHT,{
- mes "[White Knight]";
- mes "Please do not make a mess here.";
- close;
- }
- 1@gl_k,154,89,3 duplicate(White Knight#7) White Knight#8 4_WHITEKNIGHT
- 1@gl_k,145,84,6 script Khalitzburg Knightage#9 4_F_KHALITZBURG,{
- mes "[Khalitzburg Knightage]";
- mes "Orders please.";
- close;
- }
- 1@gl_k,154,84,3 duplicate(Khalitzburg Knightage#9) Khalitzburg Knightage#10 4_F_KHALITZBURG
- 1@gl_k,145,79,6 script White Knight#11 4_WHITEKNIGHT,{
- mes "[White Knight]";
- mes "How do you know Varmundt? I heard that he's not really a friendly man...";
- close;
- }
- 1@gl_k,154,79,3 duplicate(White Knight#11) White Knight#12 4_WHITEKNIGHT
- 1@gl_k,145,74,6 script Khalitzburg Knightage#13 4_F_KHALITZBURG,{
- mes "[Khalitzburg Knightage]";
- mes "Doesn't this castle seem weird all of a sudden? Something's not quite right.";
- close;
- }
- 1@gl_k,154,74,3 duplicate(Khalitzburg Knightage#13) Khalitzburg Knightage#14 4_F_KHALITZBURG
- 1@gl_k,145,69,6 script White Knight#15 4_WHITEKNIGHT,{
- mes "[White Knight]";
- mes "I do not like to chat during work.";
- close;
- }
- 1@gl_k,154,69,3 duplicate(White Knight#15) White Knight#16 4_WHITEKNIGHT
- 1@gl_k,145,64,6 script Khalitzburg Knightage#17 4_F_KHALITZBURG,{
- mes "[Khalitzburg Knightage]";
- mes "...";
- close;
- }
- 1@gl_k,154,64,3 duplicate(Khalitzburg Knightage#17) Khalitzburg Knightage#18 4_F_KHALITZBURG
- 1@gl_k,145,59,6 script White Knight#19 4_WHITEKNIGHT,{
- mes "[White Knight]";
- mes "What can I do for you?";
- close;
- }
- 1@gl_k,154,59,3 duplicate(White Knight#19) White Knight#20 4_WHITEKNIGHT
- 1@gl_k,145,54,6 script Khalitzburg Knightage#21 4_F_KHALITZBURG,{
- mes "[Khalitzburg Knightage]";
- mes "Is there something you need?";
- close;
- }
- 1@gl_k,154,54,3 duplicate(Khalitzburg Knightage#21) Khalitzburg Knightage#22 4_F_KHALITZBURG
- 1@gl_k,149,100,5 script Heinrich#1 4_M_HEINRICH,{
- if (is_party_leader() == false || 'step != 1) {
- mes "[Heinrich]";
- mes "Where is your leader? I must talk to him.";
- cutin "gl_heinrich2",2;
- close3;
- }
- if ('mode == 2) {
- cutin "GL_HEINRICH2.bmp",2;
- select( "Heinrich, you are in the castle now..." );
- mes "[Heinrich]";
- mes "Ohh " + strcharinfo(0) + "";
- mes "I guess I can trust you. Let's leave right away.";
- close2;
- cutin "",255;
- if ('step == 1) {
- 'step = 2;
- donpcevent instance_npcname("#talkinstance2") + "::OnEnable";
- }
- end;
- }
- .@account_id = getcharid(3);
- .@player_name$ = strcharinfo(0);
- cutin "gl_heinrich2",2;
- select("Sir Heinrich. Varmundt...");
- mes "[" + .@player_name$ + "]";
- mes "Sir Heinrich. Do you know what is happening in the castle now?";
- unittalk .@account_id, .@player_name$ + " : Sir Heinrich. Do you know what is happening in the castle now?";
- next;
- mes "[Heinrich]";
- mes "Aren't you the adventurer that came along with Varmundt?";
- npctalk "Heinrich: Aren't you the adventurer that came along with Varmundt?";
- next;
- mes "[Heinrich]";
- mes "What is it? Something wrong with the castle?";
- npctalk "Heinrich: What is it? Something wrong with the castle?";
- next;
- select("Himelmez's invasion...");
- mes "[" + .@player_name$ + "]";
- mes "Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!";
- unittalk .@account_id, .@player_name$ + " : Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!";
- next;
- mes "[Heinrich]";
- mes "Haha. Funny. Do you really think that is possible?";
- npctalk "Heinrich: Haha. Funny. Do you really think that is possible?";
- cutin "gl_heinrich1",2;
- next;
- mes "[Varmundt]";
- mes "I'm not kidding, Sir Heinrich. If I'm correct, then she will be here very soon.";
- npctalk "Varmundt: I'm not kidding, Sir Heinrich. If I'm correct, then she will be here very soon.", instance_npcname("Varmundt#1");
- cutin "gl_barmund2",2;
- next;
- mes "[Varmundt]";
- mes "We must hide the heart piece in a safe place before Himelmez's attack starts!";
- npctalk "Varmundt: We must hide the heart piece in a safe place before Himelmez's attack starts!", instance_npcname("Varmundt#1");
- next;
- select("Even if you don't believe me...");
- mes "[" + .@player_name$ + "]";
- mes "I can't make you believe me, but there's no time to argue!";
- unittalk .@account_id, .@player_name$ + " : I can't make you believe me, but there's no time to argue!";
- cutin "",255;
- next;
- mes "[Heinrich]";
- mes "Thank you for the help. But we don't even have our king with us right now.";
- npctalk "Heinrich: Thank you for the help. But we don't even have our king with us right now.";
- cutin "gl_heinrich1",2;
- next;
- mes "[Heinrich]";
- mes "We cannot risk moving the heart just because some stranger says so.";
- npctalk "Heinrich: We cannot risk moving the heart just because some stranger says so.";
- close2;
- cutin "",255;
- if ('step == 1) {
- 'step = 2;
- donpcevent instance_npcname("#talkinstance1") + "::OnEnable";
- }
- end;
- }
- 1@gl_k,152,97,3 duplicate(dummy_npc) Varmundt#1 4_M_BARMUND
- 1@gl_k,149,97,5 duplicate(Varmundt#1) Heinrich#2 4_M_HEINRICH
- 1@gl_k,149,100,5 duplicate(Varmundt#1) Heinrich#3 4_M_HEINRICH
- 1@gl_k,149,89,1 duplicate(Varmundt#1) Himelmez#1 4_F_HIMEL
- // Control Timer
- //============================================================
- 1@gl_k,1,1,0 script #talkinstance1 HIDDEN_WARP_NPC,{
- end;
- OnEnable:
- disablenpc instance_npcname("Heinrich#1");
- enablenpc instance_npcname("Heinrich#2");
- enablenpc instance_npcname("Himelmez#1");
- mapannounce 'map_name$[0], "????'s: Muahahahaha~!", bc_map,0xFFFF00,FW_NORMAL,18;
- initnpctimer;
- 'npc_himelmez1$ = instance_npcname("Himelmez#1");
- 'npc_varmundt1$ = instance_npcname("Varmundt#1");
- 'npc_heinrich2$ = instance_npcname("Heinrich#2");
- 'npc_heinrich3$ = instance_npcname("Heinrich#3");
- end;
- OnTimer1500:
- npctalk "Heinrich: Who are you?", 'npc_heinrich2$;
- end;
- OnTimer4500:
- npctalk "Himelmez: Well well~ Am I interrupting you? Weren't you expecting me?", 'npc_himelmez1$;
- end;
- OnTimer10000:
- npctalk "Varmundt: Himelmez!! Already!", 'npc_varmundt1$;
- end;
- OnTimer17500:
- npctalk "Himelmez: My name is Lisa Kahn Himelmez. Master of Dullahan, Dead man's Valkyrie, that's what they call me.", 'npc_himelmez1$;
- end;
- OnTimer22000:
- npctalk "Heinrich: Aren't you a little too feminine to be the Ruler of death? We are not afraid of you...", 'npc_heinrich2$;
- end;
- OnTimer28500:
- npctalk "Himelmez: Let's see if you can relax like that after you find out where your king is.", 'npc_himelmez1$;
- end;
- OnTimer36000:
- npctalk "Heinrich: What?", 'npc_heinrich2$;
- end;
- OnTimer41000:
- npctalk "Himelmez: Hmm, now I have your attention do I not?", 'npc_himelmez1$;
- end;
- OnTimer47000:
- npctalk "Himelmez: You don't want the king's position, just wait for him to come back. I like your purity.", 'npc_himelmez1$;
- end;
- OnTimer54000:
- npctalk "Himelmez: It's a pity to meet you in a situation like this.", 'npc_himelmez1$;
- end;
- OnTimer59000:
- npctalk "Heinrich: My king is visiting the Rune-Midgarts royal family. He's not back yet.", 'npc_heinrich2$;
- end;
- OnTimer66500:
- npctalk "Heinrich: And now you are trying to trick me, what has happened to him?!", 'npc_heinrich2$;
- end;
- OnTimer71500:
- npctalk "Himelmez: Well~ I would love to sit down and explain for you, but I'm kind of busy today~", 'npc_himelmez1$;
- end;
- OnTimer78000:
- npctalk "Himelmez: I have business to take care of. My minions will treat you well enough for me~", 'npc_himelmez1$;
- end;
- OnTimer84500:
- npctalk "Heinrich: She probably already knows where the Ymir's heart piece is.", 'npc_heinrich2$;
- disablenpc 'npc_himelmez1$;
- end;
- OnTimer90500:
- npctalk "Heinrich: All Khalitzburg and White Knights should follow me now...", 'npc_heinrich2$;
- end;
- OnTimer92000:
- for (.@i = 1; .@i <= 20; .@i += 4) {
- hideonnpc instance_npcname("Khalitzburg Knightage#" + .@i);
- hideonnpc instance_npcname("Khalitzburg Knightage#" + (.@i+1));
- hideonnpc instance_npcname("White Knight#" + (.@i+2));
- hideonnpc instance_npcname("White Knight#" + (.@i+3));
- }
- hideonnpc instance_npcname("Khalitzburg Knightage#21");
- hideonnpc instance_npcname("Khalitzburg Knightage#22");
- .@label$ = instance_npcname("#talkinstance1") + "::OnMyMobDead";
- monster 'map_name$[0],145,59,"Abysmal Knight",2470,1,.@label$;// MG_KNIGHT_OF_ABYSS
- monster 'map_name$[0],154,59,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],145,69,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],154,69,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],145,79,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],154,79,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],145,89,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],154,89,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],145,99,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],154,99,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],145,54,"Khalitzburg",2471,1,.@label$;// G_MG_KHALITZBURG
- unittalk $@mobid[0],"Water... Someone give me water...";
- monster 'map_name$[0],154,54,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Kkkrrrruughgh...";
- monster 'map_name$[0],145,64,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Sir Heinrich. Save me...";
- monster 'map_name$[0],154,64,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"I miss my sister...";
- monster 'map_name$[0],145,74,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Don't leave me alone, help me.";
- monster 'map_name$[0],154,74,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Aaarrrrrhhhh";
- monster 'map_name$[0],145,84,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"I am so thirsty.";
- monster 'map_name$[0],154,84,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Oh...No...I can't die yet...";
- monster 'map_name$[0],145,94,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"I feel sick to my stomach urrgg";
- monster 'map_name$[0],154,94,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Can someone...";
- monster 'map_name$[0],145,104,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Arrgg... My body";
- monster 'map_name$[0],154,104,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"My throat is burning!";
- end;
- OnTimer94000:
- npctalk "Heinrich: My men... This can't be happening!", 'npc_heinrich2$;
- end;
- OnTimer96500:
- npctalk "Varmundt: Sir Heinrich, they're all monsters. You need to give them rest!", 'npc_varmundt1$;
- end;
- OnTimer100000:
- npctalk "Heinrich: I'm so sorry...", 'npc_heinrich2$;
- end;
- OnTimer103000:
- npctalk "Heinrich: I am sorry, my knights! Forgive me!", 'npc_heinrich2$;
- end;
- OnTimer106000:
- mapannounce 'map_name$[0], "Sir Heinrich: Death to all!", bc_map,0xFFFF33,FW_NORMAL,15;
- end;
- OnTimer109000:
- mapannounce 'map_name$[0], "Sir Heinrich: Go back to the darkness!", bc_map,0xFFFF33,FW_NORMAL,15;
- end;
- OnTimer109500:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#1");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#2");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#1");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#2");
- end;
- OnTimer110000:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#3");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#4");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#5");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#6");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#3");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#4");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#5");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#6");
- end;
- OnTimer110500:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#7");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#8");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#9");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#10");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#7");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#8");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#9");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#10");
- end;
- OnTimer111000:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#11");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#12");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#13");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#14");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#11");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#12");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#13");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#14");
- end;
- OnTimer111500:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#15");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#16");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#17");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#18");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#15");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#16");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#17");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#18");
- end;
- OnTimer112000:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#19");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#20");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#21");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#22");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#19");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#20");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#21");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#22");
- disablenpc 'npc_heinrich2$;
- enablenpc 'npc_heinrich3$;
- killmonster 'map_name$[0], instance_npcname("#talkinstance1") + "::OnMyMobDead";
- end;
- OnTimer112500:
- npctalk "Heinrich: I killed my own men...", 'npc_heinrich3$;
- end;
- OnTimer115500:
- npctalk "Varmundt: Sir Heinrich! We don't have much time!", 'npc_varmundt1$;
- end;
- OnTimer118500:
- npctalk "Varmundt: If you hurry now, there's a chance!", 'npc_varmundt1$;
- end;
- OnTimer121500:
- npctalk "Heinrich: Varmundt is right. Now is not the time for mourning.", 'npc_heinrich3$;
- end;
- OnTimer124500:
- npctalk "Heinrich: I have a request to you followers.", 'npc_heinrich3$;
- end;
- OnTimer127500:
- npctalk "Heinrich: Himelmez can turn living beings into monsters.", 'npc_heinrich3$;
- end;
- OnTimer130500:
- npctalk "Heinrich: But, there might still be survivors here.", 'npc_heinrich3$;
- end;
- OnTimer134500:
- npctalk "Heinrich: Destroy the monsters and find any survivors.", 'npc_heinrich3$;
- end;
- OnTimer138500:
- npctalk "Heinrich: Varmundt and I will chase Himelmez.", 'npc_heinrich3$;
- end;
- OnTimer143500:
- npctalk "Heinrich: Very well, Varmundt. Let's find Himelmez.", 'npc_heinrich3$;
- end;
- OnTimer147500:
- disablenpc 'npc_heinrich3$;
- end;
- OnTimer148500:
- stopnpctimer;
- donpcevent instance_npcname("#ghmemorialmob01") + "::OnStart";
- disablenpc 'npc_varmundt1$;
- disablenpc instance_npcname("#talkinstance1");
- 'npc_himelmez1$ = 'npc_varmundt1$ = 'npc_heinrich2$ = 'npc_heinrich3$ = "";
- end;
- OnMyMobDead:
- end;
- }
- // Fast mode
- 1@gl_k,1,1,0 script #talkinstance2 HIDDEN_WARP_NPC,{
- end;
- OnEnable:
- disablenpc instance_npcname("Heinrich#1");
- enablenpc instance_npcname("Heinrich#2");
- enablenpc instance_npcname("Himelmez#1");
- mapannounce 'map_name$[0], "????'s: Muahahahaha~!", bc_map,0xFFFF00,FW_NORMAL,18;
- initnpctimer;
- 'npc_himelmez1$ = instance_npcname("Himelmez#1");
- 'npc_varmundt1$ = instance_npcname("Varmundt#1");
- 'npc_heinrich2$ = instance_npcname("Heinrich#2");
- 'npc_heinrich3$ = instance_npcname("Heinrich#3");
- end;
- OnTimer1500:
- npctalk "Heinrich: Who are you?", 'npc_heinrich2$;
- end;
- OnTimer3500:
- npctalk "Himelmez: Well well~ Am I interrupting you? Weren't you expecting me?", 'npc_himelmez1$;
- end;
- OnTimer7500:
- npctalk "Himelmez: I have business to take care of. My minions will treat you well enough for me~", 'npc_himelmez1$;
- end;
- OnTimer11500:
- disablenpc 'npc_himelmez1$;
- end;
- OnTimer12500:
- npctalk "Heinrich: She probably already knows where the Ymir's heart piece is.", 'npc_heinrich2$;
- end;
- OnTimer16500:
- for (.@i = 1; .@i <= 20; .@i += 4) {
- hideonnpc instance_npcname("Khalitzburg Knightage#" + .@i);
- hideonnpc instance_npcname("Khalitzburg Knightage#" + (.@i+1));
- hideonnpc instance_npcname("White Knight#" + (.@i+2));
- hideonnpc instance_npcname("White Knight#" + (.@i+3));
- }
- hideonnpc instance_npcname("Khalitzburg Knightage#21");
- hideonnpc instance_npcname("Khalitzburg Knightage#22");
- .@label$ = instance_npcname("#talkinstance1") + "::OnMyMobDead";
- monster 'map_name$[0],145,59,"Abysmal Knight",2470,1,.@label$;// MG_KNIGHT_OF_ABYSS
- monster 'map_name$[0],154,59,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],145,69,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],154,69,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],145,79,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],154,79,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],145,89,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],154,89,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],145,99,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],154,99,"Abysmal Knight",2470,1,.@label$;
- monster 'map_name$[0],145,54,"Khalitzburg",2471,1,.@label$;// G_MG_KHALITZBURG
- unittalk $@mobid[0],"Water... Someone give me water...";
- monster 'map_name$[0],154,54,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Kkkrrrruughgh...";
- monster 'map_name$[0],145,64,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Sir Heinrich. Save me...";
- monster 'map_name$[0],154,64,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"I miss my sister...";
- monster 'map_name$[0],145,74,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Don't leave me alone, help me.";
- monster 'map_name$[0],154,74,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Aaarrrrrhhhh";
- monster 'map_name$[0],145,84,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"I am so thirsty.";
- monster 'map_name$[0],154,84,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Oh...No...I can't die yet...";
- monster 'map_name$[0],145,94,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"I feel sick to my stomach urrgg";
- monster 'map_name$[0],154,94,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Can someone...";
- monster 'map_name$[0],145,104,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"Arrgg... My body";
- monster 'map_name$[0],154,104,"Khalitzburg",2471,1,.@label$;
- unittalk $@mobid[0],"My throat is burning!";
- end;
- OnTimer17500:
- npctalk "The dead go where the dead belong! Everyone go back!", 'npc_heinrich2$;
- end;
- OnTimer18500:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#1");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#2");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#1");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#2");
- end;
- OnTimer19000:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#3");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#4");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#5");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#6");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#3");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#4");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#5");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#6");
- end;
- OnTimer19500:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#7");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#8");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#9");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#10");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#7");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#8");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#9");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#10");
- end;
- OnTimer20000:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#11");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#12");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#13");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#14");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#11");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#12");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#13");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#14");
- end;
- OnTimer20500:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#15");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#16");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#17");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#18");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#15");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#16");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#17");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#18");
- end;
- OnTimer21500:
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#19");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#20");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#21");
- specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#22");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#19");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#20");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#21");
- specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#22");
- disablenpc 'npc_heinrich2$;
- enablenpc 'npc_heinrich3$;
- killmonster 'map_name$[0], instance_npcname("#talkinstance1") + "::OnMyMobDead";
- npctalk "Heinrich: Very well, Varmundt. Let's find Himelmez.", 'npc_heinrich3$;
- end;
- OnTimer25500:
- 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$;
- end;
- OnTimer27000:
- specialeffect EF_BEGINSPELL_N5, AREA, 'npc_varmundt1$;
- end;
- OnTimer28500:
- stopnpctimer;
- disablenpc 'npc_heinrich3$;
- disablenpc 'npc_varmundt1$;
- enablenpc instance_npcname("#cut01");
- enablenpc instance_npcname("#Mimelon");
- enablenpc instance_npcname("Himelmez#2");
- enablenpc instance_npcname("Varmundt#2");
- enablenpc instance_npcname("Heinrich#4");
- 'step = 4;
- 'npc_himelmez1$ = 'npc_varmundt1$ = 'npc_heinrich2$ = 'npc_heinrich3$ = "";
- end;
- OnMyMobDead:
- end;
- }
- 1@gl_k,149,96,1 script #cut01 GATE_SKYBLUE,{
- warp 'map_name$[0],151,232;
- end;
- }
- // Sector 1 Mobs
- //============================================================
- 1@gl_k,1,1,0 script #ghmemorialmob01 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#ghmemorialmob01");
- enablenpc instance_npcname("#2Control");
- enablenpc instance_npcname("#2Control2");
- mapannounce 'map_name$[0], "A portal has opened to the west.", bc_map,0xFFFF00;
- // note: x17 MG_GHOUL / x17 MG_ZOMBIE / x17 MG_WRAITH
- .@label$ = instance_npcname("#ghmemorialmob01") + "::OnMyMobDead";
- areamonster 'map_name$[0],76,99,87,10,"Grand Chamberlain in pain",2466,14,.@label$;
- areamonster 'map_name$[0],67,39,12, 6,"Corrupted Monk",2465,17,.@label$;
- areamonster 'map_name$[0],67,39,12, 6,"Grand Chamberlain in pain",2466,3,.@label$;
- areamonster 'map_name$[0],32,75,51,58,"Corrupted Steward",2464,5,.@label$;
- areamonster 'map_name$[0],45,84,6,137,"Corrupted Steward",2464,12,.@label$;
- end;
- OnMyMobDead:
- .@label$ = instance_npcname("#ghmemorialmob01") + "::OnMyMobDead";
- .@mob_dead_num = 51 - mobcount('map_name$[0],.@label$);
- if (.@mob_dead_num > 35) {
- mapannounce 'map_name$[0], "Himelmez's curse is getting weaker. Find any survivors!", bc_map,0xFFFFFF;
- killmonster 'map_name$[0], .@label$;
- enablenpc instance_npcname("Altar boy Domun#1");
- disablenpc instance_npcname("#ghmemorialmob01");
- }
- end;
- }
- 1@gl_k,17,51,3 script Altar boy Domun#1 4_M_KID1,{
- if (is_party_leader() == false || 'step != 2) {
- mes "[Altar boy Domun]";
- mes "Save me, save me, please...";
- close;
- }
- .@account_id = getcharid(3);
- .@player_name$ = strcharinfo(0);
- mes "[Altar boy Domun]";
- mes "Save me! Save me!!!";
- npctalk "Save me! Save me!!!";
- next;
- select("Hold on! Are you the only survivor?");
- mes "[" + .@player_name$ + "]";
- mes "Hold on! Are you the only survivor?";
- unittalk .@account_id, .@player_name$ + " : Hold on! Are you the only survivor?";
- next;
- mes "[Altar boy Domun]";
- mes "Chamberlains... monks... They all turned into monsters. I couldn't do anything.";
- npctalk "Altar boy Domun: Chamberlains... monks... They all turned into monsters. I couldn't do anything.";
- next;
- mes "[Altar boy Domun]";
- mes "All I could do was... Just hide in here... Nothing, nothing I could do...";
- npctalk "Altar boy Domun: All I could do was... Just hide in here... Nothing, nothing I could do...";
- next;
- select("Pull it together!");
- mes "[" + .@player_name$ + "]";
- mes "Wake up kid! Go east and find the middle passage to the outside! It is safe there!";
- unittalk .@account_id, .@player_name$ + " : Wake up kid! Go east and find the middle passage to the outside! It is safe there!";
- next;
- mes "[Altar boy Domun]";
- mes "To the east passage? Alone? How?";
- npctalk "Altar boy Domun: To the east passage? Alone? How?";
- next;
- select("I will give you a weapon.");
- mes "[" + .@player_name$ + "]";
- mes "Here's a weapon. Just close your eye and swing for those monsters.";
- unittalk .@account_id, .@player_name$ + " : Here's a weapon. Just close your eye and swing for those monsters.";
- next;
- mes "[Altar boy Domun]";
- mes "Ok, I... I'll try.";
- npctalk "Altar boy Domun: Ok, I... I'll try.";
- if ('step == 2) {
- 'step = 3;
- disablenpc instance_npcname("Altar boy Domun#1");
- donpcevent instance_npcname("#ghmemorialmob02") + "::OnStart";
- }
- close;
- }
- // Sector 2 Mobs
- //============================================================
- 1@gl_k,1,1,0 script #ghmemorialmob02 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#ghmemorialmob02");
- enablenpc instance_npcname("#3Control");
- enablenpc instance_npcname("#3Control2");
- for ( .@i = 1; .@i <= 26; .@i++ )
- enablenpc instance_npcname("A dead man#" + .@i);
- mapannounce 'map_name$[0], "A portal has opened to the east.", bc_map,0xFFFF00;
- // note: x34 MG_ZOMBIE / x35 MG_GHOUL
- .@label$ = instance_npcname("#ghmemorialmob02") + "::OnMyMobDead";
- areamonster 'map_name$[0],236,12,288,52,"Outraged Refiner",2466,18,.@label$;// MG_GHOUL
- areamonster 'map_name$[0],236,12,288,52,"Decomposed Blacksmith",2464,17,.@label$;// MG_ZOMBIE
- areamonster 'map_name$[0],242,71,286,145,"Outraged Refiner",2466,17,.@label$;
- areamonster 'map_name$[0],242,71,286,145,"Decomposed Blacksmith",2464,17,.@label$;
- end;
- OnMyMobDead:
- .@label$ = instance_npcname("#ghmemorialmob02") + "::OnMyMobDead";
- .@mob_dead_num = 69 - mobcount('map_name$[0],.@label$);
- if (.@mob_dead_num > 56) {
- mapannounce 'map_name$[0], "Himelmez's curse is getting weaker. Find any survivors!", bc_map,0xFFFFFF;
- killmonster 'map_name$[0],.@label$;
- enablenpc instance_npcname("Holgren the Destroyer#1");
- disablenpc instance_npcname("#ghmemorialmob02");
- }
- end;
- }
- 1@gl_k,291,145,3 script Holgren the Destroyer#1 4_F_JOB_BLACKSMITH,{
- if (is_party_leader() == false || 'step != 3) {
- mes "[Holgren the Destroyer]";
- mes "You human?";
- close;
- }
- .@account_id = getcharid(3);
- .@player_name$ = strcharinfo(0);
- mes "[Holgren the Destroyer]";
- mes "Die!! You shall die!!!";
- npctalk "Holgren the Destroyer: Die!! You shall die!!!";
- specialeffect EF_CRASHEARTH;
- next;
- select("Relax! I'm not a monster!");
- mes "[" + .@player_name$ + "]";
- mes "Relax! I am Human. Are you alone? Is anyone else here?";
- unittalk .@account_id, .@player_name$ + " : Relax! I am Human. Are you alone? Is anyone else here?";
- next;
- mes "[Holgren the Destroyer]";
- mes "It's only me.";
- npctalk "Holgren the Destroyer: It's only me.";
- next;
- select("It's dangerous here...");
- mes "[" + .@player_name$ + "]";
- mes "It's dangerous here. You know the way to the middle passage? Can you move?";
- unittalk .@account_id, .@player_name$ + " : It's dangerous here. You know the way to the middle passage? Can you move?";
- next;
- mes "[Holgren the Destroyer]";
- mes "Yes, I can move. I need to get out of here.";
- npctalk "Holgren the Destroyer: Yes, I can move. I need to get out of here.";
- next;
- select("Be safe...");
- mes "[" + .@player_name$ + "]";
- mes "Sorry, I can't go with you.";
- unittalk .@account_id, .@player_name$ + " : Sorry, I can't go with you.";
- next;
- mes "[Holgren the Destroyer]";
- mes "It's ok. You've already done enough. I can help myself. Good luck to you too.";
- npctalk "Holgren the Destroyer: It's ok. You've already done enough. I can help myself. Good luck to you too.";
- if ('step == 3) {
- 'step = 4;
- disablenpc instance_npcname("Holgren the Destroyer#1");
- donpcevent instance_npcname("#ghmemorialmob03") + "::OnEnable";
- }
- close;
- }
- // Tramp Mobs
- //============================================================
- 1@gl_k,221,82,3 script A dead man#1 4_M_DIEMAN,5,5,{
- end;
- OnTouch_:
- .@i = rand(1,10);
- if (.@i == 1) .@mobs = 3;
- else if (.@i == 2) .@mobs = 4;
- else if (.@i == 3) .@mobs = 5;
- else if (.@i < 7) .@mobs = 6;
- else .@mobs = 7;
- getmapxy .@map$,.@x,.@y, BL_NPC;
- specialeffect EF_VENOMDUST;
- monster .@map$,.@x,.@y,"Maggot",2467,.@mobs;
- disablenpc();
- end;
- }
- 1@gl_k,233,123,4 duplicate(A dead man#1) A dead man#2 4_M_DIEMAN,5,5
- 1@gl_k,258,150,2 duplicate(A dead man#1) A dead man#3 4_M_DIEMAN,5,5
- 1@gl_k,255,157,5 duplicate(A dead man#1) A dead man#4 4_M_DIEMAN,5,5
- 1@gl_k,280,167,4 duplicate(A dead man#1) A dead man#5 4_M_DIEMAN,5,5
- 1@gl_k,293,161,2 duplicate(A dead man#1) A dead man#6 4_M_DIEMAN,5,5
- 1@gl_k,249,101,3 duplicate(A dead man#1) A dead man#7 4_M_DIEMAN,5,5
- 1@gl_k,241,86,6 duplicate(A dead man#1) A dead man#8 4_M_DIEMAN,5,5
- 1@gl_k,246,62,0 duplicate(A dead man#1) A dead man#9 4_M_DIEMAN,5,5
- 1@gl_k,240,43,7 duplicate(A dead man#1) A dead man#10 4_M_DIEMAN,5,5
- 1@gl_k,271,19,1 duplicate(A dead man#1) A dead man#11 4_M_DIEMAN,5,5
- 1@gl_k,282,48,5 duplicate(A dead man#1) A dead man#12 4_M_DIEMAN,5,5
- 1@gl_k,285,81,7 duplicate(A dead man#1) A dead man#13 4_M_DIEMAN,5,5
- 1@gl_k,276,106,0 duplicate(A dead man#1) A dead man#14 4_M_DIEMAN,5,5
- 1@gl_k,261,164,0 duplicate(A dead man#1) A dead man#15 4_M_DIEMAN,5,5
- 1@gl_k,269,173,0 duplicate(A dead man#1) A dead man#16 4_M_DIEMAN,5,5
- 1@gl_k,252,120,0 duplicate(A dead man#1) A dead man#17 4_M_DIEMAN,5,5
- 1@gl_k,213,63,0 duplicate(A dead man#1) A dead man#18 4_M_DIEMAN,5,5
- 1@gl_k,222,39,0 duplicate(A dead man#1) A dead man#19 4_M_DIEMAN,5,5
- 1@gl_k,214,27,0 duplicate(A dead man#1) A dead man#20 4_M_DIEMAN,5,5
- 1@gl_k,223,17,1 duplicate(A dead man#1) A dead man#21 4_M_DIEMAN,5,5
- 1@gl_k,230,50,2 duplicate(A dead man#1) A dead man#22 4_M_DIEMAN,5,5
- 1@gl_k,235,16,3 duplicate(A dead man#1) A dead man#23 4_M_DIEMAN,5,5
- 1@gl_k,226,96,4 duplicate(A dead man#1) A dead man#24 4_M_DIEMAN,5,5
- 1@gl_k,222,119,5 duplicate(A dead man#1) A dead man#25 4_M_DIEMAN,5,5
- 1@gl_k,251,20,6 duplicate(A dead man#1) A dead man#26 4_M_DIEMAN,5,5
- // Sector 3 Mobs
- //============================================================
- 1@gl_k,1,1,0 script #ghmemorialmob03 HIDDEN_WARP_NPC,{
- end;
- OnEnable:
- enablenpc instance_npcname("#ghmemorialmob03");
- enablenpc instance_npcname("#4Control");
- enablenpc instance_npcname("#4Control2");
- mapannounce 'map_name$[0], "A portal has appeared to the northwest.", bc_map,0xFFFF00;
- // note: x50 MG_RAYDRIC / x50 MG_RAYDRIC_ARCHER
- .@label$ = instance_npcname("#ghmemorialmob03") + "::OnMyMobDead";
- areamonster 'map_name$[0],16,186,43,280,"Outraged Archer",2469,25,.@label$;
- areamonster 'map_name$[0],44,191,89,225,"Hungry Palace Guard",2468,25,.@label$;
- areamonster 'map_name$[0],115,215,188,273,"Corrupted Palace Guard",2468,20,.@label$;
- areamonster 'map_name$[0],108,232,193,281,"Corrupted Palace Guard",2468,5,.@label$;
- areamonster 'map_name$[0],158,236,230,250,"Wandering Archer",2469,12,.@label$;
- areamonster 'map_name$[0],65,231,155,256,"Wandering Archer",2469,13,.@label$;
- end;
- OnMyMobDead:
- .@label$ = instance_npcname("#ghmemorialmob03") + "::OnMyMobDead";
- .@mob_dead_num = 100 - mobcount('map_name$[0],.@label$);
- if (.@mob_dead_num > 85) {
- killmonster 'map_name$[0],.@label$;
- enablenpc instance_npcname("#Mimelon");
- enablenpc instance_npcname("Himelmez#2");
- enablenpc instance_npcname("Varmundt#2");
- enablenpc instance_npcname("Heinrich#4");
- disablenpc instance_npcname("#ghmemorialmob03");
- mapannounce 'map_name$[0], "Himelmez: Not bad. Thought you would be dead by now by my creatures~", bc_map,0xFFFFFF;
- initnpctimer;
- }
- end;
- OnTimer5000:
- 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;
- stopnpctimer;
- end;
- }
- // 1st MVP
- //============================================================
- 1@gl_k,144,258,6 script Heinrich#4 4_M_HEINRICH,{
- mes "[Heinrich]";
- mes "Himelmez... I will never forget what you've done to my men.";
- cutin "gl_heinrich1",2;
- close3;
- }
- 1@gl_k,156,258,3 script Varmundt#2 4_M_BARMUND,{
- if ('step < 6)
- end;
- if (checkweight(6607,1, 6608,1) == 0) {
- mes "^ff0000It seems like you have too many types or weights of items. Please organize your inventory.^000000";
- close;
- }
- cutin "gl_barmund1",2;
- mes "[Varmundt]";
- if (checkquest(12318,HUNTING) != 2) {
- mes "I guess this is it. Is it impossible to stop the time traveler's will?!";
- mes "A portal seems to have appeared to the north.";
- close3;
- }
- erasequest 12318;
- if (isbegin_quest(12319) == 0)
- setquest 12319;// Amdarais Hunt
- if (isbegin_quest(12320) == 0) {
- setquest 12320;// Time Traveler
- completequest 12320;
- getexp 250000,250000;
- }
- mes "This item has an extraordinary aura with it. Can be very useful for someone special.";
- getitem 6607,1;// Temporal_Crystal
- getitem 6608,1;// Coagulated_Spell
- close3;
- }
- 1@gl_k,150,257,3 script Himelmez#2 4_F_HIMEL,{
- cutin "gl_himel2",2;
- mes "[Himelmez]";
- mes "Don't look at me nervous like that. It will be over soon...";
- close3;
- }
- 1@gl_k,150,257,0 script #Mimelon HIDDEN_WARP_NPC,7,7,{
- end;
- OnTouch_:
- if ('step != 4)
- end;
- 'step = 5;
- disablenpc();
- if ('mode == 1)
- donpcevent instance_npcname("#talkinstance3") + "::OnStart";
- else if ('mode == 2)
- donpcevent instance_npcname("#talkinstance4") + "::OnStart";
- end;
- }
- 1@gl_k,1,1,0 script #talkinstance3 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- initnpctimer;
- 'npc_himelmez2$ = instance_npcname("Himelmez#2");
- 'npc_heinrich4$ = instance_npcname("Heinrich#4");
- end;
- OnTimer3000:
- npctalk "Himelmez: Guess you are either lucky or powerful to make it this far.", 'npc_himelmez2$;
- end;
- OnTimer6000:
- npctalk "Himelmez: But it doesn't matter.", 'npc_himelmez2$;
- end;
- OnTimer9000:
- npctalk "Himelmez: You will all die here.", 'npc_himelmez2$;
- end;
- OnTimer12000:
- npctalk "Heinrich: Himelmez! We will not let you get away from us!", 'npc_heinrich4$;
- end;
- OnTimer15000:
- npctalk "Himelmez: Ha ha ha, worry about yourself. You think I am alone here?", 'npc_himelmez2$;
- end;
- OnTimer18000:
- npctalk "Varmundt: Sir Heinrich! I sense something strange and strong coming!", instance_npcname("Varmundt#2");
- end;
- OnTimer21000:
- npctalk "Heinrich: What... These are!", 'npc_heinrich4$;
- end;
- OnTimer24000:
- npctalk "Himelmez: I will go on my way while my new toy entertains you.", 'npc_himelmez2$;
- end;
- OnTimer27000:
- npctalk "Himelmez: Fare well~, hope to see you again sometime, Heinrich.", 'npc_himelmez2$;
- end;
- OnTimer28000:
- disablenpc 'npc_himelmez2$;
- end;
- OnTimer31000:
- npctalk "Heinrich: Sir Varmundt! Help those adventurers. I will go after Himelmez!", 'npc_heinrich4$;
- end;
- OnTimer32000:
- disablenpc 'npc_heinrich4$;
- end;
- OnTimer35000:
- mapannounce 'map_name$[0], "An echoing comes from deep inside of the knight's shrine.", bc_map,0xFFFFFF;
- end;
- OnTimer38000:
- donpcevent instance_npcname("#ghmemorialmob04") + "::OnStart";
- stopnpctimer;
- 'npc_himelmez2$ = 'npc_heinrich4$ = "";
- end;
- }
- 1@gl_k,1,1,0 script #talkinstance4 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- initnpctimer;
- 'npc_himelmez2$ = instance_npcname("Himelmez#2");
- 'npc_heinrich4$ = instance_npcname("Heinrich#4");
- npctalk "Himelmez: Guess you are either lucky or powerful to make it this far.", 'npc_himelmez2$;
- end;
- OnTimer3500:
- disablenpc 'npc_himelmez2$;
- end;
- OnTimer4500:
- npctalk "Heinrich: Sir Varmundt! Help those adventurers. I will go after Himelmez!", 'npc_heinrich4$;
- end;
- OnTimer6500:
- disablenpc 'npc_heinrich4$;
- end;
- OnTimer9500:
- mapannounce 'map_name$[0], "An echoing comes from deep inside of the knight's shrine.", bc_map,0xFFFFFF;
- end;
- OnTimer14500:
- stopnpctimer;
- donpcevent instance_npcname("#ghmemorialmob04") + "::OnStart";
- 'npc_himelmez2$ = 'npc_heinrich4$ = "";
- end;
- }
- 1@gl_k,1,1,0 script #ghmemorialmob04 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#ghmemorialmob04");
- monster 'map_name$[0],150,259,"Corrupted Soul",2475,1, instance_npcname("#ghmemorialmob04") + "::OnMyMobDead";// MG_CORRUPTION_ROOT
- unittalk $@mobid[0],"Grrrrrrhh~~~";
- end;
- OnMyMobDead:
- if (mobcount('map_name$[0], instance_npcname("#ghmemorialmob04") + "::OnMyMobDead") < 1) {
- mapannounce 'map_name$[0], "Opening 2nd floor entrance towards 12 O'clock direction.", bc_map,0xFFFF00;
- npctalk "Varmundt: I collected some items dropped from its body. You can take it from me.", instance_npcname("Varmundt#2");
- enablenpc instance_npcname("#2F Entrance");
- enablenpc instance_npcname("#1 Control");
- enablenpc instance_npcname("#Servanton");
- enablenpc instance_npcname("Heinrich#21");
- enablenpc instance_npcname("Varmundt#21");
- donpcevent instance_npcname("#ghmemorialmob05") + "::OnStart";
- disablenpc instance_npcname("#ghmemorialmob04");
- 'step = 6;
- }
- end;
- }
- 1@gl_k,150,284,0 script #2F Entrance WARPNPC,2,2,{
- end;
- OnTouch:
- if (checkquest(12318,HUNTING) == 2) {
- mes "^0000ffIt seems that you did not receive a reward for clearing the first floor. Talk to Varmundt and receive your reward.^000000";
- close2;
- warp 'map_name$[0],156,256;
- end;
- }
- warp 'map_name$[1],150,46;
- end;
- }
- // Floor 2
- //============================================================
- 2@gl_k,148,67,1 script Heinrich#21 4_M_HEINRICH,{
- mes "[Heinrich]";
- mes "Himelmez's closed space covers everywhere...";
- cutin "gl_heinrich1",2;
- close3;
- }
- 2@gl_k,151,71,7 script Varmundt#21 4_M_BARMUND,{
- mes "[Varmundt]";
- mes "How many times have I done this job? In my dream, I did it over and over again...";
- cutin "gl_barmund2",2;
- close3;
- }
- 2@gl_k,150,66,0 script #Servanton_effect HIDDEN_WARP_NPC,{
- end;
- OnEffect:
- specialeffect EF_LORD;
- end;
- }
- 2@gl_k,150,66,0 script #Servanton HIDDEN_WARP_NPC,7,7,{
- end;
- OnTouch_:
- if ('step != 6)
- end;
- 'step = 7;
- disablenpc();
- if ('mode == 1)
- donpcevent instance_npcname("#talkinstance5") + "::OnStart";
- else if ('mode == 2)
- donpcevent instance_npcname("#talkinstance6") + "::OnStart";
- end;
- }
- 2@gl_k,1,1,0 script #talkinstance5 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- initnpctimer;
- 'npc_heinrich$ = instance_npcname("Heinrich#21");
- 'npc_varmundt$ = instance_npcname("Varmundt#21");
- end;
- OnTimer3000:
- npctalk "Heinrich: This structure was not in the castle before!", 'npc_heinrich$;
- end;
- OnTimer6000:
- npctalk "Varmundt: This is Himelmez's closed space. We blocked each area and aisle.", 'npc_varmundt$;
- end;
- OnTimer9000:
- npctalk "Heinrich: We tried to break it down but it's really strong.", 'npc_heinrich$;
- end;
- OnTimer12000:
- npctalk "Varmundt: Step back. Let me try to dispel the magic.", 'npc_varmundt$;
- end;
- OnTimer15000:
- specialeffect EF_LORD,AREA, instance_npcname("#Servanton_effect");
- disablenpc instance_npcname("#Servanton_effect");
- end;
- OnTimer18000:
- npctalk "Varmundt: I think that part of closed space is broken down.", 'npc_varmundt$;
- end;
- OnTimer21000:
- npctalk "Varmundt: I have never seen this closed space.", 'npc_varmundt$;
- end;
- OnTimer24000:
- npctalk "Varmundt: Himelmez hides stone chains in undead people's body.", 'npc_varmundt$;
- end;
- OnTimer27000:
- npctalk "Varmundt: Maybe this closed space is maintained with these stone chains.", 'npc_varmundt$;
- end;
- OnTimer30000:
- npctalk "Varmundt: If you want to break it, you have to kill one of those who have a stone chain.", 'npc_varmundt$;
- end;
- OnTimer33000:
- npctalk "Varmundt: But we can't recognize who has a stone chain so we have to purify everything.", 'npc_varmundt$;
- end;
- OnTimer36000:
- npctalk "Heinrich: It is inexcusable behavior.", 'npc_heinrich$;
- end;
- OnTimer39000:
- npctalk "Heinrich: I already exterminated all my soldiers and maybe more...", 'npc_heinrich$;
- end;
- OnTimer42000:
- npctalk "Varmundt: Commander...", 'npc_varmundt$;
- end;
- OnTimer45000:
- npctalk "Varmundt: Commander! You need to be strong.", 'npc_varmundt$;
- end;
- OnTimer48000:
- npctalk "Varmundt: Our enemy is not human.", 'npc_varmundt$;
- end;
- OnTimer51000:
- npctalk "Varmundt: Even though you deny it, they'll never turn back to human.", 'npc_varmundt$;
- end;
- OnTimer54000:
- npctalk "Heinrich: ...", 'npc_heinrich$;
- end;
- OnTimer57000:
- npctalk "Varmundt: Well, let's go then.", 'npc_varmundt$;
- end;
- OnTimer60000:
- npctalk "Varmundt: And you guys, just take a break and follow us.", 'npc_varmundt$;
- end;
- OnTimer63000:
- npctalk "Varmundt: It could be hard fighting so stay strong.", 'npc_varmundt$;
- end;
- OnTimer66000:
- npctalk "Varmundt: Ok, it's time to begin Heinrich.", 'npc_varmundt$;
- end;
- OnTimer69000:
- mapannounce 'map_name$[1], "A portal to the west has opened in the central hallway.", bc_map,0xFFFF00;
- disablenpc 'npc_varmundt$;
- disablenpc 'npc_heinrich$;
- stopnpctimer;
- 'npc_varmundt$ = 'npc_heinrich$ = "";
- enablenpc instance_npcname("#22 Control");
- enablenpc instance_npcname("#22 Control2");
- end;
- }
- 2@gl_k,1,1,0 script #talkinstance6 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- initnpctimer;
- 'npc_heinrich$ = instance_npcname("Heinrich#21");
- 'npc_varmundt$ = instance_npcname("Varmundt#21");
- npctalk "Heinrich: This structure was not in the castle before!", 'npc_heinrich$;
- end;
- OnTimer2000:
- npctalk "Varmundt: Ok, it's time to begin Heinrich.", 'npc_varmundt$;
- end;
- OnTimer3500:
- stopnpctimer;
- mapannounce 'map_name$[1], "A portal to the west has opened in the central hallway.", bc_map,0xFFFF00;
- disablenpc 'npc_varmundt$;
- disablenpc 'npc_heinrich$;
- 'npc_varmundt$ = 'npc_heinrich$ = "";
- enablenpc instance_npcname("#22 Control");
- enablenpc instance_npcname("#22 Control2");
- end;
- }
- // Spots
- // Note: timer is the only condition for them to respawn
- 2@gl_k,118,141,0 script #ogh_2-1 HIDDEN_WARP_NPC,20,20,{
- end;
- OnTouch_:
- disablenpc();
- .@hidden_name$ = strnpcinfo(2);
- .@event_type = atoi( charat(.@hidden_name$,4) );
- .@event_number = atoi( charat(.@hidden_name$,6) );
- if (.@event_type == 2)
- .@event$ = instance_npcname("#ghmemorialmob05") + "::OnMyMobDead" + .@event_number; // left side
- else
- .@event$ = instance_npcname("#ghmemorialmob06") + "::OnMyMobDead" + .@event_number; // right side
- killmonster 'map_name$[1], .@event$;
- getmapxy .@map$,.@x,.@y, BL_NPC;
- monster .@map$,.@x,.@y, "Corrupted Palace Guard", 2468,1, .@event$;
- monster .@map$,.@x,.@y, "Archer of Death", 2469,1, .@event$;
- monster .@map$,.@x,.@y, "Corrupted Abysmal Knight", 2470,1, .@event$;
- monster .@map$,.@x,.@y, "Suffered Khalitzburg", 2471,1, .@event$;
- monster .@map$,.@x,.@y, "Bloody Knight", 2472,1, .@event$;
- initnpctimer;
- end;
- OnTimer30000:
- enablenpc();
- stopnpctimer;
- end;
- OnStop:
- disablenpc();
- stopnpctimer;
- end;
- }
- 2@gl_k,128,81,0 duplicate(#ogh_2-1) #ogh_2-2 HIDDEN_WARP_NPC,20,20
- 2@gl_k,131,54,0 duplicate(#ogh_2-1) #ogh_2-3 HIDDEN_WARP_NPC,20,20
- 2@gl_k,89,48,0 duplicate(#ogh_2-1) #ogh_2-4 HIDDEN_WARP_NPC,20,20
- 2@gl_k,64,117,0 duplicate(#ogh_2-1) #ogh_2-5 HIDDEN_WARP_NPC,20,20
- 2@gl_k,62,82,0 duplicate(#ogh_2-1) #ogh_2-6 HIDDEN_WARP_NPC,20,20
- 2@gl_k,38,138,0 duplicate(#ogh_2-1) #ogh_2-7 HIDDEN_WARP_NPC,20,20
- 2@gl_k,171,120,0 duplicate(#ogh_2-1) #ogh_3-1 HIDDEN_WARP_NPC,20,20
- 2@gl_k,232,133,0 duplicate(#ogh_2-1) #ogh_3-2 HIDDEN_WARP_NPC,20,20
- 2@gl_k,256,149,0 duplicate(#ogh_2-1) #ogh_3-3 HIDDEN_WARP_NPC,20,20
- 2@gl_k,212,106,0 duplicate(#ogh_2-1) #ogh_3-4 HIDDEN_WARP_NPC,20,20
- 2@gl_k,243,73,0 duplicate(#ogh_2-1) #ogh_3-5 HIDDEN_WARP_NPC,20,20
- 2@gl_k,229,26,0 duplicate(#ogh_2-1) #ogh_3-6 HIDDEN_WARP_NPC,20,20
- 2@gl_k,181,34,0 duplicate(#ogh_2-1) #ogh_3-7 HIDDEN_WARP_NPC,20,20
- // Commander 1
- 2@gl_k,1,1,0 script #ghmemorialmob05 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#ghmemorialmob05");
- for ( .@i = 1; .@i <= 7; .@i++ )
- enablenpc instance_npcname("#ogh_2-" + .@i);
- end;
- OnMyMobDead1:
- OnMyMobDead2:
- OnMyMobDead3:
- OnMyMobDead4:
- OnMyMobDead5:
- OnMyMobDead6:
- OnMyMobDead7:
- if (mobcount('map_name$[1], instance_npcname("#ghmemorialmob05") + "::OnBossDead") > 0) // Prevent boss re-spawn
- end;
- if ('mode == 2) // Higher (but unknown) spawn rate in fast mode
- .@r = 10;
- else
- .@r = 50;
- if (rand(.@r) == 0) {
- mapannounce 'map_name$[1], "Evil Forces are appearing in this area.", bc_map,0xFFFF44,FW_NORMAL,15;
- killmonster 'map_name$[1], instance_npcname("#ghmemorialmob05") + "::OnBossDead";
- .@r = rand(4) * 2;
- setarray .@coord[0], 41,146, 58,44, 122,148, 131,64;
- monster 'map_name$[1],.@coord[.@r],.@coord[.@r+1], "1st Commander of Destruction",2473,1, instance_npcname("#ghmemorialmob05") + "::OnBossDead";
- }
- end;
- OnBossDead:
- disablenpc();
- mapannounce 'map_name$[1], "A portal has opened to the east in the central hallway.", bc_map,0xFFFF00;
- enablenpc instance_npcname("#23 Control");
- enablenpc instance_npcname("#23 Control2");
- donpcevent instance_npcname("#ghmemorialmob06") + "::OnStart";
- // Event stopped and monsters in this sector killed
- for ( .@i = 1; .@i <= 7; .@i++ )
- donpcevent instance_npcname("#ogh_2-" + .@i) + "::OnStop";
- .@npc_name$ = instance_npcname("#ghmemorialmob05");
- for ( .@i = 1; .@i <= 7; .@i++ )
- killmonster 'map_name$[1], .@npc_name$ + "::OnMyMobDead" + .@i;
- end;
- }
- // Commander 2
- 2@gl_k,1,1,0 script #ghmemorialmob06 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#ghmemorialmob06");
- for ( .@i = 1; .@i <= 7; .@i++ )
- enablenpc instance_npcname("#ogh_3-" + .@i);
- // Fix spawn
- .@label$ = instance_npcname("#ghmemorialmob06") + "::OnMyMobDead";
- monster 'map_name$[1],252, 75, "Corrupted Palace Guard",2468,1, .@label$;
- monster 'map_name$[1],253, 76, "Corrupted Palace Guard",2468,1, .@label$;
- monster 'map_name$[1],247, 77, "Corrupted Palace Guard",2468,1, .@label$;
- monster 'map_name$[1],248, 80, "Corrupted Palace Guard",2468,1, .@label$;
- monster 'map_name$[1],236,100, "Corrupted Palace Guard",2468,1, .@label$;
- monster 'map_name$[1],240,100, "Corrupted Palace Guard",2468,1, .@label$;
- monster 'map_name$[1],242,100, "Corrupted Palace Guard",2468,1, .@label$;
- monster 'map_name$[1],244,100, "Corrupted Palace Guard",2468,1, .@label$;
- monster 'map_name$[1],199,111, "Corrupted Palace Guard",2468,1, .@label$;
- monster 'map_name$[1],181,107, "Wandering Archer",2469,1, .@label$;
- monster 'map_name$[1],177,110, "Wandering Archer",2469,1, .@label$;
- monster 'map_name$[1],236, 27, "Wandering Archer",2469,1, .@label$;
- monster 'map_name$[1],242, 27, "Wandering Archer",2469,1, .@label$;
- monster 'map_name$[1],252, 26, "Wandering Archer",2469,1, .@label$;
- monster 'map_name$[1],172,130, "Wandering Archer",2469,1, .@label$;
- monster 'map_name$[1],171,127, "Wandering Archer",2469,1, .@label$;
- monster 'map_name$[1],173,127, "Wandering Archer",2469,1, .@label$;
- monster 'map_name$[1],177, 69, "Corrupted Abysmal Knight",2470,1, .@label$;
- monster 'map_name$[1],186, 66, "Corrupted Abysmal Knight",2470,1, .@label$;
- monster 'map_name$[1],189, 67, "Corrupted Abysmal Knight",2470,1, .@label$;
- monster 'map_name$[1],190, 68, "Corrupted Abysmal Knight",2470,1, .@label$;
- monster 'map_name$[1],257,157, "Corrupted Abysmal Knight",2470,1, .@label$;
- monster 'map_name$[1],246,159, "Corrupted Abysmal Knight",2470,1, .@label$;
- monster 'map_name$[1],237,158, "Corrupted Abysmal Knight",2470,1, .@label$;
- monster 'map_name$[1],206,159, "Corrupted Abysmal Knight",2470,1, .@label$;
- monster 'map_name$[1],172,120, "Corrupted Abysmal Knight",2470,1, .@label$;
- monster 'map_name$[1],226, 30, "Suffered Khalitzburg",2471,1, .@label$;
- monster 'map_name$[1],226, 38, "Suffered Khalitzburg",2471,1, .@label$;
- monster 'map_name$[1],228, 29, "Suffered Khalitzburg",2471,1, .@label$;
- monster 'map_name$[1],226, 63, "Suffered Khalitzburg",2471,1, .@label$;
- monster 'map_name$[1],268,137, "Suffered Khalitzburg",2471,1, .@label$;
- monster 'map_name$[1],263,138, "Suffered Khalitzburg",2471,1, .@label$;
- monster 'map_name$[1],259,138, "Suffered Khalitzburg",2471,1, .@label$;
- monster 'map_name$[1],259,138, "Suffered Khalitzburg",2471,1, .@label$;
- monster 'map_name$[1],187,121, "Suffered Khalitzburg",2471,1, .@label$;
- monster 'map_name$[1],265, 52, "Bloody Knight",2472,1, .@label$;
- monster 'map_name$[1],265, 55, "Bloody Knight",2472,1, .@label$;
- monster 'map_name$[1],264, 79, "Bloody Knight",2472,1, .@label$;
- monster 'map_name$[1],225, 92, "Bloody Knight",2472,1, .@label$;
- monster 'map_name$[1],237, 92, "Bloody Knight",2472,1, .@label$;
- monster 'map_name$[1],249, 92, "Bloody Knight",2472,1, .@label$;
- monster 'map_name$[1],256, 93, "Bloody Knight",2472,1, .@label$;
- monster 'map_name$[1],264,100, "Bloody Knight",2472,1, .@label$;
- monster 'map_name$[1],181,120, "Bloody Knight",2472,1, .@label$;
- end;
- OnMyMobDead:
- OnMyMobDead1:
- OnMyMobDead2:
- OnMyMobDead3:
- OnMyMobDead4:
- OnMyMobDead5:
- OnMyMobDead6:
- OnMyMobDead7:
- if (mobcount('map_name$[1], instance_npcname("#ghmemorialmob06") + "::OnBossDead") > 0) // Prevent boss re-spawn
- end;
- if ('mode == 2) // Higher (but unknown) spawn rate in fast mode
- .@r = 10;
- else
- .@r = 50;
- if (rand(.@r) == 0) {
- mapannounce 'map_name$[1], "An evil presence has teleported into this area.", bc_map,0xFFFF44,FW_NORMAL,15;
- killmonster 'map_name$[1], instance_npcname("#ghmemorialmob06") + "::OnBossDead";
- .@r = rand(4) * 2;
- setarray .@coord[0], 166,119, 211,45, 227,139, 245,74;
- monster 'map_name$[1],.@coord[.@r],.@coord[.@r+1], "2nd Commander of Destruction",2474,1, instance_npcname("#ghmemorialmob06") + "::OnBossDead";
- }
- end;
- OnBossDead:
- disablenpc();
- mapannounce 'map_name$[1], "A new portal has appeared at the end of the central corridor.", bc_map,0xFFFF00;
- enablenpc instance_npcname("#24 Control");
- enablenpc instance_npcname("#24 Control2");
- enablenpc instance_npcname("#Geron");
- for ( .@i = 1; .@i <= 35; .@i++ )
- enablenpc instance_npcname("Decomposed body#" + .@i);
- // Event stopped and monsters in this sector killed
- for ( .@i = 1; .@i <= 7; .@i++ )
- donpcevent instance_npcname("#ogh_3-" + .@i) + "::OnStop";
- .@npc_name$ = instance_npcname("#ghmemorialmob06");
- killmonster 'map_name$[1], .@npc_name$ + "::OnMyMobDead";
- for ( .@i = 1; .@i <= 7; .@i++ )
- killmonster 'map_name$[1], .@npc_name$ + "::OnMyMobDead" + .@i;
- // Hidden mobs
- setarray .@coord[0],
- 37,265, 57,265, 77,265, 97,265, 117,265, 188,264, 208,264,
- 50,172, 70,172, 90,172, 110,172, 170,172, 210,172, 230,172,
- 88,214, 108,214, 128,214, 180,219, 200,219, 220,219, 240,219;
- .@size = getarraysize(.@coord);
- for ( .@i = 0; .@i < .@size; .@i += 2 )
- monster 'map_name$[1], .@coord[.@i], .@coord[.@i+1], "Flame of destruction",2337,1;// HIDDEN_MOB
- end;
- }
- // Amdarais Room Entrance
- 2@gl_k,150,180,0 script #Geron HIDDEN_WARP_NPC,7,7,{
- end;
- OnTouch_:
- if ('step != 7)
- end;
- 'step = 8;
- disablenpc instance_npcname("#Geron");
- mapannounce 'map_name$[1], "???: Do not come here! It's a trap... Kkkkah!!!", bc_map,0xFF7777,FW_NORMAL,15;
- enablenpc instance_npcname("Himelmez#22");
- enablenpc instance_npcname("Varmundt#23");
- enablenpc instance_npcname("Heinrich#23");
- enablenpc instance_npcname("Gerhalt#23");
- end;
- }
- 2@gl_k,143,260,4 script Decomposed body#1 4_M_DIEMAN,5,5,{
- end;
- OnTouch_:
- disablenpc();
- .@i = rand(1,10);
- if (.@i == 1) .@mobs = 3;
- else if (.@i == 2) .@mobs = 4;
- else if (.@i == 3) .@mobs = 5;
- else if (.@i < 7) .@mobs = 6;
- else .@mobs = 7;
- .@event$ = instance_npcname( strnpcinfo(0) ) + "::OnMobDead";
- killmonster 'map_name$[1], .@event$;
- getmapxy .@map$,.@x,.@y, BL_NPC;
- specialeffect EF_VENOMDUST;
- monster .@map$,.@x,.@y,"Maggot",2467,.@mobs, .@event$;
- initnpctimer;
- end;
- OnTimer45000:
- enablenpc();
- stopnpctimer;
- end;
- OnMobDead:
- end;
- }
- 2@gl_k,145,236,4 duplicate(Decomposed body#1) Decomposed body#2 4_M_DIEMAN,5,5
- 2@gl_k,141,222,2 duplicate(Decomposed body#1) Decomposed body#3 4_M_DIEMAN,5,5
- 2@gl_k,147,203,5 duplicate(Decomposed body#1) Decomposed body#4 4_M_DIEMAN,5,5
- 2@gl_k,167,225,4 duplicate(Decomposed body#1) Decomposed body#5 4_M_DIEMAN,5,5
- 2@gl_k,172,233,2 duplicate(Decomposed body#1) Decomposed body#6 4_M_DIEMAN,5,5
- 2@gl_k,176,244,3 duplicate(Decomposed body#1) Decomposed body#7 4_M_DIEMAN,5,5
- 2@gl_k,184,248,6 duplicate(Decomposed body#1) Decomposed body#8 4_M_DIEMAN,5,5
- 2@gl_k,193,228,0 duplicate(Decomposed body#1) Decomposed body#9 4_M_DIEMAN,5,5
- 2@gl_k,206,250,7 duplicate(Decomposed body#1) Decomposed body#10 4_M_DIEMAN,5,5
- 2@gl_k,130,249,1 duplicate(Decomposed body#1) Decomposed body#11 4_M_DIEMAN,5,5
- 2@gl_k,122,236,5 duplicate(Decomposed body#1) Decomposed body#12 4_M_DIEMAN,5,5
- 2@gl_k,130,228,7 duplicate(Decomposed body#1) Decomposed body#13 4_M_DIEMAN,5,5
- 2@gl_k,106,226,0 duplicate(Decomposed body#1) Decomposed body#14 4_M_DIEMAN,5,5
- 2@gl_k,104,245,0 duplicate(Decomposed body#1) Decomposed body#15 4_M_DIEMAN,5,5
- 2@gl_k,131,187,0 duplicate(Decomposed body#1) Decomposed body#16 4_M_DIEMAN,5,5
- 2@gl_k,121,197,0 duplicate(Decomposed body#1) Decomposed body#17 4_M_DIEMAN,5,5
- 2@gl_k,107,194,0 duplicate(Decomposed body#1) Decomposed body#18 4_M_DIEMAN,5,5
- 2@gl_k,92,187,0 duplicate(Decomposed body#1) Decomposed body#19 4_M_DIEMAN,5,5
- 2@gl_k,153,214,3 duplicate(Decomposed body#1) Decomposed body#20 4_M_DIEMAN,5,5
- 2@gl_k,155,195,4 duplicate(Decomposed body#1) Decomposed body#21 4_M_DIEMAN,5,5
- 2@gl_k,154,188,2 duplicate(Decomposed body#1) Decomposed body#22 4_M_DIEMAN,5,5
- 2@gl_k,143,195,5 duplicate(Decomposed body#1) Decomposed body#23 4_M_DIEMAN,5,5
- 2@gl_k,132,214,4 duplicate(Decomposed body#1) Decomposed body#24 4_M_DIEMAN,5,5
- 2@gl_k,125,208,2 duplicate(Decomposed body#1) Decomposed body#25 4_M_DIEMAN,5,5
- 2@gl_k,114,210,3 duplicate(Decomposed body#1) Decomposed body#26 4_M_DIEMAN,5,5
- 2@gl_k,137,182,6 duplicate(Decomposed body#1) Decomposed body#27 4_M_DIEMAN,5,5
- 2@gl_k,138,246,0 duplicate(Decomposed body#1) Decomposed body#28 4_M_DIEMAN,5,5
- 2@gl_k,132,260,7 duplicate(Decomposed body#1) Decomposed body#29 4_M_DIEMAN,5,5
- 2@gl_k,128,251,1 duplicate(Decomposed body#1) Decomposed body#30 4_M_DIEMAN,5,5
- 2@gl_k,179,260,3 duplicate(Decomposed body#1) Decomposed body#31 4_M_DIEMAN,5,5
- 2@gl_k,170,261,4 duplicate(Decomposed body#1) Decomposed body#32 4_M_DIEMAN,5,5
- 2@gl_k,177,219,2 duplicate(Decomposed body#1) Decomposed body#33 4_M_DIEMAN,5,5
- 2@gl_k,190,214,5 duplicate(Decomposed body#1) Decomposed body#34 4_M_DIEMAN,5,5
- 2@gl_k,201,214,4 duplicate(Decomposed body#1) Decomposed body#35 4_M_DIEMAN,5,5
- // Amdarais Spawn
- 2@gl_k,153,250,8 script Heinrich#23 4_M_HEINRICH,{
- cutin "gl_heinrich1",2;
- mes "[Heinrich]";
- mes "What are you putting on Himelmez!";
- close3;
- }
- 2@gl_k,162,250,1 script Varmundt#23 4_M_BARMUND,{
- mes "[Varmundt]";
- mes "Can't take off this bridle...";
- cutin "gl_barmund2",2;
- close3;
- }
- 2@gl_k,158,255,1 script Gerhalt#23 4_LEVITATEMAN,{
- mes "[Gerhalt]";
- mes "Uuuuu... Khhhah! Just run away with the commander.";
- close;
- }
- 2@gl_k,158,252,1 script Himelmez#22 4_F_HIMEL,3,3,{
- cutin "gl_himel2",2;
- mes "[Himelmez]";
- mes "That is amazing ~ you made it all the way here. May I say thank you?";
- close3;
- OnTouch_:
- if ('step != 8)
- end;
- 'step = 9;
- disablenpc();
- if ('mode == 1)
- donpcevent instance_npcname("#talkinstance7") + "::OnStart";
- else if ('mode == 2)
- donpcevent instance_npcname("#talkinstance8") + "::OnStart";
- end;
- }
- 2@gl_k,1,1,0 script #talkinstance7 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("Himelmez#23");
- initnpctimer;
- 'npc_himelmez$ = instance_npcname("Himelmez#23");
- 'npc_gerhalt$ = instance_npcname("Gerhalt#23");
- 'npc_heinrich$ = instance_npcname("Heinrich#23");
- 'npc_varmundt$ = instance_npcname("Varmundt#23");
- end;
- OnTimer3000:
- npctalk "Himelmez: Amazing~ I thought that you were not even close to getting here...", 'npc_himelmez$;
- end;
- OnTimer6000:
- npctalk "Gerhalt: Kkkkah! Run away! I can't endure anymore!", 'npc_gerhalt$;
- end;
- OnTimer9000:
- npctalk "Heinrich: Gerhalt!", 'npc_heinrich$;
- end;
- OnTimer15000:
- npctalk "Heinrich: What are you doing to my soldier Himelmez!", 'npc_heinrich$;
- end;
- OnTimer18000:
- npctalk "Himelmez: Hoo hoo, I already found a piece of Ymir's heart, Heinrich.", 'npc_himelmez$;
- end;
- OnTimer21000:
- npctalk "Himelmez: If he did not bother me it would have been faster.", 'npc_himelmez$;
- end;
- OnTimer24000:
- npctalk "Gerhalt: Commandant... Come on, you need to run away from here... Ugh.", 'npc_gerhalt$;
- end;
- OnTimer27000:
- npctalk "Himelmez: Really? What makes you think so?", 'npc_himelmez$;
- end;
- OnTimer30000:
- npctalk "Heinrich: Himelmez! You already made what you wanted so there is no more need for a sacrifice!", 'npc_heinrich$;
- end;
- OnTimer33000:
- npctalk "Heinrich: Let him go! I don't need to see anyone else suffer!", 'npc_heinrich$;
- end;
- OnTimer36000:
- npctalk "Himelmez: Let him go? I think... No...", 'npc_himelmez$;
- end;
- OnTimer39000:
- npctalk "Himelmez: Besides, this is your last surviving soldier, Heinrich.", 'npc_himelmez$;
- end;
- OnTimer42000:
- npctalk "Himelmez: He made life difficult for me.", 'npc_himelmez$;
- end;
- OnTimer45000:
- npctalk "Himelmez: He is perfectly fit for my new creation Amdarais.", 'npc_himelmez$;
- end;
- OnTimer48000:
- npctalk "Heinrich: I'll never forgive you.", 'npc_heinrich$;
- end;
- OnTimer51000:
- npctalk "Himelmez: Uh uh~ I'm so scared.", 'npc_himelmez$;
- end;
- OnTimer54000:
- npctalk "Himelmez: Anyway, we will have a chance to see because we need to talk more.", 'npc_himelmez$;
- end;
- OnTimer57000:
- npctalk "Himelmez: So long boys.", 'npc_himelmez$;
- end;
- OnTimer60000:
- specialeffect EF_BARRIER, AREA, 'npc_gerhalt$;
- end;
- OnTimer63000:
- disablenpc 'npc_himelmez$;
- end;
- OnTimer65000:
- npctalk "Gerhalt: You can make my body but you can't take my soul, Himelmez!", 'npc_gerhalt$;
- end;
- OnTimer66000:
- specialeffect EF_CHAINCOMBO, AREA, 'npc_gerhalt$;
- end;
- OnTimer67000:
- npctalk "Heinrich: I'll never let you get away Himelmez!!", 'npc_heinrich$;
- specialeffect EF_MAPPILLAR, AREA, 'npc_gerhalt$;
- end;
- OnTimer70000:
- specialeffect EF_MAPPILLAR2, AREA, 'npc_gerhalt$;
- specialeffect EF_MAPPILLAR, AREA, 'npc_gerhalt$;
- disablenpc 'npc_heinrich$;
- npctalk "Varmundt: We have no choice. We have to fight against Amdarais!", 'npc_varmundt$;
- end;
- OnTimer73000:
- mapannounce 'map_name$[1], "Gerhalt's body is changing.", bc_map,0xFFFFFF;
- end;
- OnTimer76000:
- specialeffect EF_LORD, AREA, 'npc_gerhalt$;
- disablenpc 'npc_varmundt$;
- mapannounce 'map_name$[1], "Varmundt: Let me help this battle with my illusion. Just follow the illusion's orders.", bc_map,0xFFFF00;
- end;
- OnTimer80000:
- disablenpc 'npc_gerhalt$;
- donpcevent instance_npcname("#ghmemorialmob07") + "::OnStart";
- stopnpctimer;
- 'npc_himelmez$ = 'npc_gerhalt$ = 'npc_heinrich$ = 'npc_varmundt$ = "";
- end;
- }
- 2@gl_k,1,1,0 script #talkinstance8 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("Himelmez#23");
- initnpctimer;
- 'npc_himelmez$ = instance_npcname("Himelmez#23");
- 'npc_gerhalt$ = instance_npcname("Gerhalt#23");
- 'npc_heinrich$ = instance_npcname("Heinrich#23");
- 'npc_varmundt$ = instance_npcname("Varmundt#23");
- npctalk "Himelmez: Amazing~ I thought that you were not even close to getting here...", 'npc_himelmez$;
- end;
- OnTimer1500:
- specialeffect EF_BARRIER, AREA, 'npc_gerhalt$;
- end;
- OnTimer3500:
- specialeffect EF_MAPPILLAR, AREA, 'npc_gerhalt$;
- end;
- OnTimer5000:
- specialeffect EF_MAPPILLAR2, AREA, 'npc_gerhalt$;
- end;
- OnTimer5500:
- disablenpc 'npc_himelmez$;
- end;
- OnTimer7000:
- specialeffect EF_CHAINCOMBO, AREA, 'npc_gerhalt$;
- end;
- OnTimer10000:
- npctalk "Heinrich: I'll never let you get away Himelmez!!", 'npc_heinrich$;
- end;
- OnTimer11000:
- disablenpc 'npc_heinrich$;
- npctalk "Varmundt: We have no choice. We have to fight against Amdarais!", 'npc_varmundt$;
- end;
- OnTimer14000:
- specialeffect EF_MAPPILLAR2, AREA, 'npc_gerhalt$;
- specialeffect EF_MAPPILLAR, AREA, 'npc_gerhalt$;
- end;
- OnTimer14500:
- mapannounce 'map_name$[1], "Gerhalt's body is changing.", bc_map,0xFFFFFF;
- end;
- OnTimer15500:
- disablenpc 'npc_varmundt$;
- mapannounce 'map_name$[1], "Varmundt: Let me help this battle with my illusion. Just follow the illusion's orders.", bc_map,0xFFFF00;
- end;
- OnTimer17500:
- specialeffect EF_LORD, AREA, 'npc_gerhalt$;
- end;
- OnTimer20500:
- stopnpctimer;
- disablenpc 'npc_gerhalt$;
- donpcevent instance_npcname("#ghmemorialmob07") + "::OnStart";
- 'npc_himelmez$ = 'npc_gerhalt$ = 'npc_heinrich$ = 'npc_varmundt$ = "";
- end;
- }
- 2@gl_k,158,252,4 script Himelmez#23 4_F_HIMEL,{
- cutin "gl_himel2",2;
- mes "[Himelmez]";
- mes "That is amazing ~ you made it all the way here. May I say thank you?";
- close3;
- }
- 2@gl_k,1,1,0 script #ghmemorialmob07 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#ghmemorialmob07");
- monster 'map_name$[1],158,255,"Amdarais",2476,1,instance_npcname("#ghmemorialmob07") + "::OnMyMobDead";// MG_AMDARAIS
- 'boss_id = $@mobid[0];
- unittalk 'boss_id, "Run away... run away from me...";
- initnpctimer;
- end;
- OnTimer5000:
- unittalk 'boss_id, "I don't want... I don't want to kill anyone. Uhuuuuuh";
- end;
- OnTimer10000:
- unittalk 'boss_id, "Please kill me! Please!";
- end;
- OnTimer16000:
- unittalk 'boss_id, "Eeeeee...eee...die... die...";
- end;
- OnTimer22000:
- unittalk 'boss_id, "Demolition... Death!...";
- end;
- OnTimer55000:
- donpcevent instance_npcname("#ghmemorialmob08") + "::OnStart";// Varmundt buffs and additionnal monsters
- stopnpctimer;
- end;
- OnMyMobDead:
- if (mobcount('map_name$[1], instance_npcname("#ghmemorialmob07") + "::OnMyMobDead") < 1) {
- stopnpctimer;
- enablenpc instance_npcname("Hugin#21");
- enablenpc instance_npcname("#Secret Room Exit");
- stopnpctimer;
- disablenpc instance_npcname("#ghmemorialmob07");
- // note: monsters from #ghmemorialmob08 still alive on Amdarais's dead
- }
- end;
- }
- // Varmundt Buffs
- 2@gl_k,1,1,0 script #ghmemorialmob08 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#ghmemorialmob08");
- initnpctimer;
- end;
- OnTimer5000:
- if (unitexists('boss_id) == 0) {
- disablenpc instance_npcname("#ghmemorialmob08");
- stopnpctimer;
- end;
- }
- getunitdata 'boss_id, .@data;
- .@percent_hp = (.@data[UMOB_HP] * 100) / .@data[UMOB_MAXHP];
- mapannounce 'map_name$[1], "Amdarais HP " + .@percent_hp + "% reach!", bc_map,0x70DBDB;
- // event type every 10%
- switch( .@percent_hp / 10 ) {
- case 10:
- break;
- case 9:
- donpcevent instance_npcname("Varmundt's Ghost#Buff2") + "::OnEvent";
- break;
- case 8:
- donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
- areamonster 'map_name$[1],140,220,175,255,"Suffered Khalitzburg",2471,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
- break;
- case 7:
- donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
- areamonster 'map_name$[1],140,220,175,255,"Abysmal Knight",2470,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
- break;
- case 6:
- donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
- areamonster 'map_name$[1],140,220,175,255,"Bloody Knight",2472,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
- break;
- case 5:
- donpcevent instance_npcname("Varmundt's Ghost#Buff2") + "::OnEvent";
- break;
- case 4:
- donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
- areamonster 'map_name$[1],140,220,175,255,"Wandering Archer",2469,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
- break;
- case 3:
- donpcevent instance_npcname("Varmundt's Ghost#Buff1") + "::OnEvent";
- donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
- areamonster 'map_name$[1],140,220,175,255,"Bloody Knight",2472,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
- break;
- case 2:
- donpcevent instance_npcname("Varmundt's Ghost#Buff1") + "::OnEvent";
- donpcevent instance_npcname("Varmundt's Ghost#Buff3") + "::OnEvent";
- areamonster 'map_name$[1],140,220,175,255,"Abysmal Knight",2470,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
- break;
- case 1:
- case 0:
- donpcevent instance_npcname("Varmundt's Ghost#Buff1") + "::OnEvent";
- donpcevent instance_npcname("Varmundt's Ghost#Buff4") + "::OnEvent";
- areamonster 'map_name$[1],140,220,175,255,"Wandering Archer",2469,6, instance_npcname("#ghmemorialmob08") + "::OnMobDead";
- break;
- }
- end;
- OnTimer30000:
- killmonster 'map_name$[1], instance_npcname("#ghmemorialmob08") + "::OnMobDead";
- initnpctimer;
- end;
- OnMobDead:
- end;
- }
- 2@gl_k,150,247,5 script Varmundt's Ghost#Buff1 4_M_BARMUND,2,2,{
- end;
- OnTouch:
- specialeffect2 EF_ENHANCE;
- .@num = atoi( replacestr(strnpcinfo(2), "Buff", "") );
- if (.@num == 1)
- sc_start SC_GLASTHEIM_HIDDEN,30000,1,10000,SCSTART_NOTICKDEF;
- else if (.@num == 2)
- sc_start SC_GLASTHEIM_STATE,30000,1,10000,SCSTART_NOTICKDEF;
- else if (.@num == 3) {
- sc_start SC_GLASTHEIM_HEAL,30000,1,10000,SCSTART_NOTICKDEF;
- sc_start SC_GLASTHEIM_HPSP,30000,1,10000,SCSTART_NOTICKDEF;
- }
- else {
- sc_start SC_GLASTHEIM_DEF,30000,1,10000,SCSTART_NOTICKDEF;
- sc_start SC_GLASTHEIM_ITEMDEF,30000,1,10000,SCSTART_NOTICKDEF;
- }
- end;
- OnEvent:
- initnpctimer;
- enablenpc();
- .@num = atoi( replacestr(strnpcinfo(2), "Buff", "") );
- if (.@num == 1)
- npctalk "Varmundt's Ghost: Amdarais may use a strong magic shield! Stay close to me and I'll protect you!";
- else if (.@num == 2)
- npctalk "Varmundt's Ghost: Now's a chance to attack! Come closer to me and strike!";
- else if (.@num == 3)
- npctalk "Varmundt's Ghost: If you don't want to be attacked by Amdarais' zombie, come to me and get more power!";
- else
- npctalk "Varmundt's Ghost: If you don't want to be attacked by Amdarais's power, come to me and get more power!";
- end;
- OnTimer10000:
- stopnpctimer;
- disablenpc();
- end;
- }
- 2@gl_k,165,247,3 duplicate(Varmundt's Ghost#Buff1) Varmundt's Ghost#Buff2 4_M_BARMUND,2,2
- 2@gl_k,150,232,8 duplicate(Varmundt's Ghost#Buff1) Varmundt's Ghost#Buff3 4_M_BARMUND,2,2
- 2@gl_k,165,232,2 duplicate(Varmundt's Ghost#Buff1) Varmundt's Ghost#Buff4 4_M_BARMUND,2,2
- 2@gl_k,158,241,1 script Hugin#21 4_M_SAGE_C,{
- if ('step != 9)
- end;
- if (checkquest(12319,HUNTING) == 2) {// note: complete hunting 'Corrupted Soul Hunt' prerequis
- if (checkweight(6607,5, 6608,5) == 0) {
- mes "^ff0000It seems like you have too many types or weights of items. Please organize your inventory.^000000";
- close;
- }
- mes "[Hugin]";
- mes "Hm, you are very well. First of all, let me give you some loot from Amdarais.";
- erasequest 12319;
- setquest 12322;// Space Distortion
- if (isbegin_quest(12321) == 0) {
- setquest 12321;// Time Conqueror
- completequest 12321;
- getitem 6607,5;// Temporal_Crystal
- getitem 6608,5;// Coagulated_Spell
- getexp 350000,350000;
- }
- else {
- getitem 6607,1;// Temporal_Crystal
- getitem 6608,1;// Coagulated_Spell
- }
- next;
- mes "[Hugin]";
- mes "Varmundt's time is stopped by me.";
- mes "And your time will be distorted soon.";
- specialeffect2 EF_BLIND;
- soundeffect "_blind.wav",0;
- next;
- mes "[Hugin]";
- mes "Maybe this poor time traveler will try to stop Glast Heim's tragedy from happening.";
- next;
- mes "[Hugin]";
- mes "However, we will never overlook his behavior now and forever...";
- next;
- mes "[Hugin]";
- mes "Now let me remove your memory. If you see me again it will be someone new.";
- specialeffect2 EF_FREEZE;
- close2;
- warp 'map_name$[1],158,244;
- end;
- }
- mes "[Hugin]";
- mes "Oops. I almost distorted the time gap. Come over here. We need to go out!";
- next;
- select("You were just with me...");
- mes "[Hugin]";
- mes "What did you say just before?";
- mes "Anyway, that is not important. The gap of time will be closed so we need to get out of here.";
- next;
- if (select("Let me look around more:Please let me out") == 1) {
- mes "[Hugin]";
- mes "Really? This place will be break down soon. Please look around quickly.";
- close;
- }
- close2;
- warp "glast_01",204,270;
- end;
- }
- // Treasure Room
- //============================================================
- 1@gl_k,165,136,3 script Strange crack#2 CLEAR_NPC,{
- if ('step != 9)
- end;
- if (isbegin_quest(12322) == 0) {// Space Distortion
- mes "The crack looks suspicious but nothing more to check.";
- close;
- }
- specialeffect EF_SPELLBREAKER;
- .@random = rand(1,4);
- switch( atoi(strnpcinfo(2)) ) {
- case 2:
- for ( .@i = 1; .@i <= .@random; ++.@i )
- makeitem 719,1,"this",165,138;
- makeitem 6608,1,"this",165,138;
- break;
- case 3:
- for ( .@i = 1; .@i <= .@random; ++.@i )
- makeitem 720,1,"this",159,138;
- if (rand(1,4) == 4)
- makeitem2 15066,1,"this",159,138,0,0,0,0,0,0,0;
- makeitem 6608,1,"this",159,138;
- makeitem 7229,1,"this",159,138;
- break;
- case 4:
- for ( .@i = 1; .@i <= .@random; ++.@i )
- makeitem 721,1,"this",153,138;
- if (rand(1,4) == 4)
- makeitem2 13086,1,"this",153,138,0,0,0,0,0,0,0;
- makeitem 6608,1,"this",153,138;
- makeitem 7230,1,"this",153,138;
- break;
- case 5:
- for ( .@i = 1; .@i <= .@random; ++.@i )
- makeitem 722,1,"this",147,138;
- if (rand(1,4) == 4)
- makeitem2 2949,1,"this",147,138,0,0,0,0,0,0,0;
- makeitem 6612,1,"this",147,138;
- makeitem 6613,1,"this",147,138;
- makeitem 6608,1,"this",147,138;
- break;
- case 6:
- for ( .@i = 1; .@i <= .@random; ++.@i )
- makeitem 725,1,"this",141,138;
- makeitem 7228,1,"this",141,138;
- if (rand(1,4) == 4)
- makeitem2 13440,1,"this",141,138,0,0,0,0,0,0,0;
- makeitem 6608,1,"this",141,138;
- break;
- case 7:
- for ( .@i = 1; .@i <= .@random; ++.@i )
- makeitem 726,1,"this",135,138;
- if (rand(1,4) == 4)
- makeitem2 2022,1,"this",135,138,0,0,0,0,0,0,0;
- makeitem 6608,1,"this",135,138;
- break;
- case 8:
- for ( .@i = 1; .@i <= .@random; ++.@i )
- makeitem 727,1,"this",129,138;
- if (rand(1,4) == 4)
- makeitem2 21007,1,"this",129,138,0,0,0,0,0,0,0;
- makeitem 6608,1,"this",129,138;
- break;
- }
- disablenpc();
- end;
- }
- 1@gl_k,159,136,3 duplicate(Strange crack#2) Strange crack#3 CLEAR_NPC
- 1@gl_k,153,136,3 duplicate(Strange crack#2) Strange crack#4 CLEAR_NPC
- 1@gl_k,147,136,3 duplicate(Strange crack#2) Strange crack#5 CLEAR_NPC
- 1@gl_k,141,136,3 duplicate(Strange crack#2) Strange crack#6 CLEAR_NPC
- 1@gl_k,135,136,3 duplicate(Strange crack#2) Strange crack#7 CLEAR_NPC
- 1@gl_k,129,136,3 duplicate(Strange crack#2) Strange crack#8 CLEAR_NPC
- 1@gl_k,269,267,3 script Strange crack#1 CLEAR_NPC,{
- if (isbegin_quest(12322) == 0) {// Space Distortion
- mes "The crack looks suspicious but nothing more to check.";
- close;
- }
- warp 'map_name$[0],149,198;
- end;
- OnInstanceInit:
- 'step = 0;
- 'mode = 0;
- 'map_name$[0] = instance_mapname("1@gl_k");
- 'map_name$[1] = instance_mapname("2@gl_k");
- // Entrance
- disablenpc instance_npcname("Himelmez#1");
- disablenpc instance_npcname("Varmundt#1");
- disablenpc instance_npcname("Heinrich#1");
- disablenpc instance_npcname("Heinrich#2");
- disablenpc instance_npcname("Heinrich#3");
- // Rescue 1
- disablenpc instance_npcname("#ghmemorialmob01");
- disablenpc instance_npcname("Altar boy Domun#1");
- // Rescue 2
- disablenpc instance_npcname("#ghmemorialmob02");
- disablenpc instance_npcname("Holgren the Destroyer#1");
- for ( .@i = 1; .@i <= 26; .@i++ )
- disablenpc instance_npcname("A dead man#" + .@i);
- // Sector 3
- disablenpc instance_npcname("#ghmemorialmob03");
- // Root of Corruption
- disablenpc instance_npcname("Himelmez#2");
- disablenpc instance_npcname("Varmundt#2");
- disablenpc instance_npcname("Heinrich#4");
- disablenpc instance_npcname("#Mimelon");
- disablenpc instance_npcname("#ghmemorialmob04");
- // Entrance 2nd map
- disablenpc instance_npcname("Varmundt#21");
- disablenpc instance_npcname("Heinrich#21");
- disablenpc instance_npcname("#Servanton");
- hideonnpc instance_npcname("#Servanton_effect");
- // Commanders
- disablenpc instance_npcname("#ghmemorialmob05");
- disablenpc instance_npcname("#ghmemorialmob06");
- for ( .@i = 1; .@i <= 7; .@i++ ) {
- disablenpc instance_npcname("#ogh_2-" + .@i);
- disablenpc instance_npcname("#ogh_3-" + .@i);
- }
- // Amdarais Room Entrance
- disablenpc instance_npcname("#Geron");
- for ( .@i = 1; .@i <= 35; .@i++ )
- disablenpc instance_npcname("Decomposed body#" + .@i);
- // Amdarais Spawn
- disablenpc instance_npcname("Gerhalt#23");
- disablenpc instance_npcname("Himelmez#22");
- disablenpc instance_npcname("Himelmez#23");
- disablenpc instance_npcname("Varmundt#23");
- disablenpc instance_npcname("Heinrich#23");
- disablenpc instance_npcname("#ghmemorialmob07");
- // Varmundt Buffs
- disablenpc instance_npcname("#ghmemorialmob08");
- disablenpc instance_npcname("Varmundt's Ghost#Buff1");
- disablenpc instance_npcname("Varmundt's Ghost#Buff2");
- disablenpc instance_npcname("Varmundt's Ghost#Buff3");
- disablenpc instance_npcname("Varmundt's Ghost#Buff4");
- disablenpc instance_npcname("Hugin#21");
- // Warps
- disablenpc instance_npcname("#2Control");
- disablenpc instance_npcname("#2Control2");
- disablenpc instance_npcname("#3Control");
- disablenpc instance_npcname("#3Control2");
- disablenpc instance_npcname("#4Control");
- disablenpc instance_npcname("#4Control2");
- disablenpc instance_npcname("#2F Entrance");
- disablenpc instance_npcname("#1 Control");
- disablenpc instance_npcname("#22 Control");
- disablenpc instance_npcname("#22 Control2");
- disablenpc instance_npcname("#23 Control");
- disablenpc instance_npcname("#23 Control2");
- disablenpc instance_npcname("#24 Control");
- disablenpc instance_npcname("#24 Control2");
- disablenpc instance_npcname("#Secret Room Exit");
- // Fast mode
- disablenpc instance_npcname("#cut01");
- end;
- }
|