You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
773 lines
26 KiB
Plaintext
773 lines
26 KiB
Plaintext
//===== 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, BL_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
|