rathena/npc/re/instances/LastRoom.txt
zackdreaver 658d4207a4 Fix item and NPC names (#3979)
* Fix item and NPC names
2019-03-01 14:21:09 +01:00

591 lines
19 KiB
Plaintext

//===== rAthena Script =======================================
//= The Last Room
//===== Description: =========================================
//= [Walkthrough Conversion]
//= The Last Room Instance
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//============================================================
un_myst,163,38,5 script Mark 4_M_BLUEMAN,{
mes "[Mark]";
cutin "bu_mark1.bmp",0;
if (BaseLevel < 150) {
mes "It's dangerous here.";
mes "It would be better to come back next time when we are stronger.";
close3;
}
if (getcharid(1) < 1) {
mes "...It doesn't feel right here.";
mes "It may be dangerous alone so it might be better to form a party.";
close3;
}
mes "Unlike the other doors we saw this door has traces of it being blocked from this side.";
next;
mes "[Mark]";
mes "Is there something inside?";
next;
switch( checkquest(11379,PLAYTIME) ) {
case -1:
.@party_id = getcharid(1);
if (is_party_leader() == true)
.@string$ = "Open door.";
.@s = select( .@string$, "Go in.", "Quit." );
if (.@s == 1) {
mes "[Mark]";
mes "I'm opening the door.";
mes "Go in when the door is completely open.";
instance_create("Last room");
}
else if (.@s == 2) {
mes "[Mark]";
switch( instance_enter("Last room") ) {
case IE_NOMEMBER:
case IE_NOINSTANCE:
case IE_OTHER:
mes "The door won't open right.";
break;
case IE_OK:
mapannounce "un_myst", strcharinfo(0) + " of the party, " + getpartyname(.@party_id) + ", is entering Last room.",bc_map,"0x00FF99";
setquest 11379;// Final Room
if (isbegin_quest(11380) == 0)
setquest 11380;// Final Room
break;
}
}
close3;
case 0:
case 1:
mes "[Mark]";
cutin "bu_mark1.bmp",0;
mes "...You look tired.";
mes "Since you went there you should take a day to rest.";
close3;
case 2:
mes "[Mark]";
cutin "bu_mark1.bmp",0;
mes "I can't believe you want to enter a place like this again...";
erasequest 11379;// Final Room
close3;
}
}
// 1st step
1@uns,139,41,3 script Mark#room1 4_M_BLUEMAN,{
mes "[Mark]";
mes "Something doesn't feel right. It is better that we move carefully.";
cutin "bu_mark4.bmp",0;
close3;
}
1@uns,145,32,5 script Alph#room1 4_M_BLACKMAN,{
mes "[Alph]";
mes "There are suspicious traces everywhere.";
mes "Some kind of heavy machine seems to have passed...";
cutin "bu_alp1.bmp",2;
close3;
}
1@uns,145,37,3 script Tamarin#room1 4_M_TAMARIN,{
mes "[Tamarin]";
mes "Verity, are you alright?";
mes "You do not look good...";
cutin "ep143_taang.bmp",2;
close3;
}
1@uns,143,38,5 script Du#room1 4_M_REDMAN,{
mes "[Du]";
mes "I have a bad feeling about this...";
cutin "bu_du1.bmp",2;
close3;
}
1@uns,143,39,5 script Maggi#room1 4_F_PINKWOMAN,{
mes "[Maggi]";
mes "Aahh....";
cutin "bu_maggi4.bmp",2;
close3;
}
1@uns,144,37,3 script Verity#room1 4_F_BERRYTEA,{
if ('protocole < 2) {
mes "[Verity]";
mes "Umph...I suddenly have a feeling that's not good.";
cutin "EP15_2_brt_6.bmp",2;
if (is_party_leader() == false) {
mes "I wish to talk with the leader.";
close3;
}
npctalk "Verity: Umph...I suddenly have a feeling that's not good.";
next;
mes "[Verity]";
mes "Something is splitting my head....Ugh....";
npctalk "Verity: Something is splitting my head....Ugh....";
next;
mes "[Verity]";
mes "....Ugh....";
npctalk "Verity: ....Ugh....";
next;
mes "[Du]";
mes "Sister! Are you alright?!";
cutin "bu_du5.bmp",2;
npctalk "Du: Sister! Are you alright?!", instance_npcname("Du#room1");
next;
mes "[Verity]";
mes "....Have to go back....";
cutin "EP15_2_brt_7.bmp",2;
npctalk "Verity: ....Have to go back....";
next;
mes "[Tamarin]";
mes "Verity, are you alright?";
mes "Can you walk?";
cutin "ep143_tahuk.bmp",2;
npctalk "Tamarin: Verity, are you alright? Can you walk?", instance_npcname("Tamarin#room1");
next;
mes "[Verity]";
mes "Ugh...";
cutin "EP15_2_brt_6.bmp",2;
npctalk "Verity: Ugh...";
next;
mes "[Du]";
mes "" + strcharinfo(0) + "! I think it is better that you go back.";
cutin "bu_du5.bmp",2;
npctalk "Du: " + strcharinfo(0) + "! I think it is better that you go back.", instance_npcname("Du#room1");
next;
mes "[Verity]";
mes "N...no. I will catch up soon so go on ahead.";
cutin "EP15_2_brt_4.bmp",2;
npctalk "Verity: N...no. I will catch up soon so go on ahead.";
next;
mes "[Tamarin]";
mes "Then I will stay with Verity until she recovers so you can go on ahead.";
cutin "ep143_tahuk.bmp",2;
npctalk "Tamarin: Then I will stay with Verity until she recovers so you can go on ahead.";
close2;
if ('protocole == 0)
'protocole = 1;
cutin "",255;
}
end;
}
1@uns,140,45,0 script #lrdoor2 HIDDEN_WARP_NPC,6,6,{
end;
OnTouch:
if ('protocole == 0)
warp 'map_name$,142,30;
else if ('protocole == 1) {
'protocole = 2;
disablenpc instance_npcname("#lrdoor2");
disablenpc instance_npcname("Mark#room1");
disablenpc instance_npcname("Du#room1");
disablenpc instance_npcname("Tamarin#room1");
disablenpc instance_npcname("Verity#room1");
disablenpc instance_npcname("Maggi#room1");
disablenpc instance_npcname("Alph#room1");
mapannounce 'map_name$, "-----------------Creak---------------------",bc_map,"0xFF0000";
sleep 2000;
mapannounce 'map_name$, "-----Creak---Wrr--------------------------",bc_map,"0xFF0000";
sleep 2000;
mapannounce 'map_name$, "--------------Wirrrrrrr-----------------",bc_map,"0xFF0000";
sleep 2000;
mapannounce 'map_name$, "-----Zizip--------Zizizip------------------",bc_map,"0xFF0000";
sleep 2000;
mapannounce 'map_name$, "System message : Intruder detected.",bc_map,"0xFF0000";
sleep 2000;
mapannounce 'map_name$, "System message : Sealing off entrance and eliminating intruder according to designated protocols.",bc_map,"0xFF0000";
donpcevent instance_npcname("protocole1") + "::OnStart";
}
end;
}
1@uns,1,1,0 script protocole1 -1,{
end;
OnStart:
enablenpc instance_npcname("protocole1");
monster 'map_name$,47,49,"System message",3253,1, instance_npcname("protocole1") + "::OnMyMobDead2";
callsub S_Spawn;
OnTimer300000:
mapannounce 'map_name$, "System message : Eliminating intruder.",bc_map,"0xFF0000";
callsub S_Spawn;
S_Spawn:
initnpctimer;
.@npc_name$ = instance_npcname("protocole1");
// don't kill System message
killmonster 'map_name$, .@npc_name$ + "::OnMyMobDead";
areamonster 'map_name$,118,56,131,67, "Machine Component",3251,6, .@npc_name$ + "::OnMyMobDead";
areamonster 'map_name$, 62,82, 61,67, "Machine Component",3251,6, .@npc_name$ + "::OnMyMobDead";
areamonster 'map_name$, 46,89, 64,96, "Machine Component",3251,6, .@npc_name$ + "::OnMyMobDead";
areamonster 'map_name$,118,56,131,67, "Machine Component",3252,6, .@npc_name$ + "::OnMyMobDead";
areamonster 'map_name$, 62,82, 61,67, "Machine Component",3252,6, .@npc_name$ + "::OnMyMobDead";
areamonster 'map_name$, 46,89, 64,96, "Machine Component",3252,6, .@npc_name$ + "::OnMyMobDead";
end;
OnMyMobDead:
OnMyMobDead2:
.@count = mobcount( 'map_name$, instance_npcname("protocole1") + "::OnMyMobDead" ) + mobcount( 'map_name$, instance_npcname("protocole1") + "::OnMyMobDead2" );
if (.@count < 1) {
mapannounce 'map_name$, "System message : First protocol failed. Commencing next protocol.",bc_map,"0xFF0000";
stopnpctimer;
enablenpc instance_npcname("Tamarin#room2");
disablenpc instance_npcname("protocole1");
}
end;
}
1@uns,67,97,3 script Tamarin#room2 4_M_TAMARIN,{
mes "[Tamarin]";
mes "Huff huff... Verity suddenly huff huff couldn't even stand straight before huff huff...";
cutin "ep143_tahuk.bmp",2;
if (is_party_leader() == false) {
next;
mes "[Tamarin]";
mes "I don't think this is a problem we can solve by talking amongst ourselves.";
mes "Let's ask the leader's opinion first.";
close3;
}
npctalk "Tamarin: Huff huff... Verity suddenly huff huff couldn't even stand straight before huff huff...";
next;
mes "[Tamarin]";
mes "Ran off so fast huff...huff... to even catch up. Huff huff";
npctalk "Tamarin: Ran off so fast huff...huff... to even catch up. Huff huff";
next;
mapannounce 'map_name$, "System message : An unidentified object is moving fast from Zone 1 to Zone 2.",bc_map,"0xFF0000";
mes "[Tamarin]";
mes "Uh... Could Verity have gone that far?";
npctalk "Tamarin: Uh... Could Verity have gone that far?";
next;
mapannounce 'map_name$, "System message : Commencing emergency protocol.",bc_map,"0xFF0000";
mes "[Tamarin]";
mes "We need to find Verity quickly";
npctalk "Tamarin: We need to find Verity quickly";
next;
mes "[Tamarin]";
mes "There is only the route going up so go ahead.";
npctalk "Tamarin: There is only the route going up so go ahead.";
close2;
if ('protocole == 2) {
'protocole = 3;
enablenpc instance_npcname("#lrdoor4");
for ( .@i = 1; .@i < 16; ++.@i )
enablenpc instance_npcname( "#lrboom" + .@i );
enablenpc instance_npcname("Verity#room2");
enablenpc instance_npcname("Verity#room3");
}
cutin "",255;
end;
}
// 2nd step
1@uns,100,121,0 warp2 #lrdoor4 3,3,1@uns,145,107
1@uns,157,94,0 script #lrboom1 4_CRACK,2,2,{
end;
OnTouch:
.@npc_name$ = instance_npcname( strnpcinfo(0) );
areamonster 'map_name$,176,26,196,52, "Machine Component", (3251 + rand(2)), 3, .@npc_name$ + "::OnMyMobDead";
mapannounce 'map_name$, "System message : Intruder detected in Zone 2.",bc_map,"0xFF0000";
disablenpc .@npc_name$;
end;
OnMyMobDead:
end;
}
1@uns,164,97,0 duplicate(#lrboom1) #lrboom2 4_CRACK,2,2
1@uns,166,92,0 duplicate(#lrboom1) #lrboom3 4_CRACK,2,2
1@uns,170,96,0 duplicate(#lrboom1) #lrboom4 4_CRACK,2,2
1@uns,175,93,0 duplicate(#lrboom1) #lrboom5 4_CRACK,2,2
1@uns,190,97,0 duplicate(#lrboom1) #lrboom6 4_CRACK,2,2
1@uns,194,94,0 duplicate(#lrboom1) #lrboom7 4_CRACK,2,2
1@uns,199,96,0 duplicate(#lrboom1) #lrboom8 4_CRACK,2,2
1@uns,206,93,0 duplicate(#lrboom1) #lrboom9 4_CRACK,2,2
1@uns,217,91,0 duplicate(#lrboom1) #lrboom10 4_CRACK,2,2
1@uns,224,79,0 duplicate(#lrboom1) #lrboom11 4_CRACK,2,2
1@uns,227,73,0 duplicate(#lrboom1) #lrboom12 4_CRACK,2,2
1@uns,227,69,0 duplicate(#lrboom1) #lrboom13 4_CRACK,2,2
1@uns,220,63,0 duplicate(#lrboom1) #lrboom14 4_CRACK,2,2
1@uns,201,60,0 duplicate(#lrboom1) #lrboom15 4_CRACK,2,2
1@uns,224,29,3 script Verity#room2 4_F_BERRYTEA,{
mes "[Verity]";
mes "Ah...Where am I..";
mes "What happened?";
cutin "EP15_2_brt_6.bmp",2;
next;
mes "[Verity]";
mes "My head...is splitting.";
mes "A sound coming from this...door...";
next;
if (select( "Quit.", "Go inside." ) == 1) {
mes "[Verity]";
mes "Go back...we have to go back...";
cutin "EP15_2_brt_7.bmp",2;
close3;
}
mes "[Verity]";
mes "Quickly...we have to go back...";
cutin "EP15_2_brt_7.bmp",2;
close2;
warp 'map_name$,240,255;
cutin "",255;
end;
}
// Last step
1@uns,242,253,3 script Verity#room3 4_F_BERRYTEA,{
mes "[Verity]";
mes "Finally.. We came back...";
mes "Finally.....";
cutin "EP15_2_brt_7.bmp",2;
close2;
cutin "",255;
if ('protocole == 3) {
'protocole = 4;
disablenpc instance_npcname("Verity#room3");
donpcevent instance_npcname("protocole3") + "::OnStart";
}
end;
}
1@uns,1,1,0 script protocole3 -1,{
end;
OnStart:
enablenpc instance_npcname("protocole3");
initnpctimer;
mapannounce 'map_name$, "System message : Intruder detected in Mother Room.",bc_map,"0xFF0000";
monster 'map_name$,247,270,"T_W_O",3254,1, instance_npcname("protocole3") + "::OnMyMobDead";
end;
OnTimer2000:
mapannounce 'map_name$, "System message : Commencing final protocol.",bc_map,"0xFF0000";
end;
OnTimer4000:
mapannounce 'map_name$, "System message : Changing all systems from maintenance mode to combat mode.",bc_map,"0xFF0000";
end;
OnTimer6000:
mapannounce 'map_name$, "System message : This is the final protocol to protect... all unrelated personnel please evacuate.",bc_map,"0xFF0000";
end;
OnTimer9000:
mapannounce 'map_name$, "T_W_O : Have to go back..... This place isn't it....",bc_map,"0xFF0000";
end;
OnTimer28000:
mapannounce 'map_name$, "System message : System damage occurred.",bc_map,"0xFF0000";
areamonster 'map_name$,222,250,267,281, "System message",3253,3, instance_npcname("protocole3") + "::OnMyMobDead2";
end;
OnTimer30000:
mapannounce 'map_name$, "T_W_O : Who am I? Why am I here?.",bc_map,"0xFF0000";
end;
OnTimer58000:
mapannounce 'map_name$, "System message : There may be critical damage within the Zone during system damage so please be careful.",bc_map,"0xFF0000";
end;
OnTimer88000:
mapannounce 'map_name$, "System message : System damage occurred.",bc_map,"0xFF0000";
areamonster 'map_name$,222,250,267,281, "System message",3253,3, instance_npcname("protocole3") + "::OnMyMobDead2";
end;
OnTimer98000:
mapannounce 'map_name$, "T_W_O : There is nothing left....",bc_map,"0xFF0000";
end;
OnTimer108000:
mapannounce 'map_name$, "T_W_O : I... Nor them....",bc_map,"0xFF0000";
end;
OnTimer148000:
mapannounce 'map_name$, "System message : System damage occurred.",bc_map,"0xFF0000";
areamonster 'map_name$,222,250,267,281, "System message",3253,3, instance_npcname("protocole3") + "::OnMyMobDead2";
end;
OnTimer208000:
mapannounce 'map_name$, "System message : System damage occurred.",bc_map,"0xFF0000";
areamonster 'map_name$,222,250,267,281, "System message",3253,3, instance_npcname("protocole3") + "::OnMyMobDead2";
stopnpctimer;
end;
OnMyMobDead:
stopnpctimer;
killmonster 'map_name$, instance_npcname("protocole3") + "::OnMyMobDead2";
mapannounce 'map_name$, "System message : All protocols failed. Locking down area excluding threat element.",bc_map,"0xFF0000";
enablenpc instance_npcname("Alph#room4");
enablenpc instance_npcname("Tamarin#room4");
enablenpc instance_npcname("Maggi#room4");
enablenpc instance_npcname("Du#room4");
enablenpc instance_npcname("Mark#room4");
enablenpc instance_npcname("Verity#room4");
disablenpc instance_npcname("protocole3");
end;
OnMyMobDead2:
end;
}
1@uns,236,258,1 script Alph#room4 4_M_BLACKMAN,{
mes "[Alph]";
mes "It's too early to relax...";
cutin "bu_alp1.bmp",2;
close3;
}
1@uns,244,257,3 script Tamarin#room4 4_M_TAMARIN,{
mes "[Tamarin]";
mes "Verity!!!";
mes "Pull yourself together!";
cutin "ep143_tahuk.bmp",2;
close3;
}
1@uns,245,254,3 script Maggi#room4 4_F_PINKWOMAN,{
mes "[Maggi]";
mes "Verity, are you alright?";
cutin "bu_maggi4.bmp",2;
close3;
}
1@uns,244,254,3 script Du#room4 4_M_REDMAN,{
mes "[Du]";
mes "Sister!";
mes "What happened?!";
mes "Are you alright?";
cutin "bu_du5.bmp",2;
close3;
}
1@uns,242,255,5 script Mark#room4 4_M_BLUEMAN,{
mes "[Mark]";
mes "Everybody out of the way!";
mes "I will cast Heal!!!";
cutin "bu_mark4.bmp",0;
close3;
}
1@uns,242,253,3 script Verity#room4 4_F_BERRYTEA,{
mes "[Du]";
mes "Sister!";
mes "What happened?!";
mes "Are you alright?";
cutin "bu_du5.bmp",2;
npctalk "Du: Sister! What happened?! Are you alright?", instance_npcname("Du#room4");
next;
mes "[Tamarin]";
mes "Verity!!!";
mes "Pull yourself together!";
cutin "ep143_tahuk.bmp",2;
npctalk "Tamarin: Verity!!! Pull yourself together!", instance_npcname("Tamarin#room4");
next;
mes "[Mark]";
mes "Everybody out of the way!";
mes "I will cast Heal!!!";
cutin "bu_mark4.bmp",0;
npctalk "Mark: Everybody out of the way! I will cast Heal!!!", instance_npcname("Mark#room4");
next;
mes "[Verity]";
mes "Uh..uhm...";
cutin "EP15_2_brt_4.bmp",2;
npctalk "Verity: Uh..uhm...";
next;
mes "[Verity]";
mes "Oh...";
mes "What is going on.";
mes "With serious faces.";
cutin "EP15_2_brt_5.bmp",2;
npctalk "Verity Oh... What is going on. With serious faces.";
next;
mes "[Du]";
mes "What do you think!";
mes "You don't remember?";
cutin "bu_du4.bmp",2;
npctalk "Du: What do you think! You don't remember?", instance_npcname("Du#room4");
next;
mes "[Verity]";
mes "Remember?";
cutin "EP15_2_brt_5.bmp",2;
npctalk "Verity: Remember?";
next;
mes "[Verity]";
mes "... Come to think of it where am I?";
cutin "EP15_2_brt_3.bmp",2;
npctalk "Verity: ... Come to think of it where am I?";
next;
mes "[Tamarin]";
mes "Verity you really don't remember anything?";
mes "Before...";
cutin "ep143_tahuk.bmp",2;
npctalk "Tamarin: Verity you really don't remember anything? Before...", instance_npcname("Tamarin#room4");
next;
mes "[Verity]";
mes "Uhm...";
mes "I think my head was splitting since I went underground...";
npctalk "Verity: I think my head was splitting since I went underground...";
cutin "EP15_2_brt_3.bmp",2;
next;
mes "[Verity]";
mes "I don't remember anything after that.";
npctalk "Verity: I don't remember anything after that.";
cutin "EP15_2_brt_5.bmp",2;
next;
mes "[Du]";
mes "Just now something tremendous...";
cutin "bu_du4.bmp",2;
npctalk "Du: Just now something tremendous...", instance_npcname("Du#room4");
next;
mes "[Alph]";
mes "Hey... I don't think this is a situation where we should be chatting right now.";
cutin "bu_alp3.bmp",2;
npctalk "Alph: Hey... I don't think this is a situation where we should be chatting right now.", instance_npcname("Alph#room4");
next;
mes "[Du]";
mes "You call this chatting?";
mes "It was tremendous before okay?";
cutin "bu_du4.bmp",2;
npctalk "Du: You call this chatting? It was tremendous before okay?", instance_npcname("Du#room4");
next;
mes "[Alph]";
mes "Do you hear this?";
mes "Something is coming...";
cutin "bu_alp1.bmp",2;
npctalk "Alph: Do you hear this? Something is coming...", instance_npcname("Alph#room4");
next;
mes "[Tamarin]";
mes "Now...now that I look the ground is..., shaking a little, right?";
cutin "ep143_tahuk.bmp",2;
npctalk "Tamarin: Now...now that I look the ground is..., shaking a little, right?", instance_npcname("Tamarin#room4");
next;
mes "[Du]";
mes "What...what's this?";
cutin "bu_du4.bmp",2;
npctalk "Du: What...what's this?", instance_npcname("Du#room4");
next;
mes "[Alph]";
mes "This is...dangerous.";
mes "This is not a level we can handle...";
cutin "bu_alp2.bmp",2;
npctalk "Alph: This is...dangerous. This is not a level we can handle...", instance_npcname("Alph#room4");
next;
mes "[Mark]";
mes "Qui...quickly outside!!!!!";
cutin "bu_mark4.bmp",0;
npctalk "Mark: Qui...quickly outside!!!!!", instance_npcname("Mark#room4");
close2;
warp "un_bunker",299,162;
cutin "",255;
end;
OnInstanceInit:
'map_name$ = instance_mapname("1@uns");
'protocole = 0;
// 1st step
disablenpc instance_npcname("protocole1");
disablenpc instance_npcname("Tamarin#room2");
disablenpc instance_npcname("#lrdoor4");
// 2nd step
disablenpc instance_npcname("Verity#room2");
for ( .@i = 1; .@i < 16; ++.@i )
disablenpc instance_npcname( "#lrboom" + .@i );
// Last step
disablenpc instance_npcname("Verity#room3");
disablenpc instance_npcname("protocole3");
disablenpc instance_npcname("Alph#room4");
disablenpc instance_npcname("Tamarin#room4");
disablenpc instance_npcname("Maggi#room4");
disablenpc instance_npcname("Du#room4");
disablenpc instance_npcname("Mark#room4");
disablenpc instance_npcname("Verity#room4");
end;
}