rathena/npc/re/instances/IwinPatrol.txt

1181 lines
44 KiB
Plaintext

//===== rAthena Script =======================================
//= Instance: Iwin Patrol.
//===== Description: =========================================
//- [Walkthrough conversion]
//- Daily instance of episode 19.
//===== Changelogs: ==========================================
//= 1.0 First version. [Atemo]
//============================================================
// Main Quest: Step 10 to 11
icecastle,23,115,8 script Captain#iws EP19_NPC_IWIN_SR,{
if (checkweight(1201,3) == 0) {
mes "- You cannot proceed because you have too many items. -";
close;
}
if (ep19_main < 10) {
mes "[" + strcharinfo(0) + "]";
mes "Eagle patrol? What do they do?";
next;
mes "[Captain of Patrol]";
mes "A unit that periodically patrols the Frozen Scale area.";
next;
mes "[Captain of Patrol]";
mes "Well, now it's made up of Iwin, and we're the only ones in charge of patrolling, but... ";
next;
mes "[Captain of Patrol]";
mes "Because adventurers have begun to flow into Isgadr's Ice Castle.";
next;
mes "[Captain of Patrol]";
mes "If there are more people like you, won't there be a chance to patrol with you and build friendships?";
next;
mes "[Captain of Patrol]";
mes "Hahaha! I'm looking forward to that day.";
close;
}
if (ep19_main == 10) {
mes "[Captain of Patrol]";
mes "Did you come here after seeing the announcement? Huh? No?";
next;
mes "[Captain of Patrol]";
mes "Well, you came to me anyway.";
mes "I am Captain Marsha Gigi Happy Rev Eve of Eagle Patrol, Alice Lloyd Broad-Minded Tess Vortexrao.";
next;
cloakoffnpcself( "Private Holly #exiwp" );
sleep2 1000;
npctalk "Horiryu: We report the completion of the patrol of Captain Hyoryo.", "Private Holly #exiwp", bc_self;
sleep2 500;
npctalk "Guard Captain: Are you all right?", "", bc_self;
sleep2 500;
npctalk "Horiryu: It's okay.", "Private Holly #exiwp", bc_self;
sleep2 500;
npctalk "Horiryu: Huh?! Are those adventurers who say that the ashes have been recruited to the Ice Castle this time?", "Private Holly #exiwp", bc_self;
sleep2 500;
npctalk "Captain of Patrol: Ah! Come to think of it, I've heard that kind of thing. Anyway, you've worked hard. Rest.", "", bc_self;
sleep2 500;
npctalk "Horiryu: Yep.", "Private Holly #exiwp", bc_self;
sleep2 500;
cloakonnpcself( "Private Holly #exiwp" );
mes "[Captain of Patrol]";
mes "These were precious people, I'm sorry to have kept you waiting. It's more important to receive reports.";
next;
mes "[" + strcharinfo(0) + "]";
mes "Is it called Hyoryo-ryo?";
next;
npctalk "(Shit! Extraterrestrial creatures..)", "", bc_self;
mes "[Captain of Patrol]";
mes "Hmmmm.. I'm not an official patrol member, so call me whatever you like. Documents for joining the Eagle Patrol.";
next;
mes "[Captain of Patrol]";
mes "Well, I really want to sign up. There is a problem with the procedure. Please read it carefully and sign it.";
next;
mes "[Documents for joining the Eagle Patrol]";
mes "Aren't you Rgan?";
mes "Is your body healthy?";
mes "Are you at peace?";
mes "If there is nothing urgent, will you join the patrol every day?";
mes "----";
mes "If you agree to the above, please sign.";
next;
select( "Sign" );
mes "[Captain of Patrol]";
mes "Have you ever practiced? Your signature looks really cool. I'll put your name on the Eagle Patrol's honorary member.";
next;
ep19_main = 11;
erasequest 18127;
setquest 5972;
mes "[Captain of Patrol]";
mes "You can do it alone or with a co-worker. Let me know when you're ready to make a party and go on patrol.";
close;
}
if (getstatus(SC_MONSTER_TRANSFORM,1) == 21530) {
setpcblock PCBLOCK_NPC, true;
npctalk "(Ah! Surprise!)", "", bc_self;
emotion ET_HUK;
sleep2 500;
npctalk "Captain of Patrol: I guess that's because an adventurer can transform into a Rgan.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
}
.@md_name$ = "Iwin Patrol";
if (isbegin_quest(5974) == 1) {
erasequest 5974;
setquest 5973;
mes "[Captain of Patrol]";
mes "It's strange. Did anything urgent happen while on patrol? The kids have already been on patrol.. You can't send them again, so come back tomorrow.";
close;
}
switch( checkquest(5973,PLAYTIME) ) {
case -1:
break;
case 0:
case 1: // note: player can re-enter if the instance is still active, but no reward !
mes "[Captain of Patrol]";
mes "Have you already been on patrol? What's going on?";
next;
switch( select( "I'm going on patrol.", "We're chatting.", "I just came." ) ) {
case 1:
mes "[Captain of Patrol]";
mes "You're a hardworking friend. I don't recommend it, but if you're going to join another party, well, I won't stop you.";
next;
switch( instance_enter(.@md_name$) ) {
case IE_OTHER:
mes "^ff0000An unknown error occurred.^000000";
close;
case IE_NOINSTANCE:
mes "[Captain of Patrol]";
mes "Then rest.";
close;
case IE_NOMEMBER:
mes "[Captain of Patrol]";
mes "Didn't I tell you to make a party even if you're going alone? Have you never done it? Then you've done it now, so let's go and make a party.";
close;
case IE_OK:
mapannounce "icecastle", "" + strcharinfo(0) + ": I will patrol", bc_map, 0xDF297;
// warp "1@iwp",380,229;
end;
}
end;
case 2:
callsub( S_Talk );
case 3:
mes "[Captain of Patrol]";
mes "You're a refreshing friend. If you're bored, you can even take a lap around the castle. You won't want to move because it's cold.";
close;
}
case 2:
erasequest 5973;
npctalk "Captain of Patrol: Come to think of it, is it time to patrol? When you're ready, tell me.", "", bc_self;
break;
}
if (ep19_main == 11) { // note: slightly different dialogue from daily quests
mes "[Captain of Patrol]";
mes "Is this your first patrol? It's not like you're sending it alone, it's with the patrol members, so you don't have to be afraid.";
next;
switch( select( "Report the number of patrols.", "I will go on patrol.", "Wait a minute." ) ) {
case 1:
if (is_party_leader() == false) {
mes "[Captain of Patrol]";
mes "Didn't I tell you to make a party even if you're going alone? Have you never done it? Then you've done it now, so let's go and make a party.";
close;
}
instance_create(.@md_name$);
getpartymember getcharid(1), 2;
mes "[Captain of Patrol]";
mes "I have registered the number of patrol members as " + $@partymembercount + ". It is not necessary to register all of them, but we will check the number of people when we go out on patrol, so please join us.";
close;
case 2:
switch( instance_enter(.@md_name$) ) {
case IE_OTHER:
mes "^ff0000An unknown error occurred.^000000";
close;
case IE_NOINSTANCE:
mes "[Captain of Patrol]";
mes "The crew aren't ready yet, so please wait a bit.";
close;
case IE_NOMEMBER:
mes "[Captain of Patrol]";
mes "Didn't I tell you to make a party even if you're going alone? Have you never done it? Then you've done it now, so let's go and make a party.";
close;
case IE_OK:
mapannounce "icecastle", "" + strcharinfo(0) + ": I will patrol", bc_map, 0xDF297;
setquest 5974;
// warp "1@iwp",380,229;
end;
}
end;
case 3:
mes "[Captain of Patrol]";
mes "The patrol is not urgent, so take it slow. If you are really busy, you can send only the crew.";
close;
}
}
mes "[Captain of Patrol]";
mes "Ah! Is it time already?";
next;
switch( select( "Report the number of patrols.", "I will go on patrol.", "Let's chat." ) ) {
case 1:
if (is_party_leader() == false) {
mes "[Captain of Patrol]";
mes "Didn't I tell you to make a party even if you're going alone? Have you never done it? Then you've done it now, so let's go and make a party.";
close;
}
instance_create(.@md_name$);
getpartymember getcharid(1), 2;
mes "[Captain of Patrol]";
mes "I have registered the number of patrol members as " + $@partymembercount + ". It is not necessary to register all of them, but we will check the number of people when we go out on patrol, so please join us.";
close;
case 2:
switch( instance_enter(.@md_name$) ) {
case IE_OTHER:
mes "^ff0000An unknown error occurred.^000000";
close;
case IE_NOINSTANCE:
mes "[Captain of Patrol]";
mes "The crew aren't ready yet, so please wait a bit.";
close;
case IE_NOMEMBER:
mes "[Captain of Patrol]";
mes "Didn't I tell you to make a party even if you're going alone? Have you never done it? Then you've done it now, so let's go and make a party.";
close;
case IE_OK:
mapannounce "icecastle", "" + strcharinfo(0) + ": I will patrol", bc_map, 0xDF297;
setquest 5974;
// warp "1@iwp",380,229;
end;
}
end;
case 3:
callsub( S_Talk );
}
end;
S_Talk:
switch( rand(8) ) {
case 0:
mes "[" + strcharinfo(0) + "]";
mes "I.. Horiryuga..";
next;
mes "[Captain of Patrol]";
mes "Are you talking about Private Hori-ryu? Do you mean by any chance asking the outside adventurers to bring you feathers?";
next;
mes "[Captain of Patrol]";
mes "I already know this. Well, I'm cold too, aren't the crews cold?";
next;
mes "[Captain of Patrol]";
mes "I can't change the supply to something better, and I'll try to avoid the cold.";
next;
mes "[Captain of Patrol]";
mes "What are you going to do with it? You know and pretend you don't know.";
close;
case 1:
mes "[" + strcharinfo(0) + "]";
mes "Tell me how to overcome the cold.";
next;
mes "[Captain of Patrol]";
mes "How to overcome the cold? The longer the hair, the less it gets cold.";
next;
mes "[Captain of Patrol]";
mes "From my point of view, adventurers around here come from warm places and tend to dress too cold.";
close;
case 2:
mes "[" + strcharinfo(0) + "]";
mes "Is the patrol food served well?";
next;
mes "[Captain of Patrol]";
mes "It comes out relatively well.";
next;
mes "[Captain of Patrol]";
mes "Well, sometimes I don't like Iwin like monster prey, but there are side dishes I don't know in English that come out constantly...";
next;
mes "[Captain of Patrol]";
mes "On average, you can say that you are on the good side.";
close;
case 3:
mes "[" + strcharinfo(0) + "]";
mes "What kind of Iwin is the supply officer?";
next;
mes "[Captain of Patrol]";
mes "Supplier? Are you talking about Agorir Supply Officer?";
next;
mes "[Captain of Patrol]";
mes "Well, I can't say there aren't any problems, but he's a relatively sincere and steady friend.";
next;
mes "[Captain of Patrol]";
mes "I tried to pretend to be an agent to the crew, so I scratched the raven a few times...";
next;
mes "[Captain of Patrol]";
mes "Are you shocked? They don't seem to do it these days.";
close;
case 4:
mes "[" + strcharinfo(0) + "]";
mes "Dried ice cubes are really delicious? I didn't like them..";
next;
mes "[Captain of Patrol]";
mes "I can't eat it because I don't have it. I don't know why it's bad.";
close;
case 5:
mes "[" + strcharinfo(0) + "]";
mes "Masha.. Captain of the Patrol.";
next;
mes "[Captain of Patrol]";
mes "My name is Marsha Gigi Happy Rev Eve Alice Lloyd Broad-Minded Tess Vortex";
next;
mes "[Captain of Patrol]";
mes "If you want to shorten your name, just call it Hororyo.";
close;
case 6:
mes "[" + strcharinfo(0) + "]";
mes "What do Eagle Patrols usually do?";
next;
mes "[Captain of Patrol]";
mes "My job is to keep an eye out for any rgans in our area.";
next;
mes "[Captain of Patrol]";
mes "That's how I patrol the Frozen Scale Hill.";
next;
mes "[Captain of Patrol]";
mes "Oh, and I am grateful that the number of accidents has greatly decreased after the adventurers joined the patrol. Please continue to ask.";
close;
default:
mes "[" + strcharinfo(0) + "]";
mes "Do you know all the crew names?";
next;
mes "[Captain of Patrol]";
mes "Of course. I wonder whose name it is";
next;
switch( select( "Private Borira", "Recruit Pororon", "Recruit Hororung", "Private Loruru", "Pr. Torari", "Private Torari", "Private Horiryu", "Private Porarang", "Pr. Soruru", "Pr. Morurang", "Pr. Moruryu", "Pr. Porulyo" ) ) {
case 1:
mes "[Captain of Patrol]";
mes "Bolly, the recruit's name is..";
mes "Isabel Buck Hollis.";
close;
case 2:
mes "[Captain of Patrol]";
mes "The name of the new recruit Pororon is..";
mes "It's a Supernova Self-Controlled Cooper.";
close;
case 3:
mes "[Captain of Patrol]";
mes "Holulung recruitThe name is...";
mes "Baby Gabriel Denver.";
close;
case 4:
mes "[Captain of Patrol]";
mes "Private Louru's name is...";
mes "Violet Matilda Luis Laviada.";
close;
case 5:
mes "[Captain of Patrol]";
mes "Private Torari's name is...";
mes "This is Ted Eldora's Encounter Isabelle.";
close;
case 6:
mes "[Captain of Patrol]";
mes "Private Toralong's name is...";
mes "Harley is hard-walking Victoria Evan.";
close;
case 7:
mes "[Captain of Patrol]";
mes "Pr. Hoririu's name is...";
mes "Rev Diallo is Carmen Jefferson Linda.";
close;
case 8:
mes "[Captain of Patrol]";
mes "Pr. Porarang's name is...";
mes "Avid Oblivion Daisy Esteban Raffy.";
close;
case 9:
case 10:
case 11:
case 12:
end;
}
}
end;
OnInit:
setunittitle( getnpcid(0), "<Eagle Patrol>" );
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(18127) == 1" );
// first time
questinfo( QTYPE_CLICKME, QMARK_YELLOW, "ep19_main == 11 && isbegin_quest(5974) == 0 && checkquest(5973,PLAYTIME) == -1" );
questinfo( QTYPE_CLICKME, QMARK_YELLOW, "ep19_main == 11 && isbegin_quest(5974) == 0 && checkquest(5973,PLAYTIME) == 2" );
// daily
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "ep19_main > 11 && isbegin_quest(5974) == 0 && checkquest(5973,PLAYTIME) == -1" );
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "ep19_main > 11 && isbegin_quest(5974) == 0 && checkquest(5973,PLAYTIME) == 2" );
end;
}
icecastle,21,118,6 duplicate(dummy_cloaked_npc) Private Holly #exiwp EP19_NPC_IWIN_SB
// warps
1@iwp,98,10,0 script MD exit warp#tail1 WARPNPC,2,2,{
mes "[Information]";
mes "Patrol with Iwin";
mes "Leave the Memorial Dungeon. Some progress may not be saved.";
next;
if (select( "Do not leave", "Exit" ) == 1)
end;
warp "icecastle",20,123;
end;
}
1@iwp,214,390,0 duplicate(MD exit warp#tail1) MD exit warp#plain WARPNPC,2,2
1@iwp,385,229,0 duplicate(MD exit warp#tail1) MD Exit Warp#Ice Castle WARPNPC,2,2
// random npcs + mobs spawn
1@iwp,1,1,0 script iwp_mobs_respawn -1,{
end;
OnInstanceInit:
sleep 10;
deletearray 'step_player;
deletearray 'npc_step;
'map_iwp$ = instance_mapname("1@iwp");
'step = 0;
'final_enabled = 0;
// choose a random npc (each npc has a random set of dialog)
// For now only one set has been parsed
// 'npc_index = rand(1,3);
'npc_index = 2;
// store the npc visible name and name for npctalk
'EP19_NPC_IWIN_SG$ = instance_npcname("ep19_iwp_set" + 'npc_index + "_SG");
'EP19_NPC_IWIN_SN$ = instance_npcname("ep19_iwp_set" + 'npc_index + "_SN");
'EP19_NPC_IWIN_SY$ = instance_npcname("ep19_iwp_set" + 'npc_index + "_SY");
'EP19_NPC_IWIN_SB$ = instance_npcname("ep19_iwp_set" + 'npc_index + "_SB");
'EP19_NPC_IWIN_SG_id = getnpcid(0, 'EP19_NPC_IWIN_SG$);
'EP19_NPC_IWIN_SN_id = getnpcid(0, 'EP19_NPC_IWIN_SN$);
'EP19_NPC_IWIN_SY_id = getnpcid(0, 'EP19_NPC_IWIN_SY$);
'EP19_NPC_IWIN_SB_id = getnpcid(0, 'EP19_NPC_IWIN_SB$);
'EP19_NPC_IWIN_SG_visible$ = 'npc_visible_name$[ 'EP19_NPC_IWIN_SG_id ];
'EP19_NPC_IWIN_SN_visible$ = 'npc_visible_name$[ 'EP19_NPC_IWIN_SN_id ];
'EP19_NPC_IWIN_SY_visible$ = 'npc_visible_name$[ 'EP19_NPC_IWIN_SY_id ];
'EP19_NPC_IWIN_SB_visible$ = 'npc_visible_name$[ 'EP19_NPC_IWIN_SB_id ];
for ( .@i = 1; .@i < 4; .@i++ ) {
disablenpc instance_npcname("ep19_iwp_set" + .@i + "_SG");
disablenpc instance_npcname("ep19_iwp_set" + .@i + "_SN");
disablenpc instance_npcname("ep19_iwp_set" + .@i + "_SY");
disablenpc instance_npcname("ep19_iwp_set" + .@i + "_SB");
}
enablenpc 'EP19_NPC_IWIN_SG$;
enablenpc 'EP19_NPC_IWIN_SN$;
enablenpc 'EP19_NPC_IWIN_SY$;
enablenpc 'EP19_NPC_IWIN_SB$;
// mob spawn
setarray 'mob_id[0],
21524, // EP19_SHINING_SEAWEED
21525, // EP19_ICE_GANGU
21523, // EP19_ICE_STRAW
'event$[0] = instance_npcname("iwp_mobs_respawn") + "::OnMobDead0"; // EP19_SHINING_SEAWEED
'event$[1] = instance_npcname("iwp_mobs_respawn") + "::OnMobDead1"; // EP19_ICE_GANGU
'event$[2] = instance_npcname("iwp_mobs_respawn") + "::OnMobDead2"; // EP19_ICE_STRAW
monster 'map_iwp$,0,0,"--ja--",21524,1, .@event$[0];
monster 'map_iwp$,0,0,"--ja--",21525,1, .@event$[1];
monster 'map_iwp$,0,0,"--ja--",21523,1, .@event$[2];
end;
OnMobDead0: callsub( S_Spawn, 0 );
OnMobDead1: callsub( S_Spawn, 1 );
OnMobDead2: callsub( S_Spawn, 2 );
S_Spawn:
sleep 5000;
.@i = getarg(0);
monster 'map_iwp$,0,0,"--ja--",'mob_id[.@i],1, 'event$[.@i];
end;
}
1@iwp,370,224,0 script Corporate Morulang#set01::ep19_iwp_set1_SG EP19_NPC_IWIN_SG,{
end;
OnInstanceInit:
npcspeed 400;
'npc_visible_name$[ getnpcid(0) ] = strnpcinfo(1);
end;
}
1@iwp,370,227,0 duplicate(ep19_iwp_set1_SG) Recruit Bolira#set01::ep19_iwp_set1_SN EP19_NPC_IWIN_SN
1@iwp,370,230,0 duplicate(ep19_iwp_set1_SG) Pil Loruru#set01::ep19_iwp_set1_SY EP19_NPC_IWIN_SY
1@iwp,370,233,0 duplicate(ep19_iwp_set1_SG) Private Horoscope#set01::ep19_iwp_set1_SB EP19_NPC_IWIN_SB
1@iwp,370,224,0 duplicate(ep19_iwp_set1_SG) Corporal Anvil#set02::ep19_iwp_set2_SG EP19_NPC_IWIN_SG
1@iwp,370,227,0 duplicate(ep19_iwp_set1_SG) Recruit Pororon#set02::ep19_iwp_set2_SN EP19_NPC_IWIN_SN
1@iwp,370,230,0 duplicate(ep19_iwp_set1_SG) Pilic Torari#set02::ep19_iwp_set2_SY EP19_NPC_IWIN_SY
1@iwp,370,233,0 duplicate(ep19_iwp_set1_SG) Pr. Porarang#set02::ep19_iwp_set2_SB EP19_NPC_IWIN_SB
1@iwp,370,224,0 duplicate(ep19_iwp_set1_SG) Corporal Porulyo#set03::ep19_iwp_set3_SG EP19_NPC_IWIN_SG
1@iwp,370,227,0 duplicate(ep19_iwp_set1_SG) Recruit Horulung#set03::ep19_iwp_set3_SN EP19_NPC_IWIN_SN
1@iwp,370,230,0 duplicate(ep19_iwp_set1_SG) People Toralong#set03::ep19_iwp_set3_SY EP19_NPC_IWIN_SY
1@iwp,370,233,0 duplicate(ep19_iwp_set1_SG) Pr. Soruru#set03::ep19_iwp_set3_SB EP19_NPC_IWIN_SB
// starter npc
1@iwp,375,229,4 script Guard Captain#stiwp EP19_NPC_IWIN_SR,{
if (ep19_main < 11)
end;
if ('step != 0)
end;
if (ep19_main == 11) {
npctalk "Captain of Patrol: This is my first time, so let me explain lightly.";
mes "[Captain of Patrol]";
mes "This is my first time, so let me explain lightly.";
next;
npctalk "Captain of Patrol: A walk with our reliable Eagle Rangers.. no hmm hmmm..";
mes "[Captain of Patrol]";
mes "Walking with our reliable eagle patrols.. no hmm hmmm..";
next;
npctalk "Guardian: You can go on patrol. Well, the actual patrol will be done by our crews...";
mes "[Captain of Patrol]";
mes "All you have to do is go on patrol. Our crews will do the actual patrol.";
next;
npctalk "Guard Captain: I can't ignore anything that's safer when patrolling in groups.";
mes "[Captain of Patrol]";
mes "Can't ignore what's safer when patrolling in groups.";
}
else {
npctalk "Captain of Patrol: Well, this isn't the first time, no explanation needed?";
mes "[Captain of Patrol]";
mes "It's not the first time, no explanation needed?";
}
next;
if ('step == 0) {
'step = 1;
npcspeed 400;
donpcevent instance_npcname( strnpcinfo(0) ) + "::OnStart"; // this npc move near the warp on right and disappear
donpcevent instance_npcname("iwp_patrol_move") + "::OnStart";
donpcevent instance_npcname("iwp_patrol_talk") + "::OnStart";
}
npctalk "Guard Captain: Then let's go!";
mes "[Captain of Patrol]";
mes "Then let's go!";
close;
OnStart:
unitwalk getnpcid(0),385,229, instance_npcname( strnpcinfo(0) ) + "::OnEnd";
sleep 500;
npctalk "Guard Captain: We'll meet you around the end of the patrol.";
end;
OnEnd:
disablenpc();
end;
}
1@iwp,1,1,0 script iwp_patrol_move -1,{
end;
OnStart:
callsub( S_FirstMove, 'EP19_NPC_IWIN_SG_id );
sleep 200;
callsub( S_FirstMove, 'EP19_NPC_IWIN_SN_id );
sleep 200;
callsub( S_FirstMove, 'EP19_NPC_IWIN_SY_id );
sleep 200;
callsub( S_FirstMove, 'EP19_NPC_IWIN_SB_id );
end;
S_FirstMove:
.@npc_id = getarg(0);
'npc_step[ .@npc_id ] = 0;
unitwalk .@npc_id, 370,219, instance_npcname("iwp_patrol_move") + "::OnMove00";
'npc_step[ .@npc_id ]++;
return;
S_Move:
.@string$ = ( (getarg(0) < 10) ? "0" + getarg(0) : getarg(0) );
unitwalk 0, getarg(1), getarg(2), instance_npcname("iwp_patrol_move") + "::OnMove" + .@string$;
set getarg(0), getarg(0) + 1;
if (getarg(3,0))
'step = getarg(3,0);
if (getarg(4,0) && 'final_enabled == 0) {
'final_enabled = 1;
enablenpc instance_npcname("Guardmaster#ediwp");
}
end;
OnMove00: callsub( S_Move, 'npc_step[ getattachedrid() ], 340,219 );
OnMove01: callsub( S_Move, 'npc_step[ getattachedrid() ], 332,227 );
OnMove02: callsub( S_Move, 'npc_step[ getattachedrid() ], 309,227 );
OnMove03: callsub( S_Move, 'npc_step[ getattachedrid() ], 309,207 );
OnMove04: callsub( S_Move, 'npc_step[ getattachedrid() ], 309,191 );
OnMove05: callsub( S_Move, 'npc_step[ getattachedrid() ], 286,168 );
OnMove06: callsub( S_Move, 'npc_step[ getattachedrid() ], 286,140 );
OnMove07: callsub( S_Move, 'npc_step[ getattachedrid() ], 306,120 );
OnMove08: callsub( S_Move, 'npc_step[ getattachedrid() ], 306,116 );
OnMove09: callsub( S_Move, 'npc_step[ getattachedrid() ], 311,111 );
OnMove10: callsub( S_Move, 'npc_step[ getattachedrid() ], 311,94, 2 ); // step 2
OnMove11: callsub( S_Move, 'npc_step[ getattachedrid() ], 306,89 );
OnMove12: callsub( S_Move, 'npc_step[ getattachedrid() ], 306,80 );
OnMove13: callsub( S_Move, 'npc_step[ getattachedrid() ], 279,80 );
OnMove14: callsub( S_Move, 'npc_step[ getattachedrid() ], 269,90 );
OnMove15: callsub( S_Move, 'npc_step[ getattachedrid() ], 253,90 );
OnMove16: callsub( S_Move, 'npc_step[ getattachedrid() ], 242,101 );
OnMove17: callsub( S_Move, 'npc_step[ getattachedrid() ], 230,101 );
OnMove18: callsub( S_Move, 'npc_step[ getattachedrid() ], 216,87 );
OnMove19: callsub( S_Move, 'npc_step[ getattachedrid() ], 209,87 );
OnMove20: callsub( S_Move, 'npc_step[ getattachedrid() ], 192,70 );
OnMove21: callsub( S_Move, 'npc_step[ getattachedrid() ], 192,56 );
OnMove22: callsub( S_Move, 'npc_step[ getattachedrid() ], 162,66 );
OnMove23: callsub( S_Move, 'npc_step[ getattachedrid() ], 132,56 );
OnMove24: callsub( S_Move, 'npc_step[ getattachedrid() ], 115,77, 3 ); // step 3
OnMove25: callsub( S_Move, 'npc_step[ getattachedrid() ], 131,93 );
OnMove26: callsub( S_Move, 'npc_step[ getattachedrid() ], 131,110 );
OnMove27: callsub( S_Move, 'npc_step[ getattachedrid() ], 143,122 );
OnMove28: callsub( S_Move, 'npc_step[ getattachedrid() ], 143,137 );
OnMove29: callsub( S_Move, 'npc_step[ getattachedrid() ], 134,139 );
OnMove30: callsub( S_Move, 'npc_step[ getattachedrid() ], 117,156 );
OnMove31: callsub( S_Move, 'npc_step[ getattachedrid() ], 117,169 );
OnMove32: callsub( S_Move, 'npc_step[ getattachedrid() ], 128,180 );
OnMove33: callsub( S_Move, 'npc_step[ getattachedrid() ], 128,200 );
OnMove34: callsub( S_Move, 'npc_step[ getattachedrid() ], 128,222 );
OnMove35: callsub( S_Move, 'npc_step[ getattachedrid() ], 139,233 );
OnMove36: callsub( S_Move, 'npc_step[ getattachedrid() ], 139,242 );
OnMove37: callsub( S_Move, 'npc_step[ getattachedrid() ], 129,252 );
OnMove38: callsub( S_Move, 'npc_step[ getattachedrid() ], 129,260 );
OnMove39: callsub( S_Move, 'npc_step[ getattachedrid() ], 150,281, 4 ); // step 4
OnMove40: callsub( S_Move, 'npc_step[ getattachedrid() ], 153,281 );
OnMove41: callsub( S_Move, 'npc_step[ getattachedrid() ], 153,284 );
OnMove42: callsub( S_Move, 'npc_step[ getattachedrid() ], 160,291 );
OnMove43: callsub( S_Move, 'npc_step[ getattachedrid() ], 145,306 );
OnMove44: callsub( S_Move, 'npc_step[ getattachedrid() ], 145,312 );
OnMove45: callsub( S_Move, 'npc_step[ getattachedrid() ], 137,320 );
OnMove46: callsub( S_Move, 'npc_step[ getattachedrid() ], 138,327 );
OnMove47: callsub( S_Move, 'npc_step[ getattachedrid() ], 160,327 );
OnMove48: callsub( S_Move, 'npc_step[ getattachedrid() ], 179,327 );
OnMove49: callsub( S_Move, 'npc_step[ getattachedrid() ], 185,333 );
OnMove50: callsub( S_Move, 'npc_step[ getattachedrid() ], 194,333 );
OnMove51: callsub( S_Move, 'npc_step[ getattachedrid() ], 194,346 );
OnMove52: callsub( S_Move, 'npc_step[ getattachedrid() ], 202,354 );
OnMove53: callsub( S_Move, 'npc_step[ getattachedrid() ], 215,354, 5 ); // step 5
OnMove54: callsub( S_Move, 'npc_step[ getattachedrid() ], 215,373 );
OnMove55: callsub( S_Move, 'npc_step[ getattachedrid() ], 240,373 );
OnMove56: callsub( S_Move, 'npc_step[ getattachedrid() ], 240,362 );
OnMove57: callsub( S_Move, 'npc_step[ getattachedrid() ], 244,358 );
OnMove58: callsub( S_Move, 'npc_step[ getattachedrid() ], 244,343, 6, true ); // step 6 + enabled final npc
OnMove59: callsub( S_Move, 'npc_step[ getattachedrid() ], 252,335 );
OnMove60: callsub( S_Move, 'npc_step[ getattachedrid() ], 264,335 );
OnMove61: callsub( S_Move, 'npc_step[ getattachedrid() ], 264,320 );
OnMove62: callsub( S_Move, 'npc_step[ getattachedrid() ], 287,320 );
OnMove63: callsub( S_Move, 'npc_step[ getattachedrid() ], 293,314 );
OnMove64: callsub( S_Move, 'npc_step[ getattachedrid() ], 306,314 );
OnMove65:
if (getattachedrid() != 'EP19_NPC_IWIN_SB_id)
callsub( S_Move, 'npc_step[ getattachedrid() ], 306,311 );
else {
'step = 7;
unittalk 'EP19_NPC_IWIN_SB_id, 'EP19_NPC_IWIN_SB_visible$ + ": Arrival.";
}
end;
OnMove66:
if (getattachedrid() != 'EP19_NPC_IWIN_SY_id)
callsub( S_Move, 'npc_step[ getattachedrid() ], 306,308 );
else
unittalk 'EP19_NPC_IWIN_SY_id, 'EP19_NPC_IWIN_SY_visible$ + ": Arrival.";
end;
OnMove67:
if (getattachedrid() != 'EP19_NPC_IWIN_SN_id)
callsub( S_Move, 'npc_step[ getattachedrid() ], 306,305 );
else
unittalk 'EP19_NPC_IWIN_SN_id, 'EP19_NPC_IWIN_SN_visible$ + ": Arrival.";
end;
OnMove68:
unittalk getattachedrid(), 'EP19_NPC_IWIN_SG_visible$ + ": Arrived.";
end;
}
1@iwp,1,1,0 script iwp_patrol_talk -1,{
end;
OnStart:
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": I'm on patrol~", 'EP19_NPC_IWIN_SG$;
sleep 1000;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Hey, did you put some hot stuff in the recruit's feathers?", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Not imported.", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Why did you do that? What are you cold or I'm cold? Take care of it next time.", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Yes I understand", 'EP19_NPC_IWIN_SN$;
sleep 5000;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Recruit? Do you see ice around you?", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": I see you.", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Will it hurt if you get stabbed with a sharp point?", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Yes it hurts.", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Should I be careful? Can I ignore it?", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Be careful", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Yes, yes.", 'EP19_NPC_IWIN_SG$;
sleep 3000;
callsub( S_RandomText );
sleep 3000;
callsub( S_RandomText );
sleep 3000;
callsub( S_RandomText );
sleep 3000;
callsub( S_RandomText );
sleep 3000;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Yay! Recruit!", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Why are you doing this? Corporal Anvilu?", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Look up when you pass under that rock. There are a lot of icicles.", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": It shakes when you scream like wow!", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Whoa!!! Isn't that dangerous?", 'EP19_NPC_IWIN_SN$;
sleep 1000;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Yeah, it's dangerous, so be careful. If you get hurt in your first glance, you're only going to lose, okay?", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Yes I understand", 'EP19_NPC_IWIN_SN$;
for ( .@i = 0; .@i < 9; ++.@i ) {
sleep 3000;
callsub( S_RandomText );
}
sleep 3000;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Corporal Anvilyu? I have a question for you.", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": What?", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": How long was the ice on the Ice Bridge?", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": How do I know that?", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": There are some things that even Corporal Anvil Ryu don't know.", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Wow, our new recruit, no answer, no answer. Ah!!! I don't know Ice's age, but I know that.", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Slipping and falling is embarrassing and dangerous! And!!", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Even if you don't get hurt, you feel threatened with someone's life!", 'EP19_NPC_IWIN_SG$;
for ( .@i = 0; .@i < 3; ++.@i ) {
sleep 3000;
callsub( S_RandomText );
}
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": I don't believe Iwin will fall stupidly here.", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Yes, I'll be careful.", 'EP19_NPC_IWIN_SN$;
npctalk 'EP19_NPC_IWIN_SY_visible$ + ": Yes, I'll be careful.", 'EP19_NPC_IWIN_SY$;
npctalk 'EP19_NPC_IWIN_SB_visible$ + ": Yes, I'll be careful.", 'EP19_NPC_IWIN_SB$;
for ( .@i = 0; .@i < 10; ++.@i ) {
sleep 3000;
callsub( S_RandomText );
}
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Oops! The icicles are bloody, use it with caution.", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Especially Pora and you! You know what I'm talking about?", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SB_visible$ + ": Oh, I got it, Corporal Anoryu. You really are like that every time you come here", 'EP19_NPC_IWIN_SB$;
for ( .@i = 0; .@i < 4; ++.@i ) {
sleep 3000;
callsub( S_RandomText );
}
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Why doesn't Iwin have scales? I've been thinking about it for a while.", 'EP19_NPC_IWIN_SG$;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Is this the frozen scale hill? There are scales here, so Iwin doesn't have scales!", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": ?", 'EP19_NPC_IWIN_SN$;
npctalk 'EP19_NPC_IWIN_SY_visible$ + ": ?", 'EP19_NPC_IWIN_SY$;
npctalk 'EP19_NPC_IWIN_SB_visible$ + ": ?", 'EP19_NPC_IWIN_SB$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": I'm sorry, I don't even know what I was talking about.", 'EP19_NPC_IWIN_SG$;
for ( .@i = 0; .@i < 18; ++.@i ) {
sleep 3000;
callsub( S_RandomText );
}
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Private Torari.", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SY_visible$ + ": What?", 'EP19_NPC_IWIN_SY$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Oh, no.", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SY_visible$ + ": ?", 'EP19_NPC_IWIN_SY$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SY_visible$ + ": Recruit? Do you want to die?", 'EP19_NPC_IWIN_SY$;
sleep 500;
emotion ET_KIK, 'EP19_NPC_IWIN_SG_id;
emotion ET_KIK, 'EP19_NPC_IWIN_SB_id;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Recruit! Agang soup call after patrol?", 'EP19_NPC_IWIN_SG$;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": No. It's fine.", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": No, you told me to do it.. ah.. it's frustrating..", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": I will fix it.", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Yes yes yes", 'EP19_NPC_IWIN_SG$;
for ( .@i = 0; .@i < 9; ++.@i ) {
sleep 3000;
callsub( S_RandomText );
}
end;
S_RandomText:
switch( rand(10) ) {
case 0: // x5
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Hey! Recruit..", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": Recruit! Pororon!", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": I was just about to tell you, but you're going crazy?", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SN_visible$ + ": I'm sorry.. I'm sorry", 'EP19_NPC_IWIN_SN$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": No.. Do you go to the bathroom before work and make your seniors wait for 10 minutes?", 'EP19_NPC_IWIN_SG$;
sleep 500;
emotion ET_OHNO, 'EP19_NPC_IWIN_SG_id;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Ha.. I'm really excited.", 'EP19_NPC_IWIN_SG$;
break;
case 1: // x7
npctalk 'EP19_NPC_IWIN_SY_visible$ + ": Corporal Anvilu, did you hear the news?", 'EP19_NPC_IWIN_SY$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": What news?", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SY_visible$ + ": Someone uses magic and punishes the Vendor.", 'EP19_NPC_IWIN_SY$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Ah.. that.. I wrote it.", 'EP19_NPC_IWIN_SG$;
sleep 500;
emotion ET_SURPRISE, 'EP19_NPC_IWIN_SN_id;
emotion ET_QUESTION, 'EP19_NPC_IWIN_SY_id;
emotion ET_HUK, 'EP19_NPC_IWIN_SB_id;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Where did you see what you saw. At the end of every word, Agent! Agent!", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": You're angry, not once or twice.", 'EP19_NPC_IWIN_SG$;
break;
case 2: // x4
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Hey! Porarang~", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SB_visible$ + ": Private! Porarang! Why is that?", 'EP19_NPC_IWIN_SB$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Are you a head stone? How did Iwin hit icicles and only the icicles break?", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SB_visible$ + ": Icicles are weak. I am strong.", 'EP19_NPC_IWIN_SB$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": All~ confidence~", 'EP19_NPC_IWIN_SG$;
break;
case 3: // x9
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Oh, that's right. The commander of the range says...", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": I heard that Iwin ran from the shower to the dormitory with wet feathers...", 'EP19_NPC_IWIN_SG$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": None of us?", 'EP19_NPC_IWIN_SG$;
sleep 500;
emotion ET_PROFUSELY_SWEAT, 'EP19_NPC_IWIN_SN_id;
emotion ET_QUESTION, 'EP19_NPC_IWIN_SY_id;
emotion ET_QUESTION, 'EP19_NPC_IWIN_SB_id;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": There must be some crazy Iwin like that.", 'EP19_NPC_IWIN_SG$;
break;
case 4: // x4
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Calamari was delicious, but isn't it difficult to catch?", 'EP19_NPC_IWIN_SG$;
sleep 500;
emotion ET_DELIGHT, 'EP19_NPC_IWIN_SN_id;
emotion ET_KEK, 'EP19_NPC_IWIN_SY_id;
emotion ET_STARE_ABOUT, 'EP19_NPC_IWIN_SB_id;
sleep 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Guys? Who am I talking to now?", 'EP19_NPC_IWIN_SG$;
break;
case 5: // x5
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Doesn't it seem like you can't see the Rgan these days?", 'EP19_NPC_IWIN_SG$;
sleep 500;
emotion ET_COOL, 'EP19_NPC_IWIN_SB_id;
npctalk 'EP19_NPC_IWIN_SB_visible$ + ": Corporal Anvilyu is here, so why is Rgan coming down here?", 'EP19_NPC_IWIN_SB$;
sleep 500;
npctalk 'EP19_NPC_IWIN_SB_visible$ + ": I don't know if it's on the plain over there.", 'EP19_NPC_IWIN_SB$;
sleep 500;
emotion ET_KIK, 'EP19_NPC_IWIN_SG_id;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Is it true?", 'EP19_NPC_IWIN_SG$;
break;
default:
sleep 2000;
break;
}
sleep 1000;
return;
}
// Related to the main quest
1@iwp,260,390,4 script The mysterious young man#dlunch 4_EP19_LUNCH,{
if (ep19_main == 11) {
cutin "ep19_lunch01.png",2;
mes "[Young man in question]";
mes "Wow! Have you come to arrest me?";
next;
mes "[" + strcharinfo(0) + "]";
mes "No.";
next;
mes "[Young man in question]";
mes "Oh! I'm glad. I had a hard time escaping here.";
next;
mes "[" + strcharinfo(0) + "]";
mes "But you look very similar to Morning? If I had to say it, I think she will look just like you when she grows up.";
next;
mes "[Young man in question]";
mes "Breakfast? Who is that?";
next;
mes "[" + strcharinfo(0) + "]";
mes "Ugh? Don't you know morning? He's a boy who looks just like you, maybe we met at Ludus?";
next;
mes "[" + strcharinfo(0) + "]";
mes "I don't know if it's still there.";
next;
mes "[Young man in question]";
mes "Ludus? Ludus.. Ludus..";
next;
mes "[Young man in question]";
mes "Oh! There! My data says it's a place to dump discarded specimens.";
next;
mes "[Young man in question]";
mes "I guess from the data, maybe that morning child is my early model.";
next;
mes "[" + strcharinfo(0) + "]";
mes "Early model?";
next;
cutin "ep19_lunch02.png",2;
mes "[Young man in question]";
mes "I am an Illusion subject.";
next;
mes "[Young man in question]";
mes "I was made by the scientists of Illusion who improved and improved the test object called that morning.";
next;
mes "[Young man in question]";
mes "Compared to the subject of that morning, it can be said to be about 210426 times superior!";
next;
mes "[" + strcharinfo(0) + "]";
mes "That.. that's right. But how did you get here?";
next;
cutin "ep19_lunch01.png",2;
mes "[Young man in question]";
mes "Oh! That's a sharp question, but well? I'm not sure about that either.";
next;
mes "[Young man in question]";
mes "I got here too and fled when the scientists were out of control because they were doing other experiments.";
next;
mes "[Young man in question]";
mes "But I don't think it's safe here as the birds patrol there.";
next;
mes "[Young man in question]";
mes "I think the plain side is safer. I think I should go to the plain side now.. I'll see you when I get a chance.";
next;
mes "[Mysterious young man]";
mes "It was fun talking to you.";
next;
cutin "",255;
cloakonnpcself();
ep19_main = 12;
setquest 5983;
mes "The young man disappeared like that. You said you were going to the Frozen Scale Plains? Let's go see it when the time comes.";
close;
}
end;
OnInstanceInit:
// todo ss for setunittitle
cloakonnpc();
questinfo( QTYPE_QUEST, QMARK_YELLOW, "ep19_main == 11" );
end;
}
// Daily quest : Do not Feed Wildlife
1@iwp,359,349,0 script Something#df00 HODE,{
if (checkweight(528,1) == 0) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
close;
}
mes "^4A94F7something^000000 seems to be slightly covered with dirt. It seems to be moving. Is this dirt?";
next;
if (select( "Look at it", "Leave it alone" ) == 2) {
mes "Yeah! A scary something might come out, so let's just leave it alone.";
close;
}
progressbar "FFFFFF",1;
.@r = rand(100);
if (.@r < 50 || isbegin_quest(5978) == 0) {
mes "Ah.. what is it, just plain dirt?";
disablenpc();
initnpctimer;
close;
}
if (.@r < 60) {
mes "Ugh! It's a bug? What the hell happened?!";
disablenpc();
initnpctimer;
getmapxy .@map$,.@x,.@y, BL_NPC;
monster .@map$,.@x,.@y,"--ja--","G_THIEF_BUG__",5, instance_npcname( strnpcinfo(0) ) + "::OnMobDead";
close;
}
erasequest 5978;
setquest 5979;
getitem 528,1; // Monster's_Feed
disablenpc();
initnpctimer;
mes "Someone has found food here. Let's bring it to Supply Officer Gorir.";
close;
OnTimer30000:
enablenpc();
stopnpctimer;
killmonster 'map_iwp$, instance_npcname( strnpcinfo(0) ) + "::OnMobDead";
end;
OnMobDead:
end;
OnInstanceInit:
questinfo( QTYPE_CLICKME, QMARK_YELLOW, "isbegin_quest(5978) == 1" );
end;
}
1@iwp,113,142,0 duplicate(Something#df00) Something#df01 HODE
1@iwp,342,292,0 duplicate(Something#df00) Something#df02 HODE
1@iwp,292,259,0 duplicate(Something#df00) Something#df03 HODE
1@iwp,265,154,0 duplicate(Something#df00) Something#df04 HODE
1@iwp,278,103,0 duplicate(Something#df00) Something#df05 HODE
1@iwp,152,60,0 duplicate(Something#df00) Something#df06 HODE
1@iwp,100,70,0 duplicate(Something#df00) Something#df07 HODE
1@iwp,136,175,0 duplicate(Something#df00) Something#df08 HODE
1@iwp,149,239,0 duplicate(Something#df00) Something#df09 HODE
// checkpoints for players
1@iwp,279,80,0 script checkpoint#pcp01 HIDDEN_WARP_NPC,10,10,{
end;
OnTouch:
if ('step < 2)
end;
if ('step_player[ getcharid(0) ] != 0)
end;
'step_player[ getcharid(0) ] = 1;
emotion ET_SURPRISE, playerattached();
end;
}
1@iwp,131,110,0 script checkpoint#pcp02 HIDDEN_WARP_NPC,10,10,{
end;
OnTouch:
if ('step < 3)
end;
if ('step_player[ getcharid(0) ] != 1)
end;
'step_player[ getcharid(0) ] = 2;
emotion ET_SURPRISE, playerattached();
end;
}
1@iwp,145,306,0 script checkpoint#pcp03 HIDDEN_WARP_NPC,10,10,{
end;
OnTouch:
if ('step < 4)
end;
if ('step_player[ getcharid(0) ] != 2)
end;
'step_player[ getcharid(0) ] = 3;
emotion ET_SURPRISE, playerattached();
end;
}
1@iwp,240,373,0 script checkpoint#pcp04 HIDDEN_WARP_NPC,10,10,{
end;
OnTouch:
if ('step < 5)
end;
if (ep19_main == 11) {
cloakoffnpcself( instance_npcname("The mysterious young man#dlunch" ) );
navigateto("1@iwp",260,390);
viewpoint 1,260,390,1,0xFF0000;
unittalk getcharid(3), "" + strcharinfo(0) + " : Anvil looks like there's something in the corner over there?", bc_self;
sleep2 500;
npctalk 'EP19_NPC_IWIN_SG_visible$ + ": Is that true? I don't think I've seen it. If you're concerned, how about coming and checking?", 'EP19_NPC_IWIN_SG$;
}
if ('step_player[ getcharid(0) ] != 3)
end;
'step_player[ getcharid(0) ] = 4;
emotion ET_SURPRISE, playerattached();
end;
}
1@iwp,264,310,0 script checkpoint#pcp05 HIDDEN_WARP_NPC,10,20,{
end;
OnTouch:
if ('step < 6)
end;
if ('step_player[ getcharid(0) ] != 4)
end;
'step_player[ getcharid(0) ] = 5;
emotion ET_SURPRISE, playerattached();
if (isbegin_quest(5972) == 1) // note: no idea what it's for
erasequest 5972;
erasequest 5974;
setquest 5975;
end;
}
// Final step
1@iwp,301,315,6 script Guardmaster#ediwp EP19_NPC_IWIN_SR,{
if ('step < 7) {
mes "[Captain of Patrol]";
mes "You've worked hard to get here. If you've worked hard, would you mind waiting for our crew to finish patrolling?";
close;
}
if ('step_player[ getcharid(0) ] != 5) { // ongoing / player didn't walk on all the checkpoints
mes "[Captain of Patrol]";
mes "Neither you nor your comrades seem to have patrolled properly with our crew.";
next;
mes "[Captain of Patrol]";
mes "I can't even give you compensation because I didn't do the patrol properly. If you come around alone even now, I'll take care of you..";
next;
mes "[Captain of Patrol]";
mes "I don't know if you guys know about our patrol area.";
close;
}
if (isbegin_quest(5973) == 1) { // already completed
mes "[Captain of Patrol]";
mes "You did a great job patrolling today. By the way, I'll take you back to the Ice Castle.";
}
else {
switch( isbegin_quest(5975) ) {
case 0: // ongoing / player didn't walk on all the checkpoints
mes "[Captain of Patrol]";
mes "Neither you nor your comrades seem to have patrolled properly with our crew.";
next;
mes "[Captain of Patrol]";
mes "I can't even give you compensation because I didn't do the patrol properly. If you come around alone even now, I'll take care of you..";
next;
mes "[Captain of Patrol]";
mes "I don't know if you guys know about our patrol area.";
close;
case 1:
erasequest 5975;
setquest 5973;
add_reputation_points( REPUTATION_EP19, 5 );
getitem 1000608,2; // Ep19_Snow_Flower
if (get_reputation_points(4) >= 3000)
getitem 1000608,1; // Ep19_Snow_Flower
getexp2 52243795,0;
getexp 0,3000000;
mes "[Captain of Patrol]";
mes "Today's patrol was also very hard work. A small reward for this patrol.";
next;
mes "[Captain of Patrol]";
mes "By the way, where are you going? I'll take you back to the Ice Castle.";
case 2:
end;
}
}
next;
if (select( "To the Ice Castle..", "There is still work to be done." ) == 2) {
mes "[Captain of Patrol]";
mes "If that's the case, then why should we break up here? See you tomorrow.";
close;
}
mes "[Captain of Patrol]";
mes "Now, shall we go to the Ice Castle?";
close2;
warp "icecastle",20,123;
end;
OnInstanceInit:
// todo setunittitle
disablenpc();
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(5975) == 1" );
end;
}