123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224 |
- //===== rAthena Script =======================================
- //= Morse Cave
- //===== Description: =========================================
- //= [Walkthrough Conversion]
- //= Morse Cave Instance
- //===== Changelogs: ==========================================
- //= 1.0 First version. [Capuche]
- //============================================================
- moro_cav,61,69,3 script Senior Tracker#a1 4_M_JOB_ASSASSIN,{
- if (ep14_3_isle == 0) {
- mes "[Senior Tracker]";
- mes "This is our advance base";
- mes "to stop Morocc.";
- mes "I'm a tracker";
- mes "charged with leading my army";
- mes "to Morocc's lair.";
- close;
- }
- switch( checkquest(9319,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "[Senior Tracker]";
- mes "We're nowhere near close";
- mes "to stopping Morocc's resurrection.";
- mes "I can't sleep at night,";
- mes "knowing Morocc is doing everything he can";
- mes "to recover his strength.";
- mes "Could you come back tomorrow?";
- close;
- case 2:
- break;
- }
- switch( isbegin_quest(9318) ) {
- case 0:
- mes "[Senior Tracker]";
- mes "This is our advance base";
- mes "to stop Morocc.";
- mes "I'm a tracker";
- mes "charged with leading my army";
- mes "to Morocc's lair.";
- next;
- mes "[Senior Tracker]";
- mes "After a painstaking search,";
- mes "I've located";
- mes "the place with the highest chance of";
- mes "hiding Morocc inside.";
- next;
- mes "[Senior Tracker]";
- mes "According to my intel,";
- mes "Morocc is hiding out in this place,";
- mes "trying to recover";
- mes "his full strength.";
- next;
- mes "[Senior Tracker]";
- mes "Even though I've located this place myself,";
- mes "I have to admit";
- mes "that I'm not equipped to";
- mes "explore it by myself.";
- mes "I'm a tracker after all, not a fighter.";
- next;
- mes "[Senior Tracker]";
- mes "You look like";
- mes "a warrior spoiling for";
- mes "a good fight with Morocc,";
- mes "and I think";
- mes "you have a chance at winning it.";
- next;
- mes "[Senior Tracker]";
- mes "How'd you like to";
- mes "enter Morocc's lair,";
- mes "defeat him,";
- mes "and become the hero";
- mes "who saved the world from evil?";
- next;
- if (getcharid(1) < 1 || is_party_leader() == false) {
- mes "[Senior Tracker]";
- mes "If you're interested in my proposition,";
- mes "let me talk to your party leader.";
- mes "We'll discuss more details together.";
- close;
- }
- mes "[Senior Tracker]";
- mes "Morocc may not have recovered his full strength, but fighting him still";
- break;
- case 1:
- mes "[Senior Tracker]";
- mes "Finally you're back!";
- mes "What happened in there?";
- next;
- mes "- You relay";
- mes "your experience in the Red Flower. -";
- next;
- mes "[Senior Tracker]";
- mes "So Morocc got away.";
- mes "That's a shame.";
- next;
- if (checkquest(9318,HUNTING) == 2) {
- mes "[Senior Tracker]";
- mes "At least";
- mes "you wiped out";
- mes "his army.";
- mes "That's an accomplishment in itself.";
- next;
- }
- mes "[Senior Tracker]";
- mes "At least we know";
- mes "where he is.";
- mes "Could you come back tomorrow";
- mes "and help me track";
- mes "him down again?";
- mes "I'll be waiting here.";
- if (checkquest(9318,HUNTING) == 2)
- getitem 6684,1; // TokenOfHero
- completequest 9318;// Pursuing Hiding Morocc
- setquest 9319;// Pursuing Hiding Morocc Continues
- close;
- case 2:
- mes "[Senior Tracker]";
- mes "I knew you'd return.";
- mes "You look well-rested.";
- next;
- mes "[Senior Tracker]";
- mes "According to my intel,";
- mes "Morocc is hiding out in this place,";
- mes "recovering his strength.";
- next;
- mes "[Senior Tracker]";
- mes "Fighting Morocc";
- break;
- }
- mes "takes more than a few warriors, no matter how strong they are.";
- mes "I recommend you join forces with";
- mes "as many comrades as you can find.";
- mes "Are you ready to enter the Red Flower";
- mes "where Morocc is believed to be hiding?";
- if (getcharid(1) > 0 && is_party_leader() == true) {
- next;
- if (select( "No.", "Yes." ) == 1) {
- mes "[Senior Tracker]";
- mes "Come back";
- mes "if you change your mind.";
- close;
- }
- mes "[Senior Tracker]";
- mes "The entrance to the Red Flower";
- mes "has opened.";
- mes "It will only stay open for a while.";
- mes "You'd better use it";
- mes "while you can.";
- instance_create("Morse's Cave");
- }
- close;
- }
- moro_cav,57,69,3 script Red Flower#a1 CLEAR_NPC,{
- if (ep14_3_isle == 0) {
- mes "[Senior Tracker]";
- mes "This is our advance base";
- mes "to stop Morocc.";
- mes "I'm a tracker";
- mes "charged with leading my army";
- mes "to Morocc's lair.";
- close;
- }
- if (isbegin_quest(9318) == 1) {
- mes "- The Red Flower is closed.";
- mes "You cannot enter it yet. -";
- close;
- }
- switch( checkquest(9319,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "- The Red Flower is closed.";
- mes "You cannot enter it yet. -";
- close;
- case 2:
- break;
- }
- if (select( "Do not enter the Red Flower.", "Enter the Red Flower." ) == 1) {
- mes "- You can sense some sinister energy. -";
- close;
- }
- switch( instance_enter("Morse's Cave") ) {
- case IE_OTHER:
- mes "An unknown error occurred.";
- close;
- case IE_NOINSTANCE:
- mes "The Memorial dungeon Morse's Cave does not exist.";
- mes "Your party leader has not yet created the Memorial dungeon.";
- close;
- case IE_NOMEMBER:
- mes "Only party members can enter this Memorial dungeon.";
- close;
- case IE_OK:
- mapannounce 'map_rev$, getpartyname( getcharid(1) ) + " party's " + strcharinfo(0) + " is entering Morse's Cave.", bc_map,0xFF99;
- if (isbegin_quest(9319) > 0)
- erasequest 9319;// Pursuing Hiding Morocc Continues
- if (isbegin_quest(9318) > 0)
- erasequest 9318;
- setquest 9318;// Pursuing Hiding Morocc
- // warp "1@rev",26,181;
- end;
- }
- end;
- OnInit:
- while(true) {
- sleep 15000;
- specialeffect 239;
- }
- end;
- }
- // Entrance
- 1@rev,27,181,0 script #RZ Memorial Start HIDDEN_WARP_NPC,4,4,{
- end;
- OnTouch:
- // note : party member can also trigger this event
- disablenpc instance_npcname("#RZ Memorial Start");
- 'party_id = getcharid(1);
- 'soul_name$ = strcharinfo(0); // name displayed on soul is defined at entrance
- setpcblock PCBLOCK_NPC, true;
- sleep2 500;
- mapannounce 'map_rev$, "Morocc: Who dares to disrupt my sleep?!", bc_map,0xEBFF;
- unittalk getcharid(3), "" + strcharinfo(0) + " : We came to the right place!";
- sleep2 3000;
- unittalk getcharid(3), "" + strcharinfo(0) + " : Wait! There's something ahead of us!";
- sleep2 3000;
- specialeffect2 EF_LOCKON;
- unittalk getcharid(3), "" + strcharinfo(0) + " : Are these hideous monsters Morocc's lackeys?";
- donpcevent instance_npcname("#RZ Event_1") + "::OnStart";
- setpcblock PCBLOCK_NPC, false;
- end;
- }
- // 1@rev,31,181,0 script #RZ Event_1 HIDDEN_WARP_NPC,5,5,{
- 1@rev,1,1,0 script #RZ Event_1 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#RZ Event_1");
- .@label$ = instance_npcname("#RZ Event_1") + "::OnMobDead";
- monster 'map_rev$,38,180,"Morocc's Ghoul",3001,1, .@label$; // EP14_MORS_MOB1
- monster 'map_rev$,38,181,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,38,182,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,54,180,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,54,181,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,54,182,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,70,180,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,70,181,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,70,182,"Morocc's Ghoul",3001,1, .@label$;
- end;
- OnMobDead:
- if (mobcount( 'map_rev$, instance_npcname("#RZ Event_1") + "::OnMobDead" ) < 1) {
- donpcevent instance_npcname("Grim Reaper Ankou#RZ Event_2") + "::OnStart";
- disablenpc instance_npcname("#RZ Event_1");
- }
- end;
- }
- 1@rev,64,181,4 script Grim Reaper Ankou#RZ Event_2 3029,{
- end;
- OnStart:
- enablenpc instance_npcname("Grim Reaper Ankou#RZ Event_2");
- npctalk "Grim Reaper Ankou: *Chuckle* We meet again!";
- sleep 3000;
- npctalk "Grim Reaper Ankou: You shouldn't have come. You're interrupting Lord Morocc from recovering his strength.";
- sleep 3000;
- npctalk "Grim Reaper Ankou: This world resides in his mind.";
- sleep 3000;
- npctalk "Grim Reaper Ankou: You can't do anything against his will. *Chuckle*";
- sleep 3000;
- npctalk "Grim Reaper Ankou: Lord Morocc is expecting you. Let me take you to him. *Chuckle*";
- sleep 3000;
- disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_2");
- enablenpc instance_npcname("#RZ Event_3");
- sleep 3000;
- /* Officials scripts
- enablenpc instance_npcname("#RZ Move_30");
- enablenpc instance_npcname("#RZ Move_31");
- enablenpc instance_npcname("#RZ Move_32");
- */
- mapwarp 'map_rev$,'map_rev$,103,177; // note: officially players are warped when the next event start - player entering can't access to the current event
- end;
- }
- // Weakened Morocc Room
- 1@rev,104,176,0 script #RZ Event_3 HIDDEN_WARP_NPC,4,4,{
- end;
- OnTouch: // note : party member can also trigger this event
- setpcblock PCBLOCK_NPC, true;
- disablenpc instance_npcname("#RZ Event_3");
- enablenpc instance_npcname("Weakened Morocc#RZ1");
- unittalk getcharid(3), "" + strcharinfo(0) + " : Finally, here we are, Morocc.";
- sleep2 3000;
- unittalk getcharid(3), "" + strcharinfo(0) + " : It's been almost too easy to find you,";
- sleep2 3000;
- unittalk getcharid(3), "" + strcharinfo(0) + " : but it doesn't matter; you'll die today!";
- sleep2 3000;
- specialeffect2 EF_LOCKON;
- donpcevent instance_npcname("Weakened Morocc#RZ1") + "::OnTalk1";
- setpcblock PCBLOCK_NPC, false;
- end;
- }
- 1@rev,111,178,4 script Weakened Morocc#RZ1 1916,{
- end;
- OnTalk1:
- npctalk "Weakened Morocc: I should punish you for disturbing my slumber.";
- sleep 3000;
- npctalk "Weakened Morocc: Do you really think you can stop me?";
- sleep 3000;
- npctalk "Weakened Morocc: I'll make you regret ever coming here.";
- sleep 3000;
- npctalk "Weakened Morocc: I may have not recovered my full strength,";
- specialeffect EF_ENERGYCOAT;
- sleep 3000;
- npctalk "Weakened Morocc: but I still can take down a bunch of you easily.";
- sleep 3000;
- npctalk "Weakened Morocc: Death is your only escape!";
- specialeffect EF_VOLCANO;
- sleep 3000;
- disablenpc instance_npcname("Weakened Morocc#RZ1");
- donpcevent instance_npcname("Weakened Morocc#control") + "::OnStart";
- end;
- OnTalk2:
- enablenpc instance_npcname("Weakened Morocc#RZ1");
- npctalk "Weakened Morocc: I'm sorry, but I haven't recovered my full strength.";
- sleep 3000;
- npctalk "Weakened Morocc: I'll have to leave you to my soldiers for now.";
- sleep 3000;
- npctalk "Weakened Morocc: Do your worst to get out of my world!";
- sleep 3000;
- npctalk "Weakened Morocc: In the end, you'll learn the meaning of helplessness in the most painful way!";
- sleep 3000;
- npctalk "Weakened Morocc: And your souls will be mine! Mwah hah hah!";
- sleep 3000;
- disablenpc instance_npcname("Weakened Morocc#RZ1");
- sleep 3000;
- /* Officials scripts use WARPNPC
- enablenpc instance_npcname("#RZ Move_1");
- enablenpc instance_npcname("#RZ Move_2");
- enablenpc instance_npcname("#RZ Move_3");
- enablenpc instance_npcname("#RZ Move_4");
- */
- enablenpc instance_npcname("#Battle_1RZ1");
- enablenpc instance_npcname("#Battle_1RZ2");
- for ( .@i = 1; .@i <= 12; .@i++ )
- enablenpc instance_npcname( "#Pause Effect RZ" + .@i );
- for ( .@i = 1; .@i <= 8; .@i++ )
- enablenpc instance_npcname( "#RZ Debuff_" + .@i );
- getpartymember 'party_id, 1, .@char_id;
- getpartymember 'party_id, 2, .@account_id;
- for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
- if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
- continue;
- if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$) {
- if ((.@count % 2) == 0) // Right
- warp 'map_rev$, rand(33,36), rand(117,118), .@char_id[.@i];
- else // Left
- warp 'map_rev$, rand(112,114), rand(116,118), .@char_id[.@i];
- .@count++;
- }
- }
- end;
- }
- 1@rev,1,1,0 script Weakened Morocc#control HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("Weakened Morocc#control");
- monster 'map_rev$,111,178,"Weakened Morocc",2998,1, instance_npcname("Weakened Morocc#control") + "::OnMobDead"; // EP14_MORS_EVENT
- end;
- OnMobDead:
- donpcevent instance_npcname("Weakened Morocc#RZ1") + "::OnTalk2";
- disablenpc instance_npcname("Weakened Morocc#control");
- end;
- }
- 1@rev,34,126,4 script Grim Reaper Ankou#RZ Event_3 3029,{ end; }
- 1@rev,112,126,4 duplicate(Grim Reaper Ankou#RZ Event_3) Grim Reaper Ankou#RZ Event_4 3029
- 1@rev,34,55,4 duplicate(Grim Reaper Ankou#RZ Event_3) Grim Reaper Ankou#RZ Event_5 3029
- 1@rev,112,48,4 duplicate(Grim Reaper Ankou#RZ Event_3) Grim Reaper Ankou#RZ Event_6 3029
- // Battle 1 - waves, event A - left side
- // 1@rev,35,119,0 script #Battle_1RZ1 HIDDEN_WARP_NPC,10,10,{
- 1@rev,35,119,0 script #Battle_1RZ1 HIDDEN_WARP_NPC,2,2,{
- end;
- OnTouch:
- if ('status_battle[0] != 0)
- setpcblock PCBLOCK_MOVE, true;
- else {
- 'status_battle[0] = 1;
- donpcevent instance_npcname("#RZ Memorial Effect 1") + "::OnStart";
- setpcblock PCBLOCK_NPC, true;
- mapannounce 'map_rev$, "Morocc: How do you like to be separated from each other and have your bodies and minds bound?", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: You're trespassing! Riff-raff like you have no business in here!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: Your bodies are mine to control!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: Your souls are food for my resurrection!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
- donpcevent instance_npcname("#morse_cave_wave_1") + "::OnStart";
- setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
- }
- end;
- }
- // Event B - right side
- // 1@rev,112,126,0 script #Battle_1RZ2 HIDDEN_WARP_NPC,10,10
- 1@rev,112,116,0 script #Battle_1RZ2 HIDDEN_WARP_NPC,2,2,{
- end;
- OnTouch:
- setpcblock PCBLOCK_MOVE, true;
- if ('status_battle[1] == 0) {
- 'status_battle[1] = 1;
- donpcevent instance_npcname("#RZ Memorial Effect 2") + "::OnStart";
- }
- end;
- }
- 1@rev,1,1,0 script #morse_cave_wave_1 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#morse_cave_wave_1");
- sleep 5000;
- callsub( S_Spawn,0 );
- sleep 20000;
- callsub( S_Spawn,0 );
- sleep 20000;
- callsub( S_Spawn,0 );
- mapannounce 'map_rev$, "Morocc: My soldiers, make them suffer! Feast on their bodies and souls!", bc_map,0xEBFF;
- sleep 20000;
- callsub( S_Spawn,0 );
- sleep 20000;
- callsub( S_Spawn,0 );
- mapannounce 'map_rev$, "Morocc: Not enough. Make them feel terror!", bc_map,0xEBFF;
- sleep 20000;
- callsub( S_Spawn,0 );
- sleep 20000;
- callsub( S_Spawn,0 );
- mapannounce 'map_rev$, "Morocc: Resist me! Fight to the death!", bc_map,0xEBFF;
- sleep 20000;
- callsub( S_Spawn,0 );
- sleep 15000;
- callsub( S_Spawn,1 );
- mapannounce 'map_rev$, "Morocc: Mwa hah hah, I can feel my power returning!", bc_map,0xEBFF;
- sleep 10000;
- callsub( S_Spawn,2 );
- sleep 12000;
- .@count[0] = mobcount( 'map_rev$, instance_npcname("#morse_cave_wave_1") + "::OnMobDead" );
- .@count[1] = mobcount( 'map_rev$, instance_npcname("#morse_cave_wave_1") + "::OnMobDead2" );
- killmonster 'map_rev$, instance_npcname("#morse_cave_wave_1") + "::OnMobDead";
- killmonster 'map_rev$, instance_npcname("#morse_cave_wave_1") + "::OnMobDead2";
- disablenpc instance_npcname("#Battle_1RZ1");
- disablenpc instance_npcname("#Battle_1RZ2");
- for ( .@i = 1; .@i <= 12; .@i++ )
- donpcevent instance_npcname( "#Pause Effect RZ" + .@i ) + "::OnStop";
- sleep 3000;
- if (.@count[0] > 19 || .@count[1] > 19) {
- .@reaper$[0] = instance_npcname("Grim Reaper Ankou#RZ Event_3");
- .@reaper$[1] = instance_npcname("Grim Reaper Ankou#RZ Event_4");
- enablenpc .@reaper$[0];
- enablenpc .@reaper$[1];
- npctalk "You're pathetic.", .@reaper$[0];
- npctalk "You're pathetic.", .@reaper$[1];
- sleep 3000;
- npctalk "Weaklings like you aren't enough food for Lord Morocc", .@reaper$[0];
- npctalk "Weaklings like you aren't enough food for Lord Morocc", .@reaper$[1];
- sleep 3000;
- npctalk "to get the energy he needs for a full recovery.", .@reaper$[0];
- npctalk "to get the energy he needs for a full recovery.", .@reaper$[1];
- sleep 3000;
- npctalk "I'll give you one chance to leave. NOW!", .@reaper$[0];
- npctalk "I'll give you one chance to leave. NOW!", .@reaper$[1];
- sleep 3000;
- disablenpc .@reaper$[0];
- disablenpc .@reaper$[1];
- sleep 5000;
- /* Officials scripts
- enablenpc instance_npcname("#RZ Move_5a");// warp to prontera,97,167
- enablenpc instance_npcname("#RZ Move_6a");
- enablenpc instance_npcname("#RZ Move_7a");
- enablenpc instance_npcname("#RZ Move_8a");
- enablenpc instance_npcname("#RZ Move_9a");
- enablenpc instance_npcname("#RZ Move_10a");
- enablenpc instance_npcname("#RZ Move_11a");
- enablenpc instance_npcname("#RZ Move_12a");
- */
- getpartymember 'party_id, 1, .@char_id;
- getpartymember 'party_id, 2, .@account_id;
- for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
- if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
- continue;
- if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$)
- setpcblock PCBLOCK_MOVE, false, .@account_id[.@i];
- }
- mapwarp 'map_rev$,"prontera",97,167;
- }
- else {
- mapannounce 'map_rev$, "Morocc: You're more resilient than I thought.", bc_map,0xEBFF;
- sleep 2000;
- mapannounce 'map_rev$, "Morocc: But enough is enough.", bc_map,0xEBFF;
- sleep 5000;
- /* Officials scripts
- enablenpc instance_npcname("#RZ Move_5");// warp to 1@rev,31,50
- enablenpc instance_npcname("#RZ Move_6");
- enablenpc instance_npcname("#RZ Move_7");
- enablenpc instance_npcname("#RZ Move_8");
- enablenpc instance_npcname("#RZ Move_9");
- enablenpc instance_npcname("#RZ Move_10");
- enablenpc instance_npcname("#RZ Move_11");
- enablenpc instance_npcname("#RZ Move_12");
- */
- for ( .@i = 9; .@i <= 15; .@i++ )
- enablenpc instance_npcname( "#RZ Debuff_" + .@i );
- enablenpc instance_npcname("#Battle_2RZ1");
- for ( .@i = 1; .@i <= 12; .@i++ )
- enablenpc instance_npcname( "#Pause Effecto RZ" + .@i );
- warpparty 'map_rev$,31,50, 'party_id, 'map_rev$,1,1;
- }
- for ( .@i = 1; .@i <= 8; .@i++ )
- disablenpc instance_npcname( "#RZ Debuff_" + .@i );
- disablenpc instance_npcname("#morse_cave_wave_1");
- donpcevent instance_npcname("#RZ Memorial Effect 1") + "::OnStop";
- donpcevent instance_npcname("#RZ Memorial Effect 2") + "::OnStop";
- end;
- S_Spawn:
- .@additionnal_monster = getarg(0);
- .@label$ = instance_npcname("#morse_cave_wave_1") + "::OnMobDead";
- monster 'map_rev$,33,128,"Morocc's Ghoul",3001,1, .@label$;// EP14_MORS_MOB1
- monster 'map_rev$,42,120,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,34,111,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,25,119,"Morocc's Ghoul",3001,1, .@label$;
- if (.@additionnal_monster == 1)
- monster 'map_rev$,33,111,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
- else if (.@additionnal_monster == 2)
- monster 'map_rev$,32,128,"Morocc's Archer Skeleton",3003,1, .@label$;
- if ('status_battle[1] == true) {
- .@label$ = instance_npcname("#morse_cave_wave_1") + "::OnMobDead2";
- monster 'map_rev$,112,126,"Morocc's Ghoul",3001,1, .@label$;// EP14_MORS_MOB1
- monster 'map_rev$,120,118,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,112,109,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,103,117,"Morocc's Ghoul",3001,1, .@label$;
- if (.@additionnal_monster == 1)
- monster 'map_rev$,103,118,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
- else if (.@additionnal_monster == 2)
- monster 'map_rev$,120,117,"Morocc's Archer Skeleton",3003,1, .@label$;
- }
- return;
- OnMobDead:
- OnMobDead2:
- end;
- }
- // display icewall every 30s
- 1@rev,33,117,0 script #Pause Effect RZ1 HIDDEN_WARP_NPC,1,1,{
- end;
- OnTouch:
- if (countstr( strnpcinfo(0), "Effecto" ) == 0)
- .@num = atoi( replacestr( strnpcinfo(2), "Pause Effect RZ", "" ) );
- else
- .@num = atoi( replacestr( strnpcinfo(2), "Pause Effecto RZ", "" ) ) + 20;
- if ('pause_effect[.@num] == 0) {
- 'pause_effect[.@num] = 1;
- specialeffect EF_ICEWALL;
- initnpctimer;
- }
- setpcblock PCBLOCK_MOVE, true;
- if (.@num < 7 && 'status_battle[0] == 0) {
- setpcblock PCBLOCK_NPC, true;
- 'status_battle[0] = 1;
- donpcevent instance_npcname("#RZ Memorial Effect 1") + "::OnStart";
- mapannounce 'map_rev$, "Morocc: How do you like to be separated from each other and have your bodies and minds bound?", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: You're trespassing! Riff-raff like you have no business in here!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: Your bodies are mine to control!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: Your souls are food for my resurrection!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
- donpcevent instance_npcname("#morse_cave_wave_1") + "::OnStart";
- setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
- }
- else if (.@num >= 7 && .@num < 13 && 'status_battle[1] == 0) {
- 'status_battle[1] = 1;
- donpcevent instance_npcname("#RZ Memorial Effect 2") + "::OnStart";
- }
- else if (.@num >= 21 && .@num < 33 && 'status_battle[2] == 0) {
- setpcblock PCBLOCK_NPC, true;
- 'status_battle[2] = 1;
- donpcevent instance_npcname("#RZ Memorial Effect 3") + "::OnStart";
- mapannounce 'map_rev$, "Morocc: This world of mine is evolving.", bc_map,0xEBFF;
- sleep2 2000;
- mapannounce 'map_rev$, "Morocc: My power is returning!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: Your bodies and souls are under my command!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
- donpcevent instance_npcname("#morse_cave_wave_2") + "::OnStart";
- setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
- }
- end;
- OnTimer30000:
- specialeffect EF_ICEWALL;
- initnpctimer;
- end;
- OnStop:
- stopnpctimer;
- disablenpc instance_npcname( strnpcinfo(0) );
- end;
- }
- 1@rev,36,118,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ2 HIDDEN_WARP_NPC,1,1
- 1@rev,36,121,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ3 HIDDEN_WARP_NPC,1,1
- 1@rev,34,122,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ4 HIDDEN_WARP_NPC,1,1
- 1@rev,31,121,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ5 HIDDEN_WARP_NPC,1,1
- 1@rev,31,118,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ6 HIDDEN_WARP_NPC,1,1
- // Event B - right side
- 1@rev,112,116,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ7 HIDDEN_WARP_NPC,1,1
- 1@rev,114,117,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ8 HIDDEN_WARP_NPC,1,1
- 1@rev,114,120,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ9 HIDDEN_WARP_NPC,1,1
- 1@rev,111,121,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ10 HIDDEN_WARP_NPC,1,1
- 1@rev,109,120,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ11 HIDDEN_WARP_NPC,1,1
- 1@rev,109,117,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ12 HIDDEN_WARP_NPC,1,1
- // Battle 2 - waves
- 1@rev,31,50,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ1 HIDDEN_WARP_NPC,1,1
- 1@rev,36,49,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ2 HIDDEN_WARP_NPC,1,1
- 1@rev,37,45,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ3 HIDDEN_WARP_NPC,1,1
- 1@rev,30,45,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ4 HIDDEN_WARP_NPC,1,1
- 1@rev,29,47,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ5 HIDDEN_WARP_NPC,1,1
- 1@rev,33,51,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ6 HIDDEN_WARP_NPC,1,1
- 1@rev,38,49,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ7 HIDDEN_WARP_NPC,1,1
- 1@rev,34,44,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ8 HIDDEN_WARP_NPC,1,1
- 1@rev,32,44,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ9 HIDDEN_WARP_NPC,1,1
- 1@rev,29,49,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ10 HIDDEN_WARP_NPC,1,1
- 1@rev,35,51,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ11 HIDDEN_WARP_NPC,1,1
- 1@rev,37,47,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ12 HIDDEN_WARP_NPC,1,1
- // Event A - left side - debuff
- 1@rev,33,111,0 script #RZ Debuff_1 HIDDEN_WARP_NPC,12,4,{
- end;
- OnTouch:
- .@num = atoi( replacestr( strnpcinfo(2), "RZ Debuff_", "" ) );
- setpcblock PCBLOCK_MOVE, true;
- if (.@num < 5 && 'status_battle[0] == 0) {
- setpcblock PCBLOCK_NPC, true;
- 'status_battle[0] = 1;
- donpcevent instance_npcname("#RZ Memorial Effect 1") + "::OnStart";
- mapannounce 'map_rev$, "Morocc: How do you like to be separated from each other and have your bodies and minds bound?", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: You're trespassing! Riff-raff like you have no business in here!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: Your bodies are mine to control!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: Your souls are food for my resurrection!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
- donpcevent instance_npcname("#morse_cave_wave_1") + "::OnStart";
- setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
- }
- else if (.@num >= 5 && .@num < 9 && 'status_battle[1] == 0) {
- 'status_battle[1] = 1;
- donpcevent instance_npcname("#RZ Memorial Effect 2") + "::OnStart";
- }
- else if (.@num >= 9 && .@num < 16 && 'status_battle[2] == 0) {
- setpcblock PCBLOCK_NPC, true;
- 'status_battle[2] = 1;
- donpcevent instance_npcname("#RZ Memorial Effect 3") + "::OnStart";
- mapannounce 'map_rev$, "Morocc: This world of mine is evolving.", bc_map,0xEBFF;
- sleep2 2000;
- mapannounce 'map_rev$, "Morocc: My power is returning!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: Your bodies and souls are under my command!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
- donpcevent instance_npcname("#morse_cave_wave_2") + "::OnStart";
- setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
- }
- end;
- }
- 1@rev,42,124,0 duplicate(#RZ Debuff_1) #RZ Debuff_2 HIDDEN_WARP_NPC,4,8
- 1@rev,25,124,0 duplicate(#RZ Debuff_1) #RZ Debuff_3 HIDDEN_WARP_NPC,4,8
- 1@rev,33,128,0 duplicate(#RZ Debuff_1) #RZ Debuff_4 HIDDEN_WARP_NPC,4,4
- // Event B - right side - debuff
- 1@rev,112,110,0 duplicate(#RZ Debuff_1) #RZ Debuff_5 HIDDEN_WARP_NPC,12,4
- 1@rev,103,122,0 duplicate(#RZ Debuff_1) #RZ Debuff_6 HIDDEN_WARP_NPC,4,7
- 1@rev,120,122,0 duplicate(#RZ Debuff_1) #RZ Debuff_7 HIDDEN_WARP_NPC,4,7
- 1@rev,112,126,0 duplicate(#RZ Debuff_1) #RZ Debuff_8 HIDDEN_WARP_NPC,4,3
- // Battle 2 - waves - debuff
- 1@rev,32,47,0 duplicate(#RZ Debuff_1) #RZ Debuff_9 HIDDEN_WARP_NPC,1,1
- 1@rev,24,48,0 duplicate(#RZ Debuff_1) #RZ Debuff_10 HIDDEN_WARP_NPC,3,5
- 1@rev,27,56,0 duplicate(#RZ Debuff_1) #RZ Debuff_11 HIDDEN_WARP_NPC,4,4
- 1@rev,43,47,0 duplicate(#RZ Debuff_1) #RZ Debuff_12 HIDDEN_WARP_NPC,3,4
- 1@rev,41,56,0 duplicate(#RZ Debuff_1) #RZ Debuff_13 HIDDEN_WARP_NPC,4,4
- 1@rev,34,56,0 duplicate(#RZ Debuff_1) #RZ Debuff_14 HIDDEN_WARP_NPC,2,3
- 1@rev,34,39,0 duplicate(#RZ Debuff_1) #RZ Debuff_15 HIDDEN_WARP_NPC,12,3
- // official npcs to block the player from moving
- // Event A - left side
- // 1@rev,28,125,0 script #RZ Debuff_1 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,28,114,0 script #RZ Debuff_2 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,39,114,0 script #RZ Debuff_3 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,39,125,0 script #RZ Debuff_4 HIDDEN_WARP_NPC,10,10,{
- // Event B - right side
- // 1@rev,106,123,0 script #RZ Debuff_5 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,106,112,0 script #RZ Debuff_6 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,117,112,0 script #RZ Debuff_7 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,117,123,0 script #RZ Debuff_8 HIDDEN_WARP_NPC,10,10,{
- // Battle 2 - waves
- // 1@rev,28,53,0 script #RZ Debuff_9 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,28,42,0 script #RZ Debuff_10 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,39,42,0 script #RZ Debuff_11 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,39,53,0 script #RZ Debuff_12 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,28,53,0 script #RZ Debuff Recovery_1 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,28,42,0 script #RZ Debuff Recovery_2 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,39,42,0 script #RZ Debuff Recovery_3 HIDDEN_WARP_NPC,10,10,{
- // 1@rev,39,53,0 script #RZ Debuff Recovery_4 HIDDEN_WARP_NPC,10,10,{
- // Battle 2 - waves
- // 1@rev,34,47,0 script #Battle_2RZ1 HIDDEN_WARP_NPC,10,10,{
- 1@rev,34,47,0 script #Battle_2RZ1 HIDDEN_WARP_NPC,3,3,{
- end;
- OnTouch:
- setpcblock PCBLOCK_MOVE, true;
- if ('status_battle[2] == 0) {
- 'status_battle[2] = 1;
- donpcevent instance_npcname("#RZ Memorial Effect 3") + "::OnStart";
- mapannounce 'map_rev$, "Morocc: This world of mine is evolving.", bc_map,0xEBFF;
- sleep 2000;
- mapannounce 'map_rev$, "Morocc: My power is returning!", bc_map,0xEBFF;
- sleep 3000;
- mapannounce 'map_rev$, "Morocc: Your bodies and souls are under my command!", bc_map,0xEBFF;
- sleep 3000;
- mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
- donpcevent instance_npcname("#morse_cave_wave_2") + "::OnStart";
- }
- end;
- }
- 1@rev,1,1,0 script #morse_cave_wave_2 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#morse_cave_wave_2");
- .@label$ = instance_npcname("#morse_cave_wave_2") + "::OnMobDead";
- sleep 5000;
- callsub( S_Spawn );
- monster 'map_rev$,27,53,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
- monster 'map_rev$,27,41,"Morocc's Archer Skeleton",3003,1, .@label$;
- mapannounce 'map_rev$, "Morocc: This power! It feels great! Mwah hah hah!", bc_map,0xEBFF;
- sleep 25000;
- callsub( S_Spawn );
- monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
- monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
- mapannounce 'map_rev$, "Morocc: How do you like losing control of your own body? *Chuckle*", bc_map,0xEBFF;
- sleep 25000;
- callsub( S_Spawn );
- monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
- monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
- monster 'map_rev$,27,53,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
- sleep 25000;
- callsub( S_Spawn );
- monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
- monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
- monster 'map_rev$,27,53,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
- mapannounce 'map_rev$, "Morocc: More! I need more energy!", bc_map,0xEBFF;
- sleep 25000;
- callsub( S_Spawn );
- monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
- monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
- monster 'map_rev$,27,53,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
- mapannounce 'map_rev$, "Morocc: Mwah hah hah! Fear my army! Struggle harder!", bc_map,0xEBFF;
- sleep 25000;
- monster 'map_rev$,34,57,"Morocc's Ghoul",3001,1, .@label$;// EP14_MORS_MOB1
- monster 'map_rev$,43,48,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,33,38,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
- monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
- monster 'map_rev$,27,53,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
- sleep 25000;
- callsub( S_Spawn );
- monster 'map_rev$,27,53,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
- monster 'map_rev$,27,41,"Morocc's Archer Skeleton",3003,1, .@label$;
- monster 'map_rev$,40,41,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
- monster 'map_rev$,40,54,"Morocc's Verit",3005,1, .@label$;
- mapannounce 'map_rev$, "Morocc: You're pathetic, struggling to survive!", bc_map,0xEBFF;
- sleep 15000;
- callsub( S_Spawn );
- monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
- monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
- monster 'map_rev$,27,53,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
- monster 'map_rev$,27,41,"Morocc's Verit",3005,1, .@label$;
- sleep 12000;
- .@count = mobcount( 'map_rev$, instance_npcname("#morse_cave_wave_2") + "::OnMobDead" );
- killmonster 'map_rev$, instance_npcname("#morse_cave_wave_2") + "::OnMobDead";
- disablenpc instance_npcname("#Battle_2RZ1");
- for ( .@i = 1; .@i <= 12; .@i++ )
- donpcevent instance_npcname( "#Pause Effecto RZ" + .@i ) + "::OnStop";
- sleep 3000;
- if (.@count > 19) {
- .@reaper$ = instance_npcname("Grim Reaper Ankou#RZ Event_5");
- enablenpc .@reaper$;
- npctalk "You're pathetic.", .@reaper$;
- sleep 3000;
- npctalk "Weaklings like you aren't enough food for Lord Morocc", .@reaper$;
- sleep 3000;
- npctalk "to get the energy he needs for a full recovery.", .@reaper$;
- sleep 3000;
- npctalk "I'll give you one chance to leave. NOW!", .@reaper$;
- sleep 3000;
- disablenpc .@reaper$;
- sleep 5000;
- /* Officials scripts
- enablenpc instance_npcname("#Move_13a");// warp to prontera,97,167
- enablenpc instance_npcname("#Move_14a");
- enablenpc instance_npcname("#Move_15a");
- enablenpc instance_npcname("#Move_16a");
- */
- getpartymember 'party_id, 1, .@char_id;
- getpartymember 'party_id, 2, .@account_id;
- for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
- if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
- continue;
- if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$)
- setpcblock PCBLOCK_MOVE, false, .@account_id[.@i];
- }
- mapwarp 'map_rev$,"prontera",97,167;
- }
- else {
- mapannounce 'map_rev$, "Morocc: I'm surprised you've lasted this long. Thank you for helping me recover most of my strength.", bc_map,0xEBFF;
- sleep 4000;
- mapannounce 'map_rev$, "Morocc: Good, I feel rejuvenated.", bc_map,0xEBFF;
- sleep 3000;
- for ( .@i = 9; .@i <= 15; .@i++ )
- disablenpc instance_npcname( "#RZ Debuff_" + .@i );
- getpartymember 'party_id, 1, .@char_id;
- getpartymember 'party_id, 2, .@account_id;
- for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
- if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
- continue;
- if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$)
- setpcblock PCBLOCK_MOVE, false, .@account_id[.@i];
- }
- // enablenpc instance_npcname("#RZ Debuff Recovery_1");
- // enablenpc instance_npcname("#RZ Debuff Recovery_2");
- // enablenpc instance_npcname("#RZ Debuff Recovery_3");
- // enablenpc instance_npcname("#RZ Debuff Recovery_4");
- sleep 1000;
- // enablenpc instance_npcname("#RZ Move_13");// warp to 1@rev,104,48
- // enablenpc instance_npcname("#RZ Move_14");
- // enablenpc instance_npcname("#RZ Move_15");
- // enablenpc instance_npcname("#RZ Move_16");
- enablenpc instance_npcname("#Battle_3RZ1");
- mapwarp 'map_rev$,'map_rev$,104,48;
- }
- disablenpc instance_npcname("#morse_cave_wave_2");
- donpcevent instance_npcname("#RZ Memorial Effect 3") + "::OnStop";
- end;
- S_Spawn:
- .@label$ = instance_npcname("#morse_cave_wave_2") + "::OnMobDead";
- monster 'map_rev$,34,57,"Morocc's Ghoul",3001,1, .@label$;// EP14_MORS_MOB1
- monster 'map_rev$,43,48,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,33,38,"Morocc's Ghoul",3001,1, .@label$;
- monster 'map_rev$,24,48,"Morocc's Ghoul",3001,1, .@label$;
- return;
- OnMobDead:
- end;
- }
- // Display EF_CURSEATTACK effect overhead 'Soul' monster
- // Event A - left side
- 1@rev,34,120,0 script #RZ Memorial Effect 1 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- .@npc_name$ = instance_npcname( strnpcinfo(0) );
- enablenpc .@npc_name$;
- getmapxy .@map$,.@x,.@y, BL_NPC;
- monster 'map_rev$,.@x,.@y,('soul_name$ + "'s Soul"),3007,1, .@npc_name$ + "::OnStop"; // EP14_MORS_DUMMY
- initnpctimer;
- specialeffect EF_STORMGUST;
- specialeffect EF_CURSEATTACK;
- end;
- OnTimer2000:
- specialeffect EF_CURSEATTACK;
- initnpctimer;
- end;
- OnStop:
- stopnpctimer;
- killmonster 'map_rev$, instance_npcname( strnpcinfo(0) ) + "::OnStop";
- disablenpc instance_npcname( strnpcinfo(0) );
- end;
- }
- // Event B - right side
- 1@rev,112,118,0 duplicate(#RZ Memorial Effect 1) #RZ Memorial Effect 2 HIDDEN_WARP_NPC
- // Battle 2 - waves
- 1@rev,34,48,0 duplicate(#RZ Memorial Effect 1) #RZ Memorial Effect 3 HIDDEN_WARP_NPC
- // official range
- // 1@rev,34,120,0 script #RZ Memorial Effect 1 HIDDEN_WARP_NPC,4,4,{
- // 1@rev,112,118,0 duplicate(#RZ Memorial Effect 1) #RZ Memorial Effect 2 HIDDEN_WARP_NPC,4,4
- // 1@rev,34,48,0 duplicate(#RZ Memorial Effect 1) #RZ Memorial Effect 3 HIDDEN_WARP_NPC,4,4
- // Battle 3
- 1@rev,112,48,4 script Morocc Necromancer#RZ1 4_GHOST_STAND,{ end; }
- 1@rev,104,47,0 script #Battle_3RZ1 HIDDEN_WARP_NPC,5,5,{
- end;
- OnTouch:
- disablenpc instance_npcname("#Battle_3RZ1");
- setpcblock PCBLOCK_NPC, true;
- mapannounce 'map_rev$, "Morocc: I can't let you go unscathed!", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: Hah hah, my Necromancer. I'll leave them to you.", bc_map,0xEBFF;
- sleep2 3000;
- mapannounce 'map_rev$, "Morocc: My loyal soldier, I'll trust you with their deaths!", bc_map,0xEBFF;
- sleep2 3000;
- .@necromancer$ = instance_npcname("Morocc Necromancer#RZ1");
- enablenpc .@necromancer$;
- sleep2 3000;
- specialeffect EF_TWOHANDQUICKEN,AREA, .@necromancer$;
- npctalk "Morocc Necromancer: As you wish, My Lord!", .@necromancer$;
- sleep2 3000;
- npctalk "Morocc Necromancer: *Chuckle* You still have no idea, do you?", .@necromancer$;
- sleep2 3000;
- npctalk "Morocc Necromancer: The energy you generated to protect me while I was hiding within your soul", .@necromancer$;
- sleep2 3000;
- npctalk "Morocc Necromancer: has been converted to healing energy for Lord Morocc the moment you entered this world of his!", .@necromancer$;
- sleep2 3000;
- npctalk "Morocc Necromancer: *Chuckle* Your stupidity was a blessing for us. We don't need you anymore. DIE!", .@necromancer$;
- specialeffect EF_BEGINSPELL2,AREA, .@necromancer$;
- sleep2 3000;
- disablenpc .@necromancer$;
- donpcevent instance_npcname("#morse_cave_3") + "::OnStart";
- setpcblock PCBLOCK_NPC, false;
- end;
- }
- 1@rev,1,1,0 script #morse_cave_3 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#morse_cave_3");
- monster 'map_rev$,112,48,"Morocc Necromancer",2999,1, instance_npcname("#morse_cave_3") + "::OnMobDead";// EP14_MORS_BOSSA
- end;
- OnMobDead:
- .@necromancer$ = instance_npcname("Morocc Necromancer#RZ1");
- enablenpc .@necromancer$;
- sleep 3000;
- npctalk "Morocc Necromancer: You're stronger than you look.", .@necromancer$;
- sleep 3000;
- npctalk "Morocc Necromancer: *Giggle* I'll show you what I'm truly capable of.", .@necromancer$;
- sleep 3000;
- npctalk "Morocc Necromancer: Beg me for your lives!", .@necromancer$;
- sleep 3000;
- npctalk "Morocc Necromancer: *Giggle*", .@necromancer$;
- sleep 3000;
- disablenpc .@necromancer$;
- monster 'map_rev$,112,48,"Morocc Necromancer",3000,1, instance_npcname("#morse_cave_3") + "::OnMobDead2";// EP14_MORS_BOSSB
- 'boss_id = $@mobid[0];
- donpcevent instance_npcname("#morse_cave_wave_3") + "::OnStart";
- donpcevent instance_npcname("#morse_cave_boss_talk") + "::OnStart";
- end;
- OnMobDead2:
- donpcevent instance_npcname("#morse_cave_wave_3") + "::OnStop";
- donpcevent instance_npcname("#morse_cave_boss_talk") + "::OnStop";
- donpcevent instance_npcname("#morse_cave_wave_3_mobs") + "::OnStop";
- sleep 3000;
- .@reaper$ = instance_npcname("Grim Reaper Ankou#RZ Event_6");
- enablenpc .@reaper$;
- sleep 1000;
- npctalk "Grim Reaper Ankou: Sigh, Necromancer, why did you have to die so quickly?", .@reaper$;
- sleep 3000;
- npctalk "Grim Reaper Ankou: Don't be so happy!", .@reaper$;
- sleep 3000;
- npctalk "Grim Reaper Ankou: Now that Lord Morocc has fully recovered his strength, you're as good as dead!", .@reaper$;
- sleep 3000;
- npctalk "Grim Reaper Ankou: We'll meet again. *Chuckle*", .@reaper$;
- sleep 2000;
- hideonnpc .@reaper$;
- enablenpc instance_npcname("#RZ Move_17a");
- specialeffect EF_THUNDERSTORM,AREA, .@reaper$; // officially Morocc Necromancer#RZ1 display the effects but they have the same coordinates
- sleep 1000;
- specialeffect EF_LORD,AREA, .@reaper$;
- specialeffect EF_THUNDERSTORM,AREA, .@reaper$;
- sleep 1000;
- specialeffect EF_LORD,AREA, .@reaper$;
- end;
- }
- 1@rev,1,1,0 script #morse_cave_wave_3 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#morse_cave_wave_3");
- initnpctimer;
- end;
- OnTimer7000:
- stopnpctimer;
- donpcevent instance_npcname("#morse_cave_wave_3_mobs") + "::OnStart";
- end;
- OnStop:
- disablenpc instance_npcname("#morse_cave_wave_3");
- stopnpctimer;
- end;
- }
- 1@rev,1,1,0 script #morse_cave_boss_talk HIDDEN_WARP_NPC,{
- end;
- OnStart:
- initnpctimer;
- end;
- OnTimer8000:
- .@r = rand(4);
- if (.@r == 0)
- unittalk 'boss_id, "Morocc Necromancer: We the soldiers of Morocc know no mercy!";
- else if (.@r == 1)
- unittalk 'boss_id, "Morocc Necromancer: You're doing good so far. *Giggle*";
- else if (.@r == 2)
- unittalk 'boss_id, "Morocc Necromancer: I see you're weakening, though.";
- else
- unittalk 'boss_id, "Morocc Necromancer: Feel the power of his army!";
- initnpctimer;
- end;
- OnTimer25000:
- initnpctimer;
- end;
- OnStop:
- disablenpc instance_npcname("#morse_cave_boss_talk");
- stopnpctimer;
- end;
- }
- 1@rev,1,1,0 script #morse_cave_wave_3_mobs HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#morse_cave_wave_3_mobs");
- initnpctimer;
- setarray 'coord[0],
- 112,57,
- 121,47,
- 112,38,
- 120,54,
- 119,40,
- 104,40,
- 102,48;
- 'num_coord = getarraysize('coord) / 2;
- end;
- OnTimer25000:
- for ( .@i = 0; .@i < 'num_coord; .@i++ ) {
- .@last = ( 'num_coord - .@i - 1 ) * 2;
- .@r = rand( 'num_coord - .@i ) * 2;
- setarray .@xy[0], 'coord[.@r], 'coord[.@r+1];
- setarray 'coord[.@r], 'coord[.@last], 'coord[.@last+1];
- setarray 'coord[.@last], .@xy[0], .@xy[1];
- }
- .@label$ = instance_npcname("#morse_cave_wave_3_mobs") + "::OnMobDead";
- if (mobcount( 'map_rev$, .@label$ ) < 100) { // stop to 100 mobs for performance
- monster 'map_rev$,'coord[0],'coord[1], "Morocc's Ghoul", 3001,1, .@label$; // EP14_MORS_MOB1
- monster 'map_rev$,'coord[2],'coord[3], "Morocc's Ghoul", 3001,1, .@label$; // EP14_MORS_MOB1
- monster 'map_rev$,'coord[4],'coord[5], "Morocc's Ghoul", 3001,1, .@label$; // EP14_MORS_MOB1
- monster 'map_rev$,'coord[6],'coord[7], "Morocc's Osiris", 3002,1, .@label$; // EP14_MORS_MOB2
- monster 'map_rev$,'coord[8],'coord[9], "Morocc's Archer Skeleton", 3003,1, .@label$; // EP14_MORS_MOB3
- monster 'map_rev$,'coord[10],'coord[11], "Morocc's Wraith", 3004,1, .@label$; // EP14_MORS_MOB4
- if (rand(100) < 20)
- monster 'map_rev$,'coord[12],'coord[12], "Morocc's Archer Skeleton", 3003,1, .@label$; // EP14_MORS_MOB3
- else
- monster 'map_rev$,'coord[12],'coord[13], "Morocc's Verit", 3005,1, .@label$; // EP14_MORS_MOB5
- // inaccurate
- areamonster 'map_rev$,102,38,121,57, "#Poison", 3008,1, .@label$; // EP14_MORS_HIDDEN
- }
- initnpctimer;
- end;
- OnStop:
- stopnpctimer;
- killmonster 'map_rev$, instance_npcname("#morse_cave_wave_3_mobs") + "::OnMobDead";
- disablenpc instance_npcname("#morse_cave_wave_3_mobs");
- end;
- OnMobDead:
- end;
- }
- // 1@rev,106,57,0 script #Battle_3RZ2 HIDDEN_WARP_NPC,{
- // 1@rev,120,54,0 script #Battle_3RZ3 HIDDEN_WARP_NPC,{
- // 1@rev,120,55,0 script #Battle_3RZ4 HIDDEN_WARP_NPC,{
- // 1@rev,120,56,0 script #Battle_3RZ5 HIDDEN_WARP_NPC,{
- // 1@rev,120,57,0 script #Battle_3RZ6 HIDDEN_WARP_NPC,{
- // 1@rev,120,58,0 script #Battle_3RZ7 HIDDEN_WARP_NPC,{
- 1@rev,112,56,3 script #RZ Move_17a PORTAL,{
- mes "Do you want to exit through the portal?";
- next;
- if (select( "No.", "Yes." ) == 2) {
- mes "- Teleporting... -";
- close2;
- warp "moro_cav",59,63;
- end;
- }
- end;
- OnInstanceInit:
- 'map_rev$ = instance_mapname("1@rev");
- 'status_battle[0] = 0;
- 'status_battle[1] = 0;
- 'status_battle[2] = 0;
- // Entrance
- disablenpc instance_npcname("#RZ Event_1");
- disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_2");
- // Weakened Morocc
- disablenpc instance_npcname("#RZ Event_3");
- disablenpc instance_npcname("Weakened Morocc#RZ1");
- disablenpc instance_npcname("Weakened Morocc#control");
- // Battle 1
- disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_3");
- disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_4");
- disablenpc instance_npcname("#Battle_1RZ1");
- disablenpc instance_npcname("#Battle_1RZ2");
- disablenpc instance_npcname("#RZ Memorial Effect 1");
- disablenpc instance_npcname("#RZ Memorial Effect 2");
- disablenpc instance_npcname("#morse_cave_wave_1");
- for ( .@i = 1; .@i <= 12; .@i++ )
- disablenpc instance_npcname( "#Pause Effect RZ" + .@i );
- // Battle 2
- disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_5");
- disablenpc instance_npcname("#RZ Memorial Effect 3");
- disablenpc instance_npcname("#morse_cave_wave_2");
- disablenpc instance_npcname("#Battle_2RZ1");
- for ( .@i = 1; .@i <= 12; .@i++ )
- disablenpc instance_npcname( "#Pause Effecto RZ" + .@i );
- // Battle 3
- disablenpc instance_npcname("#morse_cave_3");
- disablenpc instance_npcname("#morse_cave_wave_3");
- disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_6");
- disablenpc instance_npcname("#Battle_3RZ1");
- disablenpc instance_npcname("Morocc Necromancer#RZ1");
- disablenpc instance_npcname("#RZ Move_17a");
- // Debuff - Battle 1 & 2
- for ( .@i = 1; .@i <= 15; .@i++ )
- disablenpc instance_npcname( "#RZ Debuff_" + .@i );
- end;
- }
- /*
- // Original warps
- // Entrance -> Weakened Morocc
- 1@rev,63,181,0 warp2 #RZ Move_30 10,10,1@rev,103,177
- 1@rev,47,181,0 warp2 #RZ Move_31 10,10,1@rev,103,177
- 1@rev,31,181,0 warp2 #RZ Move_32 10,10,1@rev,103,177
- // Weakened Morocc -> Battle Wave 1a
- 1@rev,106,172,0 warp2 #RZ Move_1 10,10,1@rev,33,117
- 1@rev,106,172,0 warp2 #RZ Move_2 10,10,1@rev,33,117
- 1@rev,117,172,0 warp2 #RZ Move_3 10,10,1@rev,33,117
- 1@rev,117,183,0 warp2 #RZ Move_4 10,10,1@rev,33,117
- // Weakened Morocc -> Battle Wave 1b
- 1@rev,106,172,0 warp2 #RZ Move_1 10,10,1@rev,112,116
- 1@rev,106,172,0 warp2 #RZ Move_2 10,10,1@rev,112,116
- 1@rev,117,172,0 warp2 #RZ Move_3 10,10,1@rev,112,116
- 1@rev,117,183,0 warp2 #RZ Move_4 10,10,1@rev,112,116
- // Battle Wave 1a -> Battle Wave 2
- 1@rev,28,125,0 warp2 #RZ Move_5 10,10,1@rev,31,50
- 1@rev,28,114,0 warp2 #RZ Move_6 10,10,1@rev,31,50
- 1@rev,39,114,0 warp2 #RZ Move_7 10,10,1@rev,31,50
- 1@rev,39,125,0 warp2 #RZ Move_8 10,10,1@rev,31,50
- // Battle Wave 1a -> Prontera
- 1@rev,28,125,0 warp2 #RZ Move_5a 10,10,prontera,97,167
- 1@rev,28,114,0 warp2 #RZ Move_6a 10,10,prontera,97,167
- 1@rev,39,114,0 warp2 #RZ Move_7a 10,10,prontera,97,167
- 1@rev,39,125,0 warp2 #RZ Move_8a 10,10,prontera,97,167
- // Battle Wave 1b -> Battle Wave 2
- 1@rev,106,123,0 warp2 #RZ Move_9 10,10,1@rev,31,50
- 1@rev,106,112,0 warp2 #RZ Move_10 10,10,1@rev,31,50
- 1@rev,117,112,0 warp2 #RZ Move_11 10,10,1@rev,31,50
- 1@rev,117,123,0 warp2 #RZ Move_12 10,10,1@rev,31,50
- // Battle Wave 1b -> Prontera
- 1@rev,106,123,0 warp2 #RZ Move_9a 10,10,prontera,97,167
- 1@rev,106,112,0 warp2 #RZ Move_10a 10,10,prontera,97,167
- 1@rev,117,112,0 warp2 #RZ Move_11a 10,10,prontera,97,167
- 1@rev,117,123,0 warp2 #RZ Move_12a 10,10,prontera,97,167
- // Battle Wave 2 -> Final Battle
- 1@rev,28,53,0 warp2 #RZ Move_13 10,10,1@rev,104,48
- 1@rev,28,42,0 warp2 #RZ Move_14 10,10,1@rev,104,48
- 1@rev,39,42,0 warp2 #RZ Move_15 10,10,1@rev,104,48
- 1@rev,39,53,0 warp2 #RZ Move_16 10,10,1@rev,104,48
- // Battle Wave 2 -> Prontera
- 1@rev,28,53,0 warp2 #RZ Move_13a 10,10,prontera,97,167
- 1@rev,28,42,0 warp2 #RZ Move_14a 10,10,prontera,97,167
- 1@rev,39,42,0 warp2 #RZ Move_15a 10,10,prontera,97,167
- 1@rev,39,53,0 warp2 #RZ Move_16a 10,10,prontera,97,167
- */
|