490 lines
13 KiB
Plaintext
490 lines
13 KiB
Plaintext
//===== rAthena Script =======================================
|
|
//= 2 Instances:
|
|
// - Bagot Laboratory
|
|
// - Simulation Battle
|
|
//===== Description: =========================================
|
|
//- [Walkthrough conversion]
|
|
//- Instance of episode 19 (same map).
|
|
//===== Changelogs: ==========================================
|
|
//= 1.0 First version. [Atemo]
|
|
//============================================================
|
|
|
|
// Bagot Laboratory
|
|
// ------------------------------
|
|
|
|
// Main Quest: Step 58
|
|
jor_dun03,57,63,3 script(CLOAKED) Juncea#ep19re2 4_EP19_JUNCEA,{
|
|
if (ep19_main == 49) { // Step 58
|
|
cutin "ep19_juncea04.png",2;
|
|
mes "[Juncea]";
|
|
mes "Oh, I want to talk to you alone. Are you okay?";
|
|
next;
|
|
cutin "",255;
|
|
mes "- ^0000ffLet's have a party of 1 and listen to Juncea's story.^000000 -";
|
|
erasequest 16659;
|
|
setquest 16660;
|
|
ep19_main = 50;
|
|
close;
|
|
}
|
|
if (ep19_main == 50) {
|
|
if (is_party_leader() == false) {
|
|
mes "[Juncea]";
|
|
mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
|
|
close;
|
|
}
|
|
.@md_name$ = "Bagot Laboratory";
|
|
switch( select( "Prepare to enter " + .@md_name$, "Enter " + .@md_name$ ) ) {
|
|
case 1:
|
|
if (is_party_leader() == false) {
|
|
mes "[Juncea]";
|
|
mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
|
|
close;
|
|
}
|
|
mes "- ^0000ffPreparation for entry has started. After you are ready, press the button to enter " + .@md_name$ + ".^000000 -";
|
|
instance_create(.@md_name$);
|
|
close;
|
|
case 2:
|
|
if (is_party_leader() == false) {
|
|
mes "[Juncea]";
|
|
mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
|
|
close;
|
|
}
|
|
switch( instance_enter(.@md_name$) ) {
|
|
case IE_OTHER:
|
|
mes "An unknown error occurred.";
|
|
close;
|
|
case IE_NOINSTANCE:
|
|
mes "- ^0000ffMemorial dungeon not created. Please check again.^000000 -";
|
|
close;
|
|
case IE_NOMEMBER:
|
|
mes "[Juncea]";
|
|
mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
|
|
close;
|
|
case IE_OK:
|
|
// warp "1@jorlab",57,45;
|
|
end;
|
|
}
|
|
end;
|
|
}
|
|
end;
|
|
}
|
|
end;
|
|
|
|
OnInit:
|
|
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(16659) == 1" );
|
|
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(16660) == 1" );
|
|
end;
|
|
}
|
|
|
|
|
|
1@jorlab,1,1,0 script #jorlab_main -1,{
|
|
end;
|
|
OnInstanceInit:
|
|
'map_jorlab$ = instance_mapname("1@jorlab");
|
|
'event = 0;
|
|
.@md_name$ = "Bagot Laboratory";
|
|
|
|
disablenpc instance_npcname("Juncea#ep19re4");
|
|
|
|
if (instance_live_info(ILI_NAME) == .@md_name$) // MD "Bagot Laboratory"
|
|
disablenpc instance_npcname("Summon Device#ep19re1");
|
|
else { // MD "Simulation"
|
|
disablenpc instance_npcname("#jorlab_hw1");
|
|
disablenpc instance_npcname("Juncea#ep19re3");
|
|
}
|
|
end;
|
|
}
|
|
|
|
1@jorlab,58,45,0 script #jorlab_hw1 HIDDEN_WARP_NPC,4,4,{
|
|
end;
|
|
OnTouch:
|
|
disablenpc();
|
|
if (ep19_main == 50) {
|
|
if ('event != 0)
|
|
end;
|
|
if (is_party_leader() == false)
|
|
end;
|
|
enablenpc instance_npcname("Juncea#ep19re3");
|
|
end;
|
|
}
|
|
end;
|
|
}
|
|
|
|
// Main Quest: Step 59
|
|
1@jorlab,58,67,3 script Juncea#ep19re3 4_EP19_JUNCEA,{
|
|
if (ep19_main != 50)
|
|
end;
|
|
if (is_party_leader() == false)
|
|
end;
|
|
.@npc_name$ = instance_npcname("Juncea#ep19re3");
|
|
if ('event == 0) {
|
|
cutin "ep19_juncea04.png",2;
|
|
mes "[Juncea]";
|
|
mes "Oh, I'm here. Welcome.";
|
|
next;
|
|
cutin "",255;
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "Why do you want it to be just the two of us?";
|
|
mes "Although, I had some questions for you too.";
|
|
next;
|
|
cutin "ep19_juncea04.png",2;
|
|
mes "[Juncea]";
|
|
mes "Oh, I thought so.";
|
|
mes "But listen to me first.";
|
|
next;
|
|
mes "[Juncea]";
|
|
mes "You are in a lot of trouble.";
|
|
mes "It must be hard to be someone you're not.";
|
|
next;
|
|
cutin "",255;
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "What do you mean? What's wrong? You're a bit strange. You scare me.";
|
|
next;
|
|
cutin "ep19_juncea04.png",2;
|
|
mes "[Juncea]";
|
|
mes "What are you afraid of? You've done a good job of pretending to be friendly so far. Why are you suddenly acting scared again?";
|
|
next;
|
|
cutin "",255;
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "I didn't pretend to be friendly. I really want to become friends with you.";
|
|
next;
|
|
cutin "ep19_juncea04.png",2;
|
|
mes "[Juncea]";
|
|
mes "Whoa, that's why you were so hard on me to gossip about Bagot? It's a good way, it's a good way.";
|
|
mes "There is no faster way to make friends than to curse the same person.";
|
|
next;
|
|
mes "[Juncea]";
|
|
mes "However, you chose the wrong opponent. Idiot.";
|
|
next;
|
|
mes "[Juncea]";
|
|
mes "The great... Bagot, do you think you will... fall for such a shallow... masterpiece?";
|
|
next;
|
|
cutin "",255;
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "Are you the great Bagot?";
|
|
next;
|
|
cutin "ep19_juncea04.png",2;
|
|
mes "[Juncea]";
|
|
mes "Yeah... It's already reading your thoughts...";
|
|
next;
|
|
mes "[Juncea]";
|
|
mes "You know... you're trying to... use me.";
|
|
next;
|
|
mes "[Juncea]";
|
|
mes "So I...";
|
|
next;
|
|
mes "[Juncea]";
|
|
mes "I am... Who am I? This is...";
|
|
next;
|
|
cutin "",255;
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "(Juncea is weird..., did Bagot do something?)";
|
|
next;
|
|
cutin "ep19_juncea04.png",2;
|
|
mes "[Juncea]";
|
|
mes "Even if I jumped... you're already in Bagot's palm.";
|
|
next;
|
|
cutin "ep19_juncea00.png",1;
|
|
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA_M );
|
|
mes "[Juncea]";
|
|
mes "Here... I'll take care of it...!";
|
|
next;
|
|
cutin "",255;
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "(...I don't have time to ask anyone for help! I have to do that myself!)";
|
|
if ('event == 0)
|
|
'event = 1;
|
|
close;
|
|
}
|
|
if ('event == 1) {
|
|
cutin "ep19_juncea04.png",2;
|
|
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA );
|
|
mes "[Juncea]";
|
|
mes "Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah!";
|
|
next;
|
|
cutin "ep19_juncea00.png",1;
|
|
sleep2 500;
|
|
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA_M );
|
|
mes "[Juncea]";
|
|
mes "Everything is... Bagot's... Meaning...!";
|
|
next;
|
|
cutin "ep19_juncea04.png",2;
|
|
sleep2 500;
|
|
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA );
|
|
mes "[Juncea]";
|
|
mes "Aaaaaaah!";
|
|
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA_M );
|
|
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA );
|
|
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA_M );
|
|
sleep2 500;
|
|
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA );
|
|
next;
|
|
cutin "ep19_juncea00.png",1;
|
|
sleep2 500;
|
|
setnpcdisplay( .@npc_name$, 4_EP19_JUNCEA_M );
|
|
mes "[Juncea]";
|
|
mes "As intended... I will punish you!";
|
|
close2;
|
|
cutin "",255;
|
|
if ('event != 1)
|
|
end;
|
|
'event = 2;
|
|
disablenpc();
|
|
donpcevent instance_npcname("jorlab_boss") + "::OnStart";
|
|
end;
|
|
}
|
|
end;
|
|
}
|
|
|
|
1@jorlab,1,1,0 script jorlab_boss -1,{
|
|
end;
|
|
OnStart:
|
|
sleep 500;
|
|
monster 'map_jorlab$,58,67,"--ja--",21532,1, instance_npcname("jorlab_boss") + "::OnMobDead"; // EP19_MD_JUNCEA
|
|
end;
|
|
OnMobDead:
|
|
if ('event != 2)
|
|
end;
|
|
'event = 3;
|
|
enablenpc instance_npcname("Juncea#ep19re4");
|
|
end;
|
|
}
|
|
|
|
|
|
// Main Quest: Step 60
|
|
1@jorlab,58,67,3 script Juncea#ep19re4 4_EP19_JUNCEA_D,{
|
|
if (ep19_main != 50) {
|
|
warp "icecastle",27,123;
|
|
end;
|
|
}
|
|
if ('event != 3)
|
|
end;
|
|
if (is_party_leader() == false)
|
|
end;
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "(Barely subdued. Juncea lost her mind...)";
|
|
next;
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "(Bagot... What did you do to Juncea? You've turned her into a monster right?)";
|
|
next;
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "(If everything went according to plan, we should have persuaded her and taken her out, but we should have taken her out even in this condition.)";
|
|
mapannounce 'map_jorlab$, "Bagot: Oh, it was not enough to use Juncea as a vessel.", bc_map, 0xFFFF;
|
|
next;
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "(I used the Ragan Transformation Scroll on Juncea as I had planned...)";
|
|
mapannounce 'map_jorlab$, "Bagot: This time, my prediction was wrong.", bc_map, 0xFFFF;
|
|
next;
|
|
setnpcdisplay( instance_npcname("Juncea#ep19re4"), 4_EP19_RGAN_R1 );
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "(For now, let's take her back to the village.)";
|
|
mapannounce 'map_jorlab$, "Bagot: By the way, there were scrolls like that... I knew they were cheating, but the existence of such a thing is interesting.", bc_map, 0xFFFF;
|
|
next;
|
|
mes "[" + strcharinfo(0) + "]";
|
|
mes "(I think I heard something... I must have heard it wrong?)";
|
|
mapannounce 'map_jorlab$, "Bagot: Whoops.", bc_map, 0xFFFF;
|
|
erasequest 16660;
|
|
setquest 16661;
|
|
ep19_main = 51;
|
|
close2;
|
|
warp "icecastle",27,123;
|
|
end;
|
|
|
|
OnInstanceInit:
|
|
questinfo( QTYPE_QUEST, QMARK_NONE, "checkquest(16660,HUNTING) == 2" );
|
|
end;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Simulation Battle
|
|
// ------------------------------
|
|
|
|
jor_nest,66,260,3 script Arolong#ep19re2 4_EP19_IWIN,{
|
|
if (ep19_main < 100)
|
|
end;
|
|
if (checkweight(1000811,1) == 0) {
|
|
mes "[Arolong]";
|
|
mes "- Your bag is full. Please check the weight and quantity of items you have and then talk to us again. -";
|
|
close;
|
|
}
|
|
switch( checkquest(16663,PLAYTIME) ) {
|
|
case -1:
|
|
break;
|
|
case 0:
|
|
case 1:
|
|
mes "[Arolong]";
|
|
mes "Today's challenge is over.";
|
|
mes "If you come back tomorrow, please let me in.";
|
|
next;
|
|
mes "[Arolong]";
|
|
mes "Okay?";
|
|
mes "Have a good rest, see you again tomorrow.";
|
|
close;
|
|
case 2:
|
|
erasequest 16663;
|
|
break;
|
|
}
|
|
if (checkquest(16662,HUNTING) == 2) {
|
|
mes "[Arolong]";
|
|
mes "Societyless Simulation with Juncea";
|
|
mes "Did you win a fight and come back?";
|
|
next;
|
|
mes "[Arolong]";
|
|
mes "Child, it's okay if you don't answer.";
|
|
mes "I've seen it all here.";
|
|
next;
|
|
mes "[Arolong]";
|
|
mes "Well done.";
|
|
mes "It's a great win and come back.";
|
|
next;
|
|
mes "[Arolong]";
|
|
mes "The data are paired, so our researchers also";
|
|
mes "Your calf.";
|
|
mes "Then, please accept the promised reward.";
|
|
next;
|
|
mes "[Arolong]";
|
|
mes "Have a good rest, see you again tomorrow.";
|
|
mes "I'll try again tomorrow.";
|
|
close2;
|
|
erasequest 16662;
|
|
setquest 16663;
|
|
getitem 1000811,1; // Snow_F_Ore
|
|
// todo
|
|
end;
|
|
}
|
|
// Note: Player can re-enter / re-create an instance until the boss is defeated
|
|
cutin "ep19_iwin01.png",2;
|
|
mes "[Arolong]";
|
|
mes "The battle with Juncea wasn't thrilling, wasn't it?";
|
|
mes "You want to fight again, don't you think?";
|
|
next;
|
|
cutin "",255;
|
|
if (select( "Lift", "Don't lift" ) == 2) {
|
|
cutin "ep19_iwin01.png",2;
|
|
mes "[Arolong]";
|
|
mes "Is that so?";
|
|
mes "I'm sorry.";
|
|
close3;
|
|
}
|
|
cutin "ep19_iwin01.png",2;
|
|
mes "[Arolong]";
|
|
mes "It was prepared for such an adventurer.";
|
|
mes "Exciting simulation battles with simulation data Juncea.";
|
|
next;
|
|
mes "[Arolong]";
|
|
mes "I prepared it at the Ice Castle, so it's safe.";
|
|
mes "Defeat " + getmonsterinfo("EP19_MD_JUNCEA_S", MOB_NAME) + " once a day.";
|
|
next;
|
|
mes "[Arolong]";
|
|
mes "But you can try again and again until you defeat it.";
|
|
mes "Would you like to try it?";
|
|
next;
|
|
.@md_name$ = "Simulation Battle";
|
|
if (is_party_leader() == true)
|
|
.@menu$ = "Prepare to enter Bagot's lab";
|
|
|
|
cutin "",255;
|
|
switch( select( .@menu$, "Enter Bagot's Lab", "Do not challenge" ) ) {
|
|
case 1:
|
|
mes "- ^0000ff Preparation for entry has started. After you are ready, press the button to enter the lab in Bagot.^000000 -";
|
|
instance_create(.@md_name$);
|
|
close;
|
|
case 2:
|
|
switch( instance_enter(.@md_name$) ) {
|
|
case IE_OTHER:
|
|
mes "An unknown error occurred.";
|
|
close;
|
|
case IE_NOINSTANCE:
|
|
mes "- ^0000ff Memorial dungeon not created. Please check again.^000000 -";
|
|
close;
|
|
case IE_NOMEMBER:
|
|
mes "[Juncea]";
|
|
mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
|
|
close;
|
|
case IE_OK:
|
|
if (isbegin_quest(16662) == 0)
|
|
setquest 16662;
|
|
// warp "1@jorlab",57,45;
|
|
end;
|
|
}
|
|
end;
|
|
case 3:
|
|
cutin "ep19_iwin01.png",2;
|
|
mes "[Arolong]";
|
|
mes "Heh, what a boring adventure.";
|
|
close3;
|
|
}
|
|
end;
|
|
|
|
OnInit:
|
|
cloakonnpc();
|
|
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "ep19_main >= 100 && checkquest(16662,HUNTING) != 2 && checkquest(16663,PLAYTIME) == -1" );
|
|
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(16663,PLAYTIME) == 2" );
|
|
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(16662,HUNTING) == 2" );
|
|
end;
|
|
}
|
|
|
|
1@jorlab,58,67,3 script Summon Device#ep19re1 PORTAL,{
|
|
if ('event == 2) {
|
|
mes "[Summon Device]";
|
|
mes "Battle complete, save data.";
|
|
mes "Press the Yes button to exit the lab";
|
|
mes "Please press";
|
|
next;
|
|
if (select( "Yes", "No" ) == 2) {
|
|
mes "[Summon Device]";
|
|
mes "Exit.";
|
|
close;
|
|
}
|
|
mes "[Summon Device]";
|
|
mes "3, 2, 1. Ready to move.";
|
|
close2;
|
|
warp "jor_nest",63,257;
|
|
end;
|
|
}
|
|
if (is_party_leader() == false || 'event != 0) {
|
|
mes "[Summon Device]";
|
|
mes "- I am talking with another party member. Please listen together for a moment. -";
|
|
mes "- If the conversation ended due to an error, you will be able to talk 5 minutes after the conversation starts. -";
|
|
close;
|
|
}
|
|
mes "[Summon Device]";
|
|
mes "Start a simulation battle.";
|
|
mes "When you are ready, click the Yes button.";
|
|
next;
|
|
mes "[Summon Device]";
|
|
mes "Are you ready?";
|
|
next;
|
|
if (select( "Yes", "No" ) == 2) {
|
|
mes "[Summon Device]";
|
|
mes "Exit.";
|
|
close;
|
|
}
|
|
mes "[Summon Device]";
|
|
mes "Summon " + getmonsterinfo("EP19_MD_JUNCEA_S", MOB_NAME) + ".";
|
|
mes "3, 2, 1. Ready to summon.";
|
|
close2;
|
|
if ('event == 0) {
|
|
'event = 1;
|
|
disablenpc();
|
|
donpcevent instance_npcname("ep19_simulation_battle") + "::OnStart";
|
|
}
|
|
end;
|
|
}
|
|
|
|
1@jorlab,1,1,0 script ep19_simulation_battle -1,{
|
|
end;
|
|
OnStart:
|
|
monster 'map_jorlab$,58,67,"--ja--","EP19_MD_JUNCEA_S",1, instance_npcname("ep19_simulation_battle") + "::OnBossDead";
|
|
end;
|
|
OnBossDead:
|
|
if ('event != 1)
|
|
end;
|
|
'event = 2;
|
|
enablenpc instance_npcname("Summon Device#ep19re1");
|
|
end;
|
|
}
|