123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772 |
- //===== rAthena Script =======================================
- //= Isle Of Bios
- //===== Description: =========================================
- //= [Walkthrough Conversion]
- //= Isle Of Bios Instance
- //===== Changelogs: ==========================================
- //= 1.0 First version. [Capuche]
- //============================================================
- moro_cav,50,64,5 script Yellow Seed#bios CLEAR_NPC,{
- if (BaseLevel < 160) {
- mes "^ff0000Characters below Level 160 cannot enter this dungeon.^000000";
- close;
- }
- if (isbegin_quest(15006) == 0) {
- mes "^ff0000You first must meet Wandering Old Man to gain access to this dungeon.^000000";
- close;
- }
- .@party_id = getcharid(1);
- if (.@party_id < 1) {
- mes "^ff0000You first must form/join a party of at least 1 person to enter this dungeon.^000000";
- close;
- }
- switch( checkquest(15005,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- if (checkquest(15007,PLAYTIME) == 2) {// 5 mins to re-enter
- mes "^ff0000This Memorial Dungeon cannot be accessed for 23 hours after your last visit.^000000";
- close;
- }
- switch( checkquest(15008,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "^0000ffThis Memorial Dungeon cannot be accessed for 23 hours after your last visit.^000000";
- close;
- case 2:
- break;
- }
- break;
- case 2:
- erasequest 15005;// Memorial Dungeon: Isle of Bios
- erasequest 15007;// Memorial Dungeon: Isle of Bios
- if (isbegin_quest(15008) > 0)
- erasequest 15008;// Memorial Dungeon: Isle of Bios
- break;
- }
- if (is_party_leader() == true)
- .@create$ = "Create Memorial dungeon.";
- switch( select( .@create$, "Enter Isle of Bios.", "Cancel." ) ) {
- case 1:
- instance_create("Isle of Bios");
- mes "^ff0000Created the Memorial dungeon.^000000";
- mes "^ff0000Please click and press Enter again.^000000";
- close;
- case 2:
- switch( instance_enter("Isle of Bios") ) {
- case IE_NOMEMBER:
- case IE_NOINSTANCE:
- case IE_OTHER:
- if (is_party_leader(.@party_id) == false) {
- mes "^ff0000Please note that This Memorial Dungeon cannot be accessed for 23 hours after your last visit.^000000";
- next;
- }
- mes "^ff0000Your party leader has not yet created a Crack of Time.^000000";
- close;
- case IE_OK:
- mapannounce "moro_cav", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering Isle of Bios.",bc_map,"0x00FF99";
- if (isbegin_quest(15005) == 0) {
- setquest 15005;// Memorial Dungeon: Isle of Bios
- setquest 15007;// Memorial Dungeon: Isle of Bios
- }
- end;
- }
- case 3:
- end;
- }
- end;
- OnInit:
- while(true) {
- sleep 500;
- specialeffect EF_ENHANCE;
- }
- end;
- }
- moro_cav,45,60,5 script Wandering Old Man#sara 4_M_EINOLD,{
- if (BaseLevel < 160) {
- mes "[Wandering Old Man]";
- mes "...";
- mes "I'm afraid you're not up for this yet.";
- mes "You have to be at least Level 160.";
- close;
- }
- if (isbegin_quest(15006) == 0) {
- mes "[Wandering Old Man]";
- mes "...Where am I?";
- next;
- mes "[Wandering Old Man]";
- mes "I don't know when it began...";
- mes "The same nightmare has been plaguing me for a long time.";
- next;
- mes "[Wandering Old Man]";
- mes "In my nightmare, Demon King Morocc awakens from his century-long slumber and fills the world with darkness and horror.";
- next;
- mes "[Wandering Old Man]";
- mes "I couldn't shake off the vivid images I saw in that nightmare. I've wandered off and around like a madman and finally arrived here.";
- next;
- mes "[Wandering Old Man]";
- mes "I saw this place in my dream. It's where Demon God Morocc awakens from his slumber. My dream was showing me a possible future.";
- next;
- mes "[Wandering Old Man]";
- mes "If my dream really is a premonition, the forces of Demon God Morocc's are within that yellow seed.";
- next;
- mes "[Wandering Old Man]";
- mes "I tried to enter the seed, but to no avail: I'm just too old and weak. But perhaps you can.";
- next;
- mes "[Wandering Old Man]";
- mes "Please investigate that yellow seed.";
- mes "It's too dangerous for you to go alone. You should take at least one comrade with you.";
- setquest 15006;// Isle of Bios Exploration
- completequest 15006;// Isle of Bios Exploration
- close;
- }
- mes "[Wandering Old Man]";
- mes "Please investigate that yellow seed.";
- mes "It's too dangerous for you to go alone. You should take at least one comrade with you.";
- close;
- }
- // warps
- 1@dth1,291,102,0 warp2 warp1#bios1 2,2,1@dth2,17,93
- 1@dth2,291,102,0 warp2 warp1#bios2 2,2,1@dth3,45,68
- // zone 1
- 1@dth1,74,94,3 script Grim Reaper Ankou#bios1 3029,{ end; }
- 1@dth1,71,97,3 duplicate(Grim Reaper Ankou#bios1) Zeith#bios1 4_M_GUILLOTINE
- 1@dth1,67,97,5 duplicate(Grim Reaper Ankou#bios1) Vrid#bios1 4_M_KNIGHT_BLACK
- // 1@dth1,67,97,5 script Vrid#bios1 4_M_KNIGHT_BLACK,5,7,{// official
- // 1@dth1,67,97,5 script start1#bios1 HIDDEN_WARP_NPC,{// official
- 1@dth1,67,97,5 script start1#bios1 HIDDEN_WARP_NPC,5,7,{
- end;
- OnTouch_:
- disablenpc instance_npcname("start1#bios1");
- 'zeith$ = instance_npcname("Zeith#bios1");
- 'vrid$ = instance_npcname("Vrid#bios1");
- 'reaper$ = instance_npcname("Grim Reaper Ankou#bios1");
- initnpctimer;
- npctalk "Vrid: Ah, someone else has come to join us.", 'vrid$;
- end;
- OnTimer2500:
- npctalk "Vrid: Did you also come to stop Morocc's resurrection?", 'vrid$;
- end;
- OnTimer5000:
- npctalk "Vrid: I'm Vrid and this is Zeith, from Prontera. We've been traveling around the world, fighting for justice.", 'vrid$;
- end;
- OnTimer7500:
- npctalk "Vrid: Hey, Zeith. Say something.", 'vrid$;
- end;
- OnTimer10000:
- npctalk "Zeith: ...", 'zeith$;
- end;
- OnTimer12500:
- npctalk "Zeith: I'm Zeith.", 'zeith$;
- end;
- OnTimer15000:
- npctalk "Zeith: ...", 'zeith$;
- end;
- OnTimer17500:
- npctalk "Vrid: Don't mind him. He's not so quiet when there are only two of us.", 'vrid$;
- end;
- OnTimer19500:
- npctalk "Zeith: ...You talk enough for both of us.", 'zeith$;
- end;
- OnTimer21000:
- npctalk "Vrid: We only came because the old geezer down below kept rambling about Morocc's resurrection.", 'vrid$;
- end;
- OnTimer23500:
- npctalk "Vrid: Err, what's this place? I just touched the seed, and suddenly the scenery changed.", 'vrid$;
- end;
- OnTimer26000:
- npctalk "Vrid: Holy cow, are we flying in the sky?!", 'vrid$;
- end;
- OnTimer28500:
- npctalk "???: *Chuckle* Do you want to know where you are?", 'reaper$;
- end;
- OnTimer31000:
- npctalk "Zeith: Who's there?!", 'zeith$;
- end;
- OnTimer33500:
- enablenpc 'reaper$;
- npctalk "Grim Reaper Ankou: *Chuckle* This is the Isle of Bios, a place I conjured up in my mind.", 'reaper$;
- end;
- OnTimer36000:
- npctalk "Grim Reaper Ankou: You've walked into the trap, making yourself willing sacrifices for my Lord Morocc. Aren't you afraid of dying?", 'reaper$;
- end;
- OnTimer38500:
- npctalk "Vrid: Pah! If I was I wouldn't have come willingly, would I?", 'vrid$;
- end;
- OnTimer41000:
- npctalk "Vrid: Whoever you are, we'll kill you before you do!", 'vrid$;
- end;
- OnTimer43500:
- npctalk "Grim Reaper Ankou: Don't tempt me, human.", 'reaper$;
- end;
- OnTimer46000:
- npctalk "Grim Reaper Ankou: I want to watch you die slowly and painfully. *Chuckle*", 'reaper$;
- end;
- OnTimer48500:
- disablenpc 'reaper$;
- end;
- OnTimer51000:
- npctalk "Vrid: Who's he? Is he trying to resurrect Morocc? ", 'vrid$;
- end;
- OnTimer53500:
- npctalk "Vrid: Let's chase him! Zeith, hurry!", 'vrid$;
- end;
- OnTimer54000:
- disablenpc 'vrid$;
- end;
- OnTimer56000:
- npctalk "Zeith: ...Ack.", 'zeith$;
- end;
- OnTimer58500:
- npctalk "Zeith: I hate running.", 'zeith$;
- end;
- OnTimer61000:
- disablenpc 'zeith$;
- end;
- OnTimer66000:
- stopnpctimer;
- mapannounce 'map_dth1$, "System: Eliminate all the enemies on the island and exit through the door on the other side to move on to the next area.",bc_map,"0xFFFF00";
- 'zeith$ = 'vrid$ = 'reaper$ = "";
- end;
- }
- 1@dth1,1,1,0 script mobs#bios1 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- .@label$ = instance_npcname("mobs#bios1") + "::OnMyMobDead";
- for ( .@mob_id = 3010; .@mob_id < 3013; .@mob_id++ ) {
- switch(.@mob_id) {
- case 3010: // Corrupt Orc Baby
- setarray .@coord[0],
- 90,94, 153,76, 121,53, 135,50, 145,107, 132,126, 101,125, 119,144, 124,164, 192,145, 194,116,
- 203,131, 214,142, 196,156, 217,129, 227,150, 215,109, 240,130, 252,105, 249,144, 249,155, 232,87,
- 316,103, 245,71, 246,71, 210,62, 214,53, 211,88;
- break;
- case 3011: // Corrupt Baby Desert Wolf
- setarray .@coord[0],
- 90,94, 121,69, 153,76, 166,80, 131,101, 145,107, 108,156, 141,143, 165,130, 203,151,
- 203,162, 219,151, 203,162, 206,169, 219,171, 227,150, 238,117, 240,140, 274,104, 306,103,
- 237,80, 224,62, 233,57;
- break;
- case 3012: // Corrupt Familiar
- setarray .@coord[0],
- 143,49, 156,46, 170,67, 170,67, 131,101, 144,125, 101,125, 108,156, 135,152, 144,164,
- 184,130, 204,112, 227,150, 205,98, 225,103, 228,124, 243,106, 225,89, 297,103, 223,72,
- 232,69, 225,54, 211,73;
- break;
- }
- .@size = getarraysize(.@coord);
- for ( .@i = 0; .@i < .@size; .@i += 2 )
- monster 'map_dth1$, .@coord[.@i], .@coord[.@i+1], "--ja--", .@mob_id,1, .@label$;
- }
- end;
- OnMyMobDead:
- .@count = mobcount( 'map_dth1$,instance_npcname("mobs#bios1") + "::OnMyMobDead" );
- if (.@count == 10 || .@count == 5)
- mapannounce 'map_dth1$, "System: " + .@count + " monsters remain on the island.",bc_map,"0xFFFF00";
- else if (.@count == 1)
- mapannounce 'map_dth1$, "System: 1 last monster remains on the island.",bc_map,"0xFFFF00";
- else if (.@count == 0) {
- mapannounce 'map_dth1$, "System: You have eliminated all the monsters. Use the exit at 3 o'clock to move on to the next area.",bc_map,"0xFFFF00";
- disablenpc instance_npcname("mobs#bios1");
- enablenpc instance_npcname("warp1#bios1");
- enablenpc instance_npcname("start1#bios2");
- donpcevent instance_npcname("mobs#bios2") + "::OnStart"; // spawn at entrance
- }
- end;
- }
- // zone 2
- 1@dth2,67,97,0 script start1#bios2 HIDDEN_WARP_NPC,5,5,{
- end;
- OnTouch_:
- disablenpc instance_npcname("start1#bios2");
- mapannounce 'map_dth2$, "System: Eliminate all the enemies on the island and exit through the door on the other side to move on to the next area.",bc_map,"0xFFFF00";
- end;
- }
- 1@dth2,1,1,0 script mobs#bios2 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("mobs#bios2");
- .@label$ = instance_npcname("mobs#bios2") + "::OnMyMobDead";
- for ( .@mob_id = 3013; .@mob_id < 3016; ++.@mob_id ) {
- switch(.@mob_id) {
- case 3013: // Corrupt Orc Warrior
- setarray .@coord[0],
- 90,94, 153,76, 116,66, 133,47, 145,107, 137,134, 101,125, 119,144, 124,164, 194,116,
- 203,131, 211,88, 215,109, 214,142, 192,145, 196,156, 217,129, 227,150, 230,89, 210,62,
- 214,53, 246,71, 248,81, 252,105, 246,126, 249,144, 249,155, 316,103;
- break;
- case 3014: // Corrupt Desert Wolf
- setarray .@coord[0],
- 90,94, 121,69, 153,76, 165,84, 145,107, 131,101, 108,156, 138,140, 165,130, 203,151,
- 203,162, 219,151, 206,169, 203,162, 227,150, 222,164, 238,117, 237,80, 224,62, 233,57,
- 236,138, 274,104, 306,103;
- break;
- case 3015: // Corrupt Phen
- setarray .@coord[0],
- 142,54, 156,46, 170,67, 170,67, 131,101, 101,125, 108,156, 135,152, 144,164, 135,131,
- 184,130, 204,112, 205,98, 225,103, 225,89, 227,150, 232,69, 223,72, 212,75, 225,54,
- 247,110, 232,126, 297,103;
- break;
- }
- .@size = getarraysize(.@coord);
- for ( .@i = 0; .@i < .@size; .@i += 2 )
- monster 'map_dth2$, .@coord[.@i], .@coord[.@i+1], "--ja--", .@mob_id,1, .@label$;
- }
- end;
- OnMyMobDead:
- .@count = mobcount( 'map_dth2$,instance_npcname("mobs#bios2") + "::OnMyMobDead" );
- if (.@count == 10 || .@count == 5)
- mapannounce 'map_dth2$, "System: " + .@count + " monsters remain on the island.",bc_map,"0xFFFF00";
- else if (.@count == 1)
- mapannounce 'map_dth2$, "System: 1 last monster remains on the island.",bc_map,"0xFFFF00";
- else if (.@count == 0) {
- mapannounce 'map_dth2$, "System: You have eliminated all the monsters. Use the exit at 3 o'clock to move on to the next area.",bc_map,"0xFFFF00";
- disablenpc instance_npcname("mobs#bios2");
- enablenpc instance_npcname("warp1#bios2");
- enablenpc instance_npcname("Zeith#bios3");
- enablenpc instance_npcname("Vrid#bios3");
- enablenpc instance_npcname("event_boss#bios3");
- }
- end;
- }
- // zone 3
- // 1@dth3,64,74,5 script Vrid#bios3 4_M_KNIGHT_BLACK,5,7,{// official
- 1@dth3,64,74,5 script Vrid#bios3 4_M_KNIGHT_BLACK,{
- if ('reward == 1) {
- mes "[Vrid]";
- mes "I came by";
- mes "this Hero Token by accident.";
- mes "I want to give it to you. You deserve it.";
- next;
- mes "[Vrid]";
- mes "Let's get out of this creepy place!";
- close2;
- getitem 6684,1;// Token Of Hero
- if (ep14_3_isle == 0)
- ep14_3_isle = 1;
- if (checkquest(15007,PLAYTIME) == 0 || checkquest(15007,PLAYTIME) == 1)
- setquest 15008;// Memorial Dungeon: Isle of Bios
- warp "moro_cav",45,63;
- }
- end;
- }
- 1@dth3,64,74,5 script event_boss#bios3 HIDDEN_WARP_NPC,5,7,{
- end;
- OnTouch_:
- disablenpc instance_npcname("event_boss#bios3");
- 'party_id = getcharid(1);
- donpcevent instance_npcname("freeze#bios3") + "::OnStart";
- end;
- }
- // 1@dth3,69,67,0 script freeze#bios3 HIDDEN_WARP_NPC,30,30,{// official
- 1@dth3,1,1,0 script freeze#bios3 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("freeze#bios3");
- 'reaper3$ = instance_npcname("Grim Reaper Ankou#bios3");
- 'zeith3$ = instance_npcname("Zeith#bios3");
- 'vrid3$ = instance_npcname("Vrid#bios3");
- initnpctimer;
- npctalk "Vrid: You're lucky to be here. I got totally lost the moment I entered that maze.", 'vrid3$;
- end;
- OnTimer2500:
- npctalk "Vrid: If it weren't for Zeith, I'd still be in there, wandering. Thanks, Zeith.", 'vrid3$;
- end;
- OnTimer5000:
- npctalk "Zeith: ...Something's been bothering me.", 'zeith3$;
- end;
- OnTimer7500:
- npctalk "Vrid: What's up?", 'vrid3$;
- end;
- OnTimer10000:
- npctalk "Zeith: I've got the feeling that the monsters were growing stronger with time.", 'zeith3$;
- end;
- OnTimer12500:
- npctalk "Zeith: Just like children growing up into adults.", 'zeith3$;
- end;
- OnTimer15000:
- npctalk "Vrid: Um, I think you're right.", 'vrid3$;
- end;
- OnTimer17500:
- npctalk "Vrid: They're all small in the beginning, and then we faced bigger and stronger ones over time.", 'vrid3$;
- end;
- OnTimer20000:
- npctalk "Vrid: To me, that sounds natural. What are you worried about?", 'vrid3$;
- end;
- OnTimer22500:
- npctalk "Zeith: Well, I'm curious about the monster we'll face now.", 'zeith3$;
- end;
- OnTimer25000:
- npctalk "Zeith: Whether they're stronger versions of their original selves, or something completely different.", 'zeith3$;
- end;
- OnTimer27000:
- enablenpc 'reaper3$;
- end;
- OnTimer27500:
- npctalk "Grim Reaper Ankou: *Chuckle* At least one of you has a good head on his shoulders.", 'reaper3$;
- end;
- OnTimer30000:
- npctalk "Vrid: You again?", 'vrid3$;
- end;
- OnTimer32500:
- npctalk "Grim Reaper Ankou: Are you curious about your next adversaries?", 'reaper3$;
- end;
- OnTimer35000:
- npctalk "Grim Reaper Ankou: Ahead of you is an army of the immortal.", 'reaper3$;
- end;
- OnTimer37500:
- npctalk "Grim Reaper Ankou: *Chuckle* Come out, my soldiers!", 'reaper3$;
- end;
- OnTimer37700:
- specialeffect EF_READYPORTAL,AREA,'reaper3$;
- end;
- OnTimer40000:
- for ( .@i = 1; .@i <= 3; ++.@i ) {
- for ( .@j = 1; .@j <= 8; ++.@j )
- enablenpc instance_npcname( "Corrupt Orc Zombie#" + .@j + "bio" + .@i );
- }
- end;
- OnTimer42000:
- npctalk "Vrid: Shut up, you fiend! We don't have time for your lackeys!", 'vrid3$;
- end;
- OnTimer45000:
- npctalk "Vrid: I'll get rid of you myself!", 'vrid3$;
- end;
- OnTimer47500:
- npctalk "Grim Reaper Ankou: Right back at you, bigmouth.", 'reaper3$;
- end;
- OnTimer50000:
- npctalk "Grim Reaper Ankou: I'll teach you how terrifying it is to be helpless in the face of horror!", 'reaper3$;
- end;
- OnTimer52500:
- specialeffect EF_STORMGUST,AREA,'reaper3$;
- end;
- OnTimer52700:
- specialeffect EF_FREEZED,AREA,'zeith3$;
- specialeffect EF_FREEZED,AREA,'vrid3$;
- specialeffect EF_FIREHIT,AREA,'zeith3$;
- specialeffect EF_FIREHIT,AREA,'vrid3$;
- setnpcdisplay( 'vrid3$, 4_M_FROZEN_KN );
- setnpcdisplay( 'zeith3$, 4_M_FROZEN_GC );
- getpartymember 'party_id, 0, .@player_name$;
- 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]) == true) {
- getmapxy .@map$,.@x,.@y, UNITTYPE_PC, .@player_name$[.@i];
- if (.@map$ == 'map_dth3$ && distance(.@x,.@y,69,67) < 30)
- sc_start SC_FREEZE,17500,0,10000, (SCSTART_NOAVOID|SCSTART_NOTICKDEF|SCSTART_NORATEDEF), .@account_id[.@i];
- }
- }
- end;
- OnTimer55000:
- npctalk "Vrid: Ugh! W-what's going on?! I-I can't move!", 'vrid3$;
- end;
- OnTimer57500:
- npctalk "Zeith: N-neither can I! I can't move my feet!", 'zeith3$;
- end;
- OnTimer60000:
- npctalk "Grim Reaper Ankou: On the Isle of Bios, each day is a lifetime.", 'reaper3$;
- end;
- OnTimer62500:
- npctalk "Grim Reaper Ankou: You must have noticed my soldiers have grown up before the sunset.", 'reaper3$;
- end;
- OnTimer65000:
- npctalk "Grim Reaper Ankou: After nightfall, they've reached the final stage of their development: life beyond death.", 'reaper3$;
- end;
- OnTimer67500:
- npctalk "Grim Reaper Ankou: That's right. It's time for you to experience death.", 'reaper3$;
- end;
- OnTimer70000:
- npctalk "Grim Reaper Ankou: Get ready to feel the fear of death! *Chuckle*", 'reaper3$;
- // note: unfreeze player
- end;
- OnTimer72000:
- disablenpc 'reaper3$;
- end;
- OnTimer72500:
- npctalk "Vrid: Damn it, the undead are coming, but I can't fight because I can't move my feet!", 'vrid3$;
- end;
- OnTimer75000:
- npctalk "Vrid: Ack, I don't want to die!", 'vrid3$;
- end;
- OnTimer77500:
- npctalk "Zeith: ...Ugh...", 'zeith3$;
- end;
- OnTimer80000:
- stopnpctimer;
- for ( .@i = 1; .@i <= 3; ++.@i ) {
- for ( .@j = 1; .@j <= 8; ++.@j )
- disablenpc instance_npcname( "Corrupt Orc Zombie#" + .@j + "bio" + .@i );
- }
- .@label$ = instance_npcname("freeze#bios3") + "::OnMyMobDead";
- for ( .@y = 80; .@y <= 92; .@y += 6 )
- for ( .@x = 62; .@x <= 78; .@x += 2 )
- monster 'map_dth3$,.@x,.@y,"Corrupt Orc Zombie",3016,1, .@label$;// EP14_3_DEATH_C_MOB1
- end;
- OnMyMobDead:
- if (mobcount( 'map_dth3$,instance_npcname("freeze#bios3") + "::OnMyMobDead" ) == 0) {
- disablenpc instance_npcname("freeze#bios3");
- donpcevent instance_npcname("verit#bios3") + "::OnStart";
- }
- end;
- }
- 1@dth3,1,1,0 script verit#bios3 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("verit#bios3");
- initnpctimer;
- npctalk "Vrid: Wow, you're amazing! Did you kill them all?", 'vrid3$;
- end;
- OnTimer2500:
- npctalk "Zeith: Not yet. More are coming!", 'zeith3$;
- end;
- OnTimer5000:
- stopnpctimer;
- .@label$ = instance_npcname("verit#bios3") + "::OnMyMobDead";
- for ( .@y = 80; .@y <= 92; .@y += 6 )
- for ( .@x = 62; .@x <= 78; .@x += 2 )
- monster 'map_dth3$,.@x,.@y,"Corrupt Verit",3017,1, .@label$;// EP14_3_DEATH_C_MOB2
- end;
- OnMyMobDead:
- if (mobcount( 'map_dth3$,instance_npcname("verit#bios3") + "::OnMyMobDead" ) == 0) {
- disablenpc instance_npcname("verit#bios3");
- donpcevent instance_npcname("megalodon#bios3") + "::OnStart";
- }
- end;
- }
- 1@dth3,1,1,0 script megalodon#bios3 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("megalodon#bios3");
- initnpctimer;
- npctalk "Vrid: I hope that really was the last of them.", 'vrid3$;
- end;
- OnTimer2500:
- npctalk "Zeith: Nope, we aren't so lucky--more is on the way!", 'zeith3$;
- end;
- OnTimer5000:
- stopnpctimer;
- .@label$ = instance_npcname("megalodon#bios3") + "::OnMyMobDead";
- for ( .@y = 80; .@y <= 92; .@y += 6 )
- for ( .@x = 62; .@x <= 78; .@x += 2 )
- monster 'map_dth3$,.@x,.@y,"Corrupt Megalodon",3018,1, .@label$;// EP14_3_DEATH_C_MOB3
- end;
- OnMyMobDead:
- if (mobcount( 'map_dth3$,instance_npcname("megalodon#bios3") + "::OnMyMobDead" ) == 0) {
- disablenpc instance_npcname("megalodon#bios3");
- donpcevent instance_npcname("boss_prelude#bios3") + "::OnStart";
- }
- end;
- }
- 1@dth3,1,1,0 script boss_prelude#bios3 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc 'reaper3$;
- initnpctimer;
- end;
- OnTimer500:
- npctalk "Grim Reaper Ankou: I underestimated you, or my soldiers aren't as strong as I thought.", 'reaper3$;
- end;
- OnTimer3000:
- npctalk "Vrid: You're cheating! Release us and fight fairly!", 'vrid3$;
- end;
- OnTimer5500:
- npctalk "Grim Reaper Ankou: You're still talking. I'll just kill you myself and get it over with!", 'reaper3$;
- end;
- OnTimer7500:
- disablenpc 'reaper3$;
- end;
- OnTimer8000:
- stopnpctimer;
- donpcevent instance_npcname("boss#bios3") + "::OnStart";
- end;
- }
- 1@dth3,1,1,0 script boss#bios3 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("boss#bios3");
- monster 'map_dth3$,70,67,"Grim Reaper Ankou",3029,1, instance_npcname("boss#bios3") + "::OnMyBossDead";
- 'boss_id = $@mobid[0];
- donpcevent instance_npcname("talk_friends#bios3") + "::OnStart";
- donpcevent instance_npcname("talk_boss#bios3") + "::OnStart";
- end;
- OnMyBossDead:
- 'boss_id = 0;
- donpcevent instance_npcname("talk_friends#bios3") + "::OnStop";
- donpcevent instance_npcname("talk_boss#bios3") + "::OnStop";
- enablenpc 'reaper3$;
- enablenpc 'zeith3$;
- enablenpc 'vrid3$;
- initnpctimer;
- end;
- OnTimer3000:
- npctalk "Grim Reaper Ankou: You're strong...", 'reaper3$;
- end;
- OnTimer6500:
- npctalk "Grim Reaper Ankou: But my goal has been accomplished... Don't think this is over.", 'reaper3$;
- end;
- OnTimer8000:
- npctalk "Grim Reaper Ankou: Soon Lord Morocc will return. *Chuckle* The fear of death will follow you wherever you go.", 'reaper3$;
- end;
- OnTimer10500:
- disablenpc 'reaper3$;
- specialeffect EF_ICECRASH,AREA,'vrid3$;
- specialeffect EF_ICECRASH,AREA,'zeith3$;
- setnpcdisplay( 'vrid3$, 4_M_KNIGHT_BLACK );
- setnpcdisplay( 'zeith3$, 4_M_GUILLOTINE );
- end;
- OnTimer13000:
- npctalk "Vrid: Ah, finally I can move!", 'vrid3$;
- end;
- OnTimer16500:
- npctalk "Zeith: Hmpf, I'm ashamed of myself for being so weak...", 'zeith3$;
- end;
- OnTimer18000:
- npctalk "Vrid: Whew, that reaper was much stronger than me and Zeith combined.", 'vrid3$;
- end;
- OnTimer20500:
- npctalk "Vrid: We could have died if it weren't for you.", 'vrid3$;
- end;
- OnTimer23000:
- stopnpctimer;
- npctalk "Vrid: I want to give you something for saving our lives. Talk to me again when you're ready to accept it.", 'vrid3$;
- 'reward = 1;
- disablenpc instance_npcname("boss#bios3");
- end;
- }
- 1@dth3,1,1,0 script talk_friends#bios3 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- initnpctimer;
- end;
- OnTimer15000:
- .@r = rand(7);
- if (.@r == 0)
- npctalk "Zeith: Ugh... I feel so helpless...", 'zeith3$;
- else if (.@r == 1)
- npctalk "Zeith: That guy Ankou smells dangerous. You better move once he starts using a skill.", 'zeith3$;
- else if (.@r == 2)
- npctalk "Vrid: Ack, I'm sorry we can't help.", 'vrid3$;
- else if (.@r == 3)
- npctalk "Vrid: You cheater, fight fairly!", 'vrid3$;
- else if (.@r == 4)
- npctalk "Vrid: Damn it, I can't move...", 'vrid3$;
- initnpctimer;
- end;
- OnStop:
- stopnpctimer;
- end;
- }
- 1@dth3,1,1,0 script talk_boss#bios3 HIDDEN_WARP_NPC,{
- end;
- OnStart:
- initnpctimer;
- end;
- OnTimer13000:
- .@r = rand(6);
- if (.@r == 0)
- unittalk 'boss_id, "Grim Reaper Ankou: *Chuckle*";
- else if (.@r == 1)
- unittalk 'boss_id, "Grim Reaper Ankou: Feel the fear of death!";
- else if (.@r == 2)
- unittalk 'boss_id, "Grim Reaper Ankou: Lord Morocc will return soon.";
- else if (.@r == 3)
- unittalk 'boss_id, "Grim Reaper Ankou: Is this the best you can do? Such weak creatures, you humans.";
- initnpctimer;
- end;;
- OnStop:
- stopnpctimer;
- end;
- OnInstanceInit:
- 'reward = 'boss_id = 0;
- 'map_dth1$ = instance_mapname("1@dth1");
- 'map_dth2$ = instance_mapname("1@dth2");
- 'map_dth3$ = instance_mapname("1@dth3");
- // warps
- disablenpc instance_npcname("warp1#bios1");
- disablenpc instance_npcname("warp1#bios2");
- // zone 1
- disablenpc instance_npcname("Grim Reaper Ankou#bios1");
- donpcevent instance_npcname("mobs#bios1") + "::OnStart"; // spawn at entrance
- // zone 2
- disablenpc instance_npcname("start1#bios2");
- disablenpc instance_npcname("mobs#bios2");
- // zone 3
- disablenpc instance_npcname("event_boss#bios3");
- disablenpc instance_npcname("freeze#bios3");
- disablenpc instance_npcname("verit#bios3");
- disablenpc instance_npcname("megalodon#bios3");
- disablenpc instance_npcname("boss_prelude#bios3");
- disablenpc instance_npcname("boss#bios3");
- disablenpc instance_npcname("talk_friends#bios3");
- disablenpc instance_npcname("talk_boss#bios3");
- disablenpc instance_npcname("Vrid#bios3");
- disablenpc instance_npcname("Zeith#bios3");
- disablenpc instance_npcname("Grim Reaper Ankou#bios3");
- for ( .@i = 1; .@i <= 3; ++.@i ) {
- for ( .@j = 1; .@j <= 8; ++.@j )
- disablenpc instance_npcname( "Corrupt Orc Zombie#" + .@j + "bio" + .@i );
- }
- end;
- }
- 1@dth3,72,74,3 duplicate(Grim Reaper Ankou#bios1) Zeith#bios3 4_M_GUILLOTINE
- 1@dth3,70,67,3 duplicate(Grim Reaper Ankou#bios1) Grim Reaper Ankou#bios3 3029
- 1@dth3,62,80,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#1bio1 3016
- 1@dth3,64,80,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#2bio1 3016
- 1@dth3,66,80,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#3bio1 3016
- 1@dth3,68,80,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#4bio1 3016
- 1@dth3,72,80,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#5bio1 3016
- 1@dth3,74,80,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#6bio1 3016
- 1@dth3,76,80,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#7bio1 3016
- 1@dth3,78,80,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#8bio1 3016
- 1@dth3,62,86,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#1bio2 3016
- 1@dth3,64,86,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#2bio2 3016
- 1@dth3,66,86,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#3bio2 3016
- 1@dth3,68,86,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#4bio2 3016
- 1@dth3,72,86,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#5bio2 3016
- 1@dth3,74,86,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#6bio2 3016
- 1@dth3,76,86,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#7bio2 3016
- 1@dth3,78,86,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#8bio2 3016
- 1@dth3,62,92,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#1bio3 3016
- 1@dth3,64,92,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#2bio3 3016
- 1@dth3,66,92,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#3bio3 3016
- 1@dth3,68,92,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#4bio3 3016
- 1@dth3,72,92,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#5bio3 3016
- 1@dth3,74,92,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#6bio3 3016
- 1@dth3,76,92,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#7bio3 3016
- 1@dth3,78,92,3 duplicate(Grim Reaper Ankou#bios1) Corrupt Orc Zombie#8bio3 3016
|