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.

7103 lines
250 KiB
Plaintext

//===== rAthena Script =======================================
//= Rock Ridge Quests.
//===== Description: =========================================
//= [Official Conversion]
//--- Quests list:
// Note: "rock_main_quest" is officially "rrmain" variable.
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//============================================================
alberta,240,103,5 script Karam Pucci#alberta 4_M_SEAMAN,3,3,{
if (rock_main_quest == 0 && isbegin_quest(7790) == 0) {// first time
if (BaseLevel < 100) {
mes "[Karam Pucci]";
mes "Hello, up-and-coming adventurer!";
mes "May I talk to you for a second?";
next;
if (select( "What can I do for you?", "I'm busy." ) == 2) {
mes "[Karam Pucci]";
mes "That's heartless.";
mes "I was going to tell you about a new continent, but if you don't want to know, that's fine by me.";
next;
mes "[Karam Pucci]";
mes "On second look, you're too weak to go there, anyway.";
mes "Alright, go on your way.";
mes "If you have friends who are at least ^4d4dffLevel 100^00000, tell them to come talk to me, alright?";
close;
}
mes "[Karam Pucci]";
mes "Have you heard the news about the new continent?";
mes "My company, Pink Rose, stumbled across it while looking for new markets.";
next;
mes "[Karam Pucci]";
mes "Now there's a city named ^4d4dffRock Ridge^000000,";
mes "and many people already have flocked there, wanting a share of gold that the new land has to offer.";
next;
mes "[Karam Pucci]";
mes "If you want, I can send you there.";
mes "What do you say?";
next;
mes "[Karam Pucci]";
mes "Usually, the ship fare is ^4d4dff10,000 Zeny^000000 for a one-way trip,";
mes "but I can waive it for you just this once.";
next;
if (select( "I'm in! I'm in!", "Let me take a rain check." ) == 2) {
mes "[Karam Pucci]";
mes "Huh? Sure, no problem.";
mes "But bring lots of friends with you next time, alright?";
mes "Rock Ridge is the land of dreams and opportunities.";
close;
}
mes "[Karam Pucci]";
mes "Good! Then let's go to";
mes "Rock Ridge, the land of gold and opportunities!";
setquest 7790;// Rock Ridge, Land of Opportunities
completequest 7790;// Rock Ridge, Land of Opportunities
close;
}
mes "[Karam Pucci]";
mes "You look like a capable adventurer.";
mes "I've been looking for someone like you.";
next;
mes "[Karam Pucci]";
mes "Have you heard the news about the new continent?";
mes "My company, Pink Rose, stumbled across it while looking for new markets.";
next;
mes "[Karam Pucci]";
mes "Now there's a city named ^4d4dffRock Ridge^000000,";
mes "and many people already have flocked there, wanting a share of gold that the new land has to offer.";
next;
select("Why are you looking for adventurers?", "Are you looking for settlers?");
mes "[Karam Pucci]";
mes "Actually...";
mes "Rock Ridge is having a tiny bit of a problem,";
mes "and it's not something the citizens can handle.";
next;
mes "[Karam Pucci]";
mes "Rock Ridge is a mining city,";
mes "so most of its citizens are miners and merchants.";
next;
mes "[Karam Pucci]";
mes "Recently, a group of ^4d4dffbandits have decided that they want the mine^000000.";
next;
select("So this is a mission.");
mes "[Karam Pucci]";
mes "Huh? Yes, in a way, I guess.";
mes "You can find out more about it if you talk to Mr. ^4d4dffCostello^000000, the mayor of Rock Ridge.";
mes "I don't know much, except that the city needs help from capable adventurers.";
next;
if (select( "Got it.", "I'm not doing it." ) == 2) {
mes "[Karam Pucci]";
mes "*Groan* Alright, then I'd better look for someone else.";
mes "Thank you for your time.";
close;
}
mes "[Karam Pucci]";
mes "Okay, then off we go to Rock Ridge.";
mes "That place is pretty far and it's expensive to get there, but I can waive the ship fare for you just this once.";
next;
mes "[Karam Pucci]";
mes "Then let's go.";
setquest 7790;// Rock Ridge, Land of Opportunities
setquest 7791;// Problems in Rock Ridge
completequest 7790;
rock_main_quest = 1;
close2;
warp "harboro1",70,215;
end;
}
mes "[Karam Pucci]";
mes "Hey, welcome back.";
mes "It's a perfect day to visit Rock Ridge, isn't it?";
next;
if (select( "Off we go to Rock Ridge!", "No." ) == 2) {
mes "[Karam Pucci]";
mes "Hmpf, why are you so heartless?";
mes "Alright, but come back if you change your mind.";
close;
}
if (BaseLevel >= 100 && rock_main_quest == 0) {
mes "[Karam Pucci]";
mes "By the way, you've grown pretty strong.";
mes "You look like a capable adventurer.";
next;
mes "[Karam Pucci]";
mes "Would you be interested in taking on a job in Rock Ridge?";
next;
mes "[Karam Pucci]";
mes "Actually...";
mes "Rock Ridge is having a tiny bit of a problem,";
mes "and it's not something the citizens can handle.";
next;
mes "[Karam Pucci]";
mes "Have you heard about the bandits in Rock Ridge?";
mes "Recently, a group of ^4d4dffbandits have decided that they want the mine^000000.";
next;
mes "[Karam Pucci]";
mes "You can find out more about it if you talk to Mr. ^4d4dffCostello^000000, the mayor of Rock Ridge.";
mes "I don't know much, except that the city needs help from capable adventurers.";
next;
mes "[Karam Pucci]";
mes "Then let's go.";
setquest 7791;// Problems in Rock Ridge
rock_main_quest = 1;
next;
}
if (Zeny < 10000) {
mes "[Karam Pucci]";
mes "Hm, I don't think you have enough money to pay the fare.";
mes "The place is pretty far, so it's expensive to get there.";
mes "Didn't I tell you it's ^4d4dff10,000 Zeny^000000 to get there?";
close;
}
mes "[Karam Pucci]";
mes "Hold on to the rail if you don't want to get swept away by the waves!";
Zeny = Zeny - 10000;
close2;
warp "harboro1",70,215;
end;
OnTouch:
if (isbegin_quest(7790) == 0) {
if (BaseLevel < 100)
npctalk "Hello, promising adventurer! How about I introduce you to a new place for you to explore?", "", bc_self;
else
npctalk "Hey, may I talk to you for a second?", "", bc_self;
}
end;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "BaseLevel >= 100 && !isbegin_quest(7790)" );
end;
}
harboro1,80,218,5 script Costello#harboro1 4_M_COSTELL,{
if (rock_main_quest == 0) {
npctalk "...Ah, what's taking Karam so long? I needed people yesterday!";
end;
}
if (rock_main_quest == 1) {
setpcblock PCBLOCK_NPC, true;
unittalk getcharid(3), "" + strcharinfo(0) + " : Mr. Costello?", bc_self;
sleep2 1000;
npctalk "*Gasp*", "", bc_self;;
sleep2 1000;
setpcblock PCBLOCK_NPC, false;
mes "[Costello]";
mes "*Ahem* Yes, this is him.";
mes "I'm Costello, mayor of Rock Ridge.";
mes "You know me because...?";
next;
select("Mr. Karam Pucci sent me.");
mes "[Costello]";
mes "Oh, he did!";
mes "Welcome! I've been waiting for you!";
mes "So how much did Karam tell you?";
next;
mes "[Costello]";
mes "Ah, so he told you about the bandits.";
mes "As you see, Rock Ridge is a village of pioneers built on a wasteland.";
next;
mes "[Costello]";
mes "And, of course, most of its residents came from Midgard.";
next;
select("Was it unoccupied until you arrived?");
mes "[Costello]";
mes "No. There's a couple of native tribes.";
mes "One of them is the ^4d4dffCacti^000000, cute-looking people that live nearby.";
next;
mes "[Costello]";
mes "We couldn't have built Rock Ridge if it weren't for them.";
mes "They're very good friends to us.";
next;
mes "[Costello]";
mes "The other tribe is the ^4d4dffTauruses^000000.";
mes "These Tauruses are warlike, and pillaging is their only way of living.";
next;
mes "[Costello]";
mes "The Cacti and we the people of Rock Ridge call them the ^4d4dffBuffalo Bandits^000000.";
next;
mes "[Costello]";
mes "It's because they've been preying on us, and it's getting worse.";
mes "Now, our vigilante group and sheriff's office aren't enough to keep them at bay.";
next;
mes "[Costello]";
mes "The Pink Rose Headquarters has decided that it needs capable adventurers from Midgard to take care of this situation.";
mes "And that's why you've been invited to Rock Ridge.";
next;
mes "[Costello]";
mes "Recently, the bandits ^4d4dffstole the freight train^000000 that we use to transport ores.";
mes "And as if that wasn't enough, they took up residence inside our mine. Now I can't produce any profits and the company is not happy with me.";
next;
mes "[Costello]";
mes "And what about the miners? They came here full of hope, but now they're living on the street without jobs or money.";
mes "*Gasp* Don't tell anyone there's no work to do in the village.";
mes "I can't have people leaving as soon as they arrive.";
next;
mes "[Costello]";
mes "Anyway, I'll appreciate if you can take care of the Buffalo Bandits.";
mes "I don't care how you do it, as long as you do it.";
next;
mes "[Costello]";
mes "Go to the Sheriff and tell him that you came to help with the Buffalo Bandits situation. He'll tell you what to do.";
mes "Please help Pink Rose? I mean, Rock Ridge.";
rock_main_quest = 2;
erasequest 7791;
setquest 7792;// Problems in Rock Ridge 2
next;
select("Who's the sheriff?");
mes "[Costello]";
mes "Oh, I'm sorry, I didn't tell you his name, did I?";
mes "Follow the main road in the village east, and you'll see the sheriff's office.";
mes "You could also ask the guide in front of me for the directions.";
next;
mes "[Costello]";
mes "When you get there, ask for Mr. ^4d4dffWyatt Warp^000000.";
mes "Yes, that was his name.";
mes "Hah hah hah!";
close;
}
if (rock_main_quest == 2) {
mes "[Costello]";
mes "Follow the main road in the village east, and you'll see the sheriff's office.";
mes "Mr. ^4d4dffWyatt Warp^000000 is the sheriff of this village, and he can tell you more about the bandits.";
close;
}
if (rock_main_quest == 3) {
mes "[Costello]";
mes "You look grim. What's wrong?";
mes "The Buffalo Bandits want to make a bargain with us.";
mes "For the ores. What do they want in exchange?";
next;
select("You.");
mes "[Costello]";
npctalk "EXCUSE ME?", "", bc_self;
mes "What? Does it make sense to you?";
mes "They must have lost their minds!";
next;
mes "[Costello]";
mes "Why would they want me, anyway?";
mes "You're just joking, right? Please say you are.";
next;
npctalk "Geez! This makes no sense!", "", bc_self;
mes "[Costello]";
mes "And they want to talk to me and Wyatt and no one else.";
mes "Hah! I don't want to do this to Wyatt, but I'm just going to leave Rock Ridge on the next ship.";
next;
unittalk getcharid(3), "" + strcharinfo(0) + " : ...", bc_self;
mes "[Costello]";
mes "Why are you looking at me like that?";
mes "Protecting my company's profits is important, sure, but I can't do that if I'm dead, now can I?";
next;
select("I was joking.");
npctalk "Huh?", "", bc_self;
mes "[Costello]";
mes "What about their wanting to bargain? Were you joking about that too?";
mes "That's real, I see.";
next;
mes "[Costello]";
mes "Can't you just attend the meeting, maybe pretend to be someone from HQ?";
mes "You could listen to what they have to say,";
next;
mes "[Costello]";
mes "and tell them you'd have to talk to the Headquarters first.";
mes "Mm, and...";
next;
mes "[Costello]";
mes "What was that strange look on your face?";
mes "...Anyway, Wyatt and you can attend the meeting without me.";
mes "Now, excuse me. I'd better find a place to hide...";
next;
mes "^4d4dffCostello is looking around him and babbling anxiously.";
mes "I should go tell Wyatt that Costello wants to hear what the bandits have to say.^000000";
rock_main_quest = 4;
erasequest 7793;
setquest 7794;// Expected Response
close;
}
if (rock_main_quest == 4 || rock_main_quest == 5) {
mes "[Costello]";
mes "I-I'll be counting on you, Adventurer.";
mes "You could listen to what they have to say,";
next;
mes "[Costello]";
mes "and tell them you'd have to talk to the Headquarters first.";
mes "...Anyway, Wyatt and you can attend the meeting without me.";
mes "I'll be here somewhere in case you need me.";
close2;
npctalk "Argh, I don't want to be responsible for this hellhole!", "", bc_self;
end;
}
if (rock_main_quest == 6) {
mes "[Costello]";
mes "I've heard the news.";
mes "You've caught Johnny James, the infamous leader of the Buffalo Bandits.";
mes "This means we have a bargaining chip now.";
next;
mes "[Costello]";
mes "What bargain? Maybe we could just extract the location of the ores out of him.";
mes "I'll let Sheriff Warp take care of this.";
close;
}
if (rock_main_quest < 13) {
mes "[Costello]";
mes "Mm, how about we just pay them ^4d4dffa million Zeny or so^000000 for the ores?";
mes "That'll make things easier for both parties.";
next;
select("Do you have that kind of money?");
mes "[Costello]";
mes "Of course, not.";
mes "But I'm pretty sure you do.";
mes "Justice can be so costly sometimes...";
next;
mes "[Costello]";
mes "I'm sorry I said that. That was thoughtless.";
mes "You and the Sheriff take care of it. I'll stay out of it.";
mes "You do that.";
close;
}
if (rock_main_quest == 13 || rock_main_quest == 14) {
mes "[Costello]";
mes "I've heard you're still bargaining with them.";
mes "I've also heard a strange rumor,";
mes "but you should know that I don't hold a grudge against you.";
next;
mes "[Costello]";
mes "I'm safe as long as you're acting mayor.";
close;
}
if (rock_main_quest == 15) {
mes "[Costello]";
mes "How's it going?";
mes "Sheriff Warp only smiles at me.";
next;
mes "[Costello]";
mes "And why am I hearing that you'd be the next mayor?";
mes "What on earth is going on?";
next;
if (select( "It's a secret.", "You should pack and leave." ) == 1) {
mes "[Costello]";
mes "Why, is this some sort of secret operation?";
mes "This has to do with your pretending to be mayor for the meeting with the bandits.";
next;
mes "[Costello]";
mes "I'm okay, as long as you don't want to be mayor.";
mes "All I have to do is just wait.";
close;
}
mes "[Costello]";
mes "Wh-wha...?";
mes "...!";
next;
select("I'm messing with you. Breathe.");
mes "[Costello]";
mes "*Pant Pant*";
mes "You're mean, do you know that?";
mes "I'm at the dock for personal safety issues,";
next;
mes "[Costello]";
mes "and that's not enough reason to be dismissed from office.";
mes "If that was a joke, it wasn't funny.";
mes "I'm going to talk to Sheriff Warp about you.";
close;
}
if (rock_main_quest < 22) {
mes "[Costello]";
mes "If only we didn't have to worry about those Buffalo Bandits...!";
close;
}
mes "[Costello]";
mes "I'd like to thank you on behalf of Rock Ridge and my company.";
mes "...";
mes "I'm really grateful for everything you've done, and... and...";
mes "Mm, I don't know what else to say.";
next;
mes "[Costello]";
mes "By the way, you've declared war against Albert Ford.";
mes "I guess I'll have to stay at the dock for a little longer.";
mes "To, you know, recruit more adventurers and all.";
mes "Ah, I'm busy, and I wouldn't mind being busier!";
close;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 1 || rock_main_quest == 3" );
end;
}
har_in01,20,30,5 script Wyatt Warp#har_in01 4_M_YATTWARP,{
disable_items;
if (checkweight(1301,3) == 0) {
mes "- You are carrying too many items to proceed with this quest. -";
close;
}
if (rock_main_quest < 2) {
mes "[Wyatt Warp]";
mes "Are you a new settler?";
mes "People just won't stop coming to this village.";
mes "Hey, we're not hiring.";
next;
mes "[Wyatt Warp]";
mes "If you're looking for a job, go somewhere else.";
mes "Maybe Costello could hire you to work at the mine.";
close;
}
if (rock_main_quest == 2) {
mes "[Wyatt Warp]";
mes "What is it?";
mes "I have a very urgent and grave matter at hand. Please don't interrupt me.";
next;
select("I know about the Buffalo Bandits.");
mes "[Wyatt Warp]";
mes "Mm? Wait, did Costello send you?";
mes "The Pink Rose headquarters said it'd send help to deal with the Buffalo Bandits.";
mes "It sent me adventurers.";
next;
mes "[Wyatt Warp]";
mes "By the way, where's Costello? He's the mayor? He can't disappear on me at a critical time like this!";
mes "Oh, right? He didn't disappear. He's at the dock, so he could leave at a moment's notice.";
next;
mes "[Wyatt Warp]";
mes "Why do I keep forgetting I can't expect anything from that man?";
mes "At least I have you, Adventurer. I'm sure we can handle this between us two.";
next;
select("What can I do?");
mes "[Wyatt Warp]";
mes "Did you hear that the bandits attacked our freight train and stole all the ores in it?";
mes "Good, then you also must know they took up residence in our mine.";
next;
mes "[Wyatt Warp]";
mes "I understand why Pink Rose is not happy about this.";
mes "The ^4d4dffpurple ores^000000 produced in the mine are pretty lucrative. In fact, they're Pink Rose's best-selling product.";
next;
mes "[Wyatt Warp]";
mes "Hell, they're the reason this village exists.";
mes "And the bandits stole them from the company.";
mes "It's completely understandable why the company is so agitated.";
next;
mes "[Wyatt Warp]";
mes "And now, I've just received a letter from those barbarians.";
mes "They want to bargain over the ores that they've stolen.";
mes "I don't know what they'd demand in exchange for the ores,";
next;
mes "[Wyatt Warp]";
mes "but according to that letter, the bandit leader ^4d4dffJohnny James^000000 wants to talk to someone from our side, one on one.";
mes "It has to be Costello, right?";
next;
mes "[Wyatt Warp]";
mes "Or maybe you could meet him instead, pretending to be someone from Headquarters. I'll go with you.";
next;
if (select( "We should talk to Mayor Costello first.", "That's an interesting idea." ) == 1) {
mes "[Wyatt Warp]";
mes "Alright, then go talk to him.";
mes "If we can't avoid this meeting, then we'd better be prepared.";
next;
mes "[Wyatt Warp]";
mes "I'm sure you can find Costello by the dock, as usual.";
mes "I already know what he's going to say, but he's the mayor; at least he needs to know what's going on.";
}
else {
mes "[Wyatt Warp]";
mes "The company sent a capable adventurer this time.";
mes "We can take care of this between us two, but the mayor needs to know what's going on in his village.";
next;
mes "[Wyatt Warp]";
mes "Alright, then go talk to him.";
mes "In the meantime, I'll prepare for the meeting.";
next;
mes "[Wyatt Warp]";
mes "I'm sure you can find Costello by the dock, as usual.";
}
mes "I'll meet you here again later.";
rock_main_quest = 3;
erasequest 7792;// Problems in Rock Ridge 2
setquest 7793;// Good News
close;
}
if (rock_main_quest == 3) {
mes "[Wyatt Warp]";
mes "I'm sure you can find Costello by the dock, as usual.";
mes "I'll meet you here again later.";
close;
}
if (rock_main_quest == 4) {
mes "[Wyatt Warp]";
mes "Ah, you're back.";
mes "I'm ready for the meeting.";
mes "It'll be just you and me, right?";
next;
mes "[Wyatt Warp]";
mes "What about Costello?";
mes "There's no way he'd want to go there.";
mes "I knew it'd be you instead of him.";
next;
mes "[Wyatt Warp]";
mes "It's about time to meet the bandits.";
mes "Exit the village through the eastern gate, and you'll be in the ^4d4dffKiwawa Desert^000000.";
mes "That's what the Cacti call the wasteland. Anyway, there's an ^4d4dffunmoving freight train^000000 on the north side of the desert.";
next;
mes "[Wyatt Warp]";
mes "If you don't think you can find it, then just follow the railroad.";
mes "We'll wait for him by the train.";
mes "Let's go see how ugly that leader of the Buffalo Bandits, ^4d4dffJohnny James^000000, is.";
rock_main_quest = 5;
erasequest 7794;// Expected Response
setquest 7795;// Negotiation on the Railroad
close;
}
if (rock_main_quest == 5) {
mes "[Wyatt Warp]";
mes "Exit through the eastern gate and follow the railroad north. You'll see an ^4d4dffunmoving freight train^000000.";
mes "Let's wait for the bandit by the train.";
close;
}
if (rock_main_quest == 6) {
setpcblock PCBLOCK_NPC, true;
npctalk "I say we turn him against the rest of his gang.", "Ivoka Skudi#rr03", bc_self;
sleep2 2000;
npctalk "Don't you think regular torture or threats would work?", "", bc_self;
sleep2 3000;
npctalk "Johnny James isn't the only one we have to worry about. There's?", "Ivoka Skudi#rr03", bc_self;
sleep2 1000;
npctalk "I know. There's Albert.", "", bc_self;
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
mes "[Wyatt Warp]";
mes "Welcome.";
mes "*Chuckle* You're so useful. Just having you standing next to us works like a charm.";
next;
mes "[Wyatt Warp]";
mes "Anyway, Johnny James is more stubborn than I thought.";
mes "He still hasn't told us where the stolen ores are.";
next;
npctalk "He probably wants us to exchange him for the ores.", "Ivoka Skudi#rr03", bc_self;
mes "[Wyatt Warp]";
mes "That's possible.";
mes "I'm guessing Albert Ford would want to talk to us soon.";
next;
mes "[Wyatt Warp]";
mes "But that's just temporary.";
sleep2 1000;
npctalk "We have to reclaim the mine too!", "Ivoka Skudi#rr03", bc_self;
mes "That's right. We have to reclaim the mine too.";
next;
mes "[Wyatt Warp]";
mes "So we've been discussing our next move.";
mes "Ivoka wants to turn him against the rest of his gang.";
next;
select("He could just tell us where the ores are, and walk out of here free.");
mes "[Wyatt Warp]";
mes "Normally, that'd be the first thing to come to mind.";
mes "The problem is,";
mes "this Johnny guy is not normal.";
mes "Or maybe he's waiting for something.";
next;
mes "[Wyatt Warp]";
mes "Either way, his refusal to cooperate is making things difficult for us.";
mes "I'm thinking we should wait until Albert contacts us for a meeting,";
next;
mes "[Wyatt Warp]";
mes "but Ivoka has a different idea.";
mes "Let's listen to what he has to say.";
rock_main_quest = 7;
questinfo_refresh(); // the update of the variable refreshes questinfo
close;
}
if (rock_main_quest == 7) {
mes "[Wyatt Warp]";
mes "Let's listen to what Ivoka has to say.";
close;
}
if (rock_main_quest == 8) {
mes "[Wyatt Warp]";
mes "^4d4dffJohnny James is locked up in the basement^000000.";
mes "Let's try to make him believe that Albert has betrayed him, and his only chance to get out of here is talking to us.";
close;
}
if (rock_main_quest == 9) {
mes "[Wyatt Warp]";
mes "Did Johnny even give you the password to signal Albert?";
mes "He's helping us catch Albert.";
next;
mes "[Wyatt Warp]";
mes "Alright, then go meet with Albert.";
mes "In the meantime, I'll scare Johnny a little bit further.";
mes "Mwa hah hah!";
next;
mes "[Wyatt Warp]";
mes "Oh, right! I almost forgot that ^4d4dffShawn McCurdy^000000 wants to talk to you about the mine.";
mes "You can find him on the way out. Why don't you talk to him?";
next;
mes "[Wyatt Warp]";
mes "Who knows? You might find something to use against the Buffalo Bandits.";
rock_main_quest = 10;
erasequest 7798;
setquest 7799;// Shawn McCurdy's Weapon 1
close;
}
if (rock_main_quest == 10) {
mes "[Wyatt Warp]";
mes "I'll let you handle the negotiation with Albert.";
mes "I want to get him while he thinks you really came from Headquarters.";
next;
mes "[Wyatt Warp]";
mes "Oh, and you should talk to Shawn McCurdy on your way out.";
mes "He said he has something important to tell you.";
close;
}
if (rock_main_quest == 11) {
mes "[Wyatt Warp]";
mes "I see.";
mes "We could use it to convince the bandits that the mine is not as useful as they think it is.";
mes "And that's not a complete lie. Or it won't be, soon.";
next;
}
if (rock_main_quest < 14) {
mes "[Wyatt Warp]";
mes "This depends on you and Shawn.";
mes "Like Shawn said, go to the second level in the mine, get an ore, and show it to Albert.";
mes "That'll tame him further.";
next;
mes "[Wyatt Warp]";
mes "How can I get to the mine?";
mes "Follow the railroad east.";
mes "Try to stay in the right track.";
close;
}
if (rock_main_quest == 14) {
if (isbegin_quest(7809) == 0 && countitem(25247) > 0) {
mes "[Wyatt Warp]";
mes "Shawn was right.";
mes "Give me the ore.";
mes "I'll give it to Shawn.";
delitem 25247, countitem(25247);// Violet_Stone
setquest 7809;// Collecting Ores
completequest 7809;// Collecting Ores
next;
}
mes "[Wyatt Warp]";
mes "Um? What's that hair in your hand?";
mes "Albert's mane?";
mes "Did you really take care of him?";
next;
mes "[Wyatt Warp]";
mes "Geez, you adventurers are a scary sort.";
mes "Mm? No? Oh, he gave it to you.";
mes "Ah, to fool Johnny!";
next;
mes "[Wyatt Warp]";
mes "*Shakes his head* Hah hah hah.";
mes "Alright, go talk to Johnny one last time.";
mes "We should at least let him have good dreams, right?";
close;
}
if (rock_main_quest == 15) {
if (isbegin_quest(7809) == 0 && countitem(25247) > 0) {
mes "[Wyatt Warp]";
mes "Shawn was right.";
mes "Give me the ore.";
mes "I'll give it to Shawn.";
delitem 25247, countitem(25247);// Violet_Stone
setquest 7809;// Collecting Ores
completequest 7809;// Collecting Ores
next;
}
mes "[Wyatt Warp]";
mes "Alright, then I'll let Shawn handle this.";
mes "Could you go tell Shawn where the ores are?";
mes "I'll talk to Costello.";
next;
mes "[Wyatt Warp]";
mes "Oh, and";
mes "I think it's time we warn Albert.";
mes "Tell him the longer they stay inside the mine, the slimmer their chances of living.";
next;
select("Are you just going to fight them?");
mes "[Wyatt Warp]";
mes "Yes, we're done talking.";
mes "It's time to threaten them.";
mes "For now, ^4d4dfflook for the ores with Shawn.^000000";
next;
mes "[Wyatt Warp]";
mes "Once we get the ores back, we'll have nothing to worry about.";
mes "Eliminate Buffalo Bandits around Rock Ridge and the mine,";
mes "and show their ^4d4dffmufflers and scarves to Albert.^000000";
next;
mes "[Wyatt Warp]";
mes "He's stupid, but even he'd know what that means.";
mes "*Chuckle* Who knew adventurers could be so useful?";
mes "I'm going to tell Costello to recruit more adventurers like you!";
next;
mes "[Wyatt Warp]";
mes "Now go to ^4d4dffShawn McCurdy^000000, will you?";
mes "We're almost done with the bandits!";
mes "Hang in there!";
rock_main_quest = 16;
erasequest 7804;// Location of the Ores
setquest 7805;// Location of the Ores 2
close;
}
if (rock_main_quest == 16) {
mes "[Wyatt Warp]";
mes "Now go to ^4d4dffShawn McCurdy^000000, will you?";
mes "We're almost done with the bandits!";
next;
mes "[Wyatt Warp]";
mes "Once we retrieve our ores, we'll take down the bandits!";
mes "Don't forget to teach Albert a lesson this time.";
close;
}
if (rock_main_quest < 21) {
mes "[Wyatt Warp]";
mes "*Chuckle* What should I do with the Buffalo Bandits?";
mes "Just the thought of toying with them gets me excited.";
close;
}
if (rock_main_quest == 21) {
if (countitem(25248) < 1) {// note: player can't finish the quest without the item
mes "[Wyatt Warp]";
mes "Shawn said you'd bring the ore box. Where is it?";
mes "If you left it somewhere because it's heavy, please go bring it.";
close;
}
mes "[Wyatt Warp]";
mes "How did it go?";
mes "You've declared war against Albert Ford.";
next;
mes "[Wyatt Warp]";
mes "Mwa hah hah hah!";
mes "This is exactly what I've wanted!";
mes "We'd better bring in more adventurers, so we could get rid of the bandits at once!";
next;
mes "[Wyatt Warp]";
mes "You're the hero of Rock Ridge.";
mes "The first level in the mine is done for, but the second floor has enough reserve to keep us going for a while. The problems with the mine are solved.";
next;
mes "[Wyatt Warp]";
mes "The only thing left for me to do is reward you.";
mes "Here, pick one you like.";
mes "Rock Ridge thanks you";
mes "for your help.";
next;
mes "[Wyatt Warp]";
mes "Both badges are worn by us Vigilantes, but they provide different effects.";
mes "I have " + mesitemlink( 28495, false, "Vigilante Badge (L)" );
mes "and " + mesitemlink( 28496, false, "Vigilante Badge (R)" ) + ".";
mes "Pick one you like.";
next;
setarray .@item_name$[0], "Vigilante Badge (L)", "Vigilante Badge (R)";
setarray .@item_id[0], 28495, 28496;
.@s = select( "Vigilante Badge (L)", "Vigilante Badge (R)" ) - 1;
mes "[Wyatt Warp]";
mes "Do you want " + mesitemlink( .@item_id[.@s], false, .@item_name$[.@s] ) + "?";
mes "Excellent choice!";
mes "Are you certain you want this?";
next;
if (select( "Yes.", "No." ) == 2) {
mes "[Wyatt Warp]";
mes "You want to be careful";
mes "about what you get, I see.";
mes "Take your time.";
close;
}
mes "[Wyatt Warp]";
mes "Here, you've earned it.";
mes "Be proud of yourself.";
mes "And this is reward money.";
rock_main_quest = 22;
delitem 25248,1;// Violet_Stone_Box
erasequest 7808;// Case Solved
setquest 9457;// Solved Anyway
completequest 9457;// Solved Anyway
getitem .@item_id[.@s],1;
getitem 25250,200;// Coin_Of_Rr
getexp 2500000,1200000;
close;
}
mes "[Wyatt Warp]";
mes "You've brought hope back to Rock Ridge.";
mes "Young hero,";
mes "Stand tall and travel the world like you own it!";
close;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW,
"rock_main_quest == 2 || rock_main_quest == 4 || rock_main_quest == 6 || rock_main_quest == 9 || rock_main_quest == 15 || rock_main_quest == 21" );
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 14 && isbegin_quest(7809) == 0 && countitem(25247) > 0" );
end;
}
har_in01,14,24,5 script Ivoka Skudi#rr03 4_M_EVOKASCUDI,{
if (checkweight(1301,3) == 0) {
mes "- You are carrying too many items to proceed with this quest. -";
close;
}
if (rock_main_quest < 7) {
mes "[Ivoka Skudi]";
mes "This is the sheriff's office.";
mes "It's where those who did something that they shouldn't come in handcuffs.";
close;
}
if (rock_main_quest == 7) {
mes "[Ivoka Skudi]";
mes "Johnny must be worried about losing his place in his gang, even though he acts as if he's not.";
mes "Albert ran once already.";
next;
mes "[Ivoka Skudi]";
mes "Ah, of course, Albert ran. That's so he could bring his friends with him.";
mes "Well, let me rephrase that? We let him run.";
next;
mes "[Ivoka Skudi]";
mes "And what do you think Johnny thought when he saw that?";
next;
select("He probably thought Albert betrayed him.");
mes "[Ivoka Skudi]";
mes "That's right. The seeds of distrust have been planted. All we have to do now is";
next;
mes "[Ivoka Skudi]";
mes "tell Johnny that Albert and the others have abandoned him. Albert is their leader now!";
mes "It's a cliche, but totally convincing, isn't it?";
next;
npctalk "But they would never do that. They'd rather raid our village to save him than betray him.", "Wyatt Warp#har_in01", bc_self;
sleep2 2000;
mes "[Ivoka Skudi]";
mes "Ah, you have a point. And that's more plausible, isn't it?";
mes "And this is where you come into play, Adventurer.";
next;
mes "[Ivoka Skudi]";
mes "Someone needs to convince Albert that Johnny isn't worth a dime as a hostage,";
mes "and we're hoping that'd be you.";
next;
mes "[Ivoka Skudi]";
mes "Tell him";
mes "we don't need the ores";
mes "and make him think that he has no bargaining chip.";
next;
mes "[Ivoka Skudi]";
mes "And that it's Johnny that we've wanted all this time.";
mes "If we can make him believe that, then we can negotiate from a position of strength.";
next;
select("What about the mine?");
mes "[Ivoka Skudi]";
mes "You could just tell him that HQ is considering to shut it down.";
mes "It's not like those buffaloes have a way to confirm that.";
next;
mes "[Ivoka Skudi]";
mes "If it's necessary, I could spread a rumor that all the job openings in the village are filled. *Chuckle*";
npctalk "You think we should pressure Albert, I see. What about Johnny?", "Wyatt Warp#har_in01", bc_self;
next;
mes "[Ivoka Skudi]";
mes "We could tell him Albert has given up on him,";
mes "and that he's turning everyone else against him to become their leader.";
next;
npctalk "I see.", "Wyatt Warp#har_in01", bc_self;
mes "[Wyatt Warp]";
mes "Hmm, this isn't a bad idea.";
mes "I wonder what Costello thinks.";
mes "He'd probably say something stupid, like ^4d4dffpaying them a million Zeny or so for the ores^000000.";
next;
mes "[Wyatt Warp]";
mes "He wants to solve everything with money? Other people's money.";
mes "I say we should go with our plan for now.";
next;
mes "[Wyatt Warp]";
mes "You have a very important role in this gig.";
mes "It was good we lied in the first meeting and said that you were from Headquarters.";
next;
mes "[Wyatt Warp]";
mes "Now, let's take care of Johnny first, shall we?";
mes "Albert's spy has been going in and out of the basement.";
sleep2 1000;
npctalk "Yes, and we can use him to our advantage.", "Wyatt Warp#har_in01", bc_self;
next;
mes "[Wyatt Warp]";
mes "Ivoka's right.";
mes "Let the spy see you talk to Johnny.";
mes "And convince Johnny that Albert has given up on you.";
rock_main_quest = 8;
erasequest 7796;
setquest 7797;// Hear Me Out 1
close;
}
if (rock_main_quest == 8) {
mes "[Ivoka Skudi]";
mes "We'll be counting on you, Adventurer!";
mes "Don't give Johnny a chance to think.";
next;
mes "[Ivoka Skudi]";
mes "Johnny is locked up in the underground jail.";
mes "Let's go play him!";
close;
}
if (rock_main_quest < 14) {
mes "[Ivoka Skudi]";
mes "Knock on the rock in front of the mine three times, and Albert would come out.";
mes "I thought that was the signal the miners use for mealtime.";
next;
mes "[Ivoka Skudi]";
mes "Stupid buffaloes.";
mes "They can't even come up with their own signals.";
close;
}
if (rock_main_quest == 14 || rock_main_quest == 15) {
mes "[Ivoka Skudi]";
mes "It worked!";
mes "Come on, let's go play Johnny!";
mes "*Chuckle*";
close;
}
mes "[Ivoka Skudi]";
mes "I can imagine how the buffaloes would react.";
mes "I'd better train our vigilantes harder.";
close;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 6 || rock_main_quest == 7" );
end;
}
har_in01,34,28,0 script har_in01_jail WARPNPC,1,1,{
end;
OnTouch:
if (rock_main_quest < 6) {
mes "[Ivoka Skudi]";
mes "You can't get in there.";
mes "It's a jail cell.";
close;
}
warp "har_in01",99,27;
end;
}
// Prison
har_in01,100,14,3 script Vigilante#srdg01 4_M_CACTUSLADY,{
setpcblock PCBLOCK_NPC, true;
npctalk "You'd better not do anything stupid.", "", bc_self;
sleep2 1000;
npctalk "I'm watching you like a hawk.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
har_in01,81,30,3 script Harold#srdg01 4_TOWER_09,{
setpcblock PCBLOCK_NPC, true;
emotion ET_OHNO;
npctalk "I can't believe you. Ugh!", "", bc_self;
sleep2 1000;
npctalk "What are you talking about?", "Egring#srdg01", bc_self;
sleep2 1000;
emotion ET_ANGER;
npctalk "You didn't pay the restaurant bill on purpose, so you could go to jail, and then you've fattened yourself on prison food. That's messed up!", "", bc_self;
sleep2 1000;
emotion ET_HNG, getnpcid(0, "Egring#srdg01");
npctalk "I can't help it when the food is so delicious.", "Egring#srdg01", bc_self;
sleep2 1000;
npctalk "Well, that I agree.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
har_in01,78,25,5 script Egring#srdg01 4_DR_TORTEL,{
setpcblock PCBLOCK_NPC, true;
emotion ET_THROB;
npctalk "When are we eating today? What are we having? Beans?", "", bc_self;
sleep2 1000;
npctalk "It hasn't been even thirty minutes since our last meal!", "Harold#srdg01", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
har_in01,89,26,5 script Johnny James#har_in01 4_M_JOHNNYJAMES,{
disable_items;
if (checkweight(1301,3) == 0) {
mes "- You are carrying too many items to proceed with this quest. -";
close;
}
if (rock_main_quest < 8) {
npctalk "You sneaky bastards, how dare you show up again! Go to hell!", "", bc_self;
end;
}
if (rock_main_quest == 8) {
.@player_name$ = strcharinfo(0);
setpcblock PCBLOCK_NPC, true;
npctalk "You sneaky bastards, how dare you show up again? Go to hell!", "", bc_self;
sleep2 2000;
cloakoffnpcself( "Ivoka Skudi#har02" );
setpcblock PCBLOCK_NPC, false;
npctalk "Ah, you'd better show some respect to our future mayor.", "Ivoka Skudi#har02", bc_self;
mes "[Ivoka Skudi]";
mes "I told you I can take care of him.";
mes "You didn't have to come down here to talk to him.";
next;
unittalk getcharid(3), "" + .@player_name$ + " : But the negotiation isn't over.", bc_self;
mes "[Ivoka Skudi]";
mes "What negotiation?";
mes "Even his second-in-command has given up on him.";
mes "He's useless as a hostage.";
next;
npctalk "What? Are you talking about Albert?", "", bc_self;
mes "[Ivoka Skudi]";
mes "The only thing left to do is hang him, so the others will learn not to mess with us again!";
mes "Mr. Future Mayor.";
next;
mes "[Ivoka Skudi]";
mes "Even the Sheriff agrees with me.";
mes "How does tomorrow sound? Or the day after tomorrow?";
mes "Wait, today's better. It's a perfect day to hang a buffalo!";
next;
npctalk "Hang what buffalo? Wait, are you talking about me?", "", bc_self;
mes "[Johnny James]";
mes "You've been telling me strange stuff.";
mes "What do you want?";
next;
select("Albert is the new leader of your gang now.");
mes "[Johnny James]";
mes "What are you talking about?!";
mes "Do you think I'd believe you?";
next;
npctalk "But he left you and hasn't come back to save you.", "Ivoka Skudi#har02", bc_self;
select("He said he'd sell the ores to us for a million Zeny.");
mes "[Johnny James]";
mes "What? Albert, that moron!";
mes "Are you not lying?";
mes "Why are you telling me this?";
next;
select("So you could prepare yourself for your punishment.");
npctalk "Yes. The Sheriff's looking forward to the day he'd be executed. Hah hah hah!", "Ivoka Skudi#har02", bc_self;
mes "[Johnny James]";
mes "Hey, hey!";
mes "Do I have no chance to get out of here?";
mes "Am I going to die here?";
next;
unittalk getcharid(3), "" + .@player_name$ + " : Actually, you have.", bc_self;
mes "[" + .@player_name$ + "]";
mes "Albert wants us to pay him for the ores.";
mes "But we don't have to pay him if you tell us where they are.";
next;
mes "[" + .@player_name$ + "]";
mes "Besides, we also want the mine back. We're not at all comfortable making a deal with him.";
mes "Johnny, if you help us, we could get the ores back without spending money.";
npctalk "You're right, Mr. Future Mayor. You're genius!", "Ivoka Skudi#har02", bc_self;
next;
mes "[" + .@player_name$ + "]";
mes "And if you help us, we'll take care of Albert for you. He gets in our way to get the mine back, anyway.";
mes "What do you say?";
next;
mes "[" + .@player_name$ + "]";
mes "Just so you know, this offer won't be on the table too long.";
mes "I hope you'll make the right decision.";
next;
npctalk "...", "", bc_self;
select("Stop looking outside the window.");
mes "[Ivoka Skudi]";
mes "Yes, we've known about the spy.";
mes "He's here to see when you'd finally be hanged.";
next;
mes "[Ivoka Skudi]";
mes "If he was here to save you, he would've tried to talk to you through the bars, wouldn't he?";
mes "If I were him, I would've tried to pass you a note.";
next;
mes "[Ivoka Skudi]";
mes "Has he passed you a note?";
mes "Has he at least made an inmate deposit for you?";
npctalk "...", "", bc_self;
sleep2 2000;
next;
npctalk "Tell you what.", "", bc_self;
mes "[Johnny James]";
mes "I'll tell you where the ores are";
mes "if you let me go.";
mes "And one more condition.";
next;
select("Go on.");
mes "[Johnny James]";
mes "...Can you take care of that traitor, Albert?";
mes "I'll tell you the password you can use to call him out of hiding.";
next;
mes "[Johnny James]";
mes "^4d4dffKnock on the concave rock in front of the mine three times,^000000 and Albert will come out.";
mes "You can take care of him, then.";
next;
mes "[Johnny James]";
mes "And bring me ^4d4dffhis mane^000000 as proof.";
mes "If Albert is still alive by the time I'm out of here, I can't go back to my gang.";
mes "I want him gone.";
next;
mes "[Johnny James]";
mes "I'll tell you where the ores are afterward.";
next;
select("Deal.");
mes "[Johnny James]";
mes "...Damn it!";
mes "Don't come back until you have ^4d4dffAlbert's mane^000000 to show to me, got it?";
mes "Now get outta here!";
rock_main_quest = 9;
erasequest 7797;
setquest 7798;// Perfectly Prime
close;
}
if (rock_main_quest < 14) {
mes "[Johnny James]";
mes "Don't come back until you have ^4d4dffAlbert's mane^000000 to show to me, got it?";
mes "Now get outta here!";
close;
}
if (rock_main_quest == 14) {
if (countitem(25249) < 1) {
mes "[Johnny James]";
mes "Bring me that bastard's mane!";
close;
}
mes "[Johnny James]";
mes "That sly bastard, he betrayed me!";
mes "When he got drunk, he used to tell me he'd live longer than I would.";
next;
mes "[Johnny James]";
mes "His spy outside the window even pointed his fingers like guns at me!";
mes "How's Albert?";
next;
select("Show him his mane.");
mes "[Johnny James]";
mes "...Are you sure he's dead?";
mes "Because his spy just pointed his fingers like guns at me.";
next;
select("He probably hasn't heard.");
mes "[Johnny James]";
mes "...Maybe you're right. Did you come here as soon as you were done with him?";
mes "That's why his spy hasn't heard about his death.";
next;
mes "[Johnny James]";
mes "Alright, that makes sense.";
mes "When I get out of here, I'll send that guy to join Albert in Hell.";
mes "*Chuckle*";
next;
mes "[Johnny James]";
mes "That traitor thought he'd live longer than I would.";
mes "Look who's still breathing now!";
next;
mes "[Johnny James]";
mes "Alright, I'll tell you where the ores are.";
mes "They're ^4d4dffunder the elevator on the second floor of the mine^000000.";
mes "We broke the elevator, so we could hide them underneath it.";
next;
mes "[Johnny James]";
mes "It'll take many of you wimps to lift the elevator.";
mes "Good luck.";
mes "And don't forget to tell the sheriff I cooperated.";
rock_main_quest = 15;
delitem 25249,1;// Mane_Of_Cow
erasequest 7803;// Happy for Broken Trust
setquest 7804;// Location of the Ores
close;
}
if (rock_main_quest == 15) {
mes "[Johnny James]";
mes "Grr, if I get out of here...";
mes "*Chuckle* I'll make you pay for humiliating me.";
close;
}
mes "[Johnny James]";
mes "What's taking you so long?";
mes "I don't like waiting.";
close;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 8 || rock_main_quest == 14" );
end;
}
har_in01,88,22,6 script Ivoka Skudi#har02 4_M_EVOKASCUDI,{
if (rock_main_quest == 9) {
mes "[Ivoka Skudi]";
mes "(Whispering) He's more simpleminded than I thought. Let's go report to the Sheriff.";
close2;
cloakonnpcself( "Ivoka Skudi#har02" );
end;
}
end;
OnInit:
cloakonnpc();
end;
}
// Fild 1
rockrdg1,160,306,3 duplicate(dummy_cloaked_npc) Johnny James#revt04 4_M_JOHNNYJAMES
rockrdg1,168,306,3 duplicate(dummy_cloaked_npc) Albert Ford#revt08 4_M_ALBERTFORD
rockrdg1,156,302,7 duplicate(dummy_cloaked_npc) Ivoka Skudi#revt02 4_M_EVOKASCUDI
rockrdg1,156,306,5 duplicate(dummy_cloaked_npc) Cactus Gunslinger#revt05 4_M_EVOKASCUDI
rockrdg1,161,302,1 duplicate(dummy_cloaked_npc) Cactus Gunslinger#revt06 4_M_EVOKASCUDI
rockrdg1,164,306,3 duplicate(dummy_cloaked_npc) Cactus Gunslinger#revt07 4_M_EVOKASCUDI
rockrdg1,156,312,3 script Unmoving Freight Train# 4_ENERGY_RED,{
if (rock_main_quest == 5) {
setpcblock PCBLOCK_NPC, true;
unittalk getcharid(3), "" + strcharinfo(0) + " : I think this is the place, but maybe I came too early.", bc_self;
sleep2 2000;
cloakoffnpcself( "Johnny James#revt04" );
sleep2 1000;
emotion ET_QUESTION, getnpcid(0,"Johnny James#revt04");
npctalk "Who's this? You're not the one I was expecting.", "Johnny James#revt04", bc_self;
sleep2 1000;
cloakoffnpcself( "Albert Ford#revt08" );
npctalk "Hey Boss, I told you not to go without me.", "Albert Ford#revt08", bc_self;
sleep2 2000;
npctalk "Mm? I don't remember if Costello looks like that.", "Albert Ford#revt08", bc_self;
sleep2 2500;
npctalk "Hey, I'm having an important meeting here. Scram!", "Johnny James#revt04", bc_self;
sleep2 2000;
cloakoffnpcself( "Wyatt Warp#revt03" );
sleep2 1000;
npctalk "Johnny James? You shouldn't be so rude to the Officer.", "Wyatt Warp#revt03", bc_self;
sleep2 2500;
npctalk "Ah, the sheriff's here. Who's that with you? I told you I wanted to talk to the mayor.", "Johnny James#revt04", bc_self;
sleep2 2500;
npctalk "Don't you want your ores and mine back, hmm?", "Johnny James#revt04", bc_self;
if (select( "I'm from Headquarters.", "I'm the mayor." ) == 1)
unittalk getcharid(3), "" + strcharinfo(0) + " : I came all the way from Headquarters for this meeting.", bc_self;
else
unittalk getcharid(3), "" + strcharinfo(0) + " : You don't keep up with the news, do you? I'm the mayor now.", bc_self;
sleep2 2000;
npctalk "Yes. You'll have to talk to him, not Costello.", "Wyatt Warp#revt03", bc_self;
sleep2 2500;
emotion ET_AHA, getnpcid(0,"Johnny James#revt04");
npctalk "So the rumor was right: Costello finally got the hell out of Dodge, huh? Mwa hah hah!", "Johnny James#revt04", bc_self;
sleep2 3000;
emotion ET_THINK, getnpcid(0,"Albert Ford#revt08");
npctalk "These guys could be lying.", "Albert Ford#revt08", bc_self;
sleep2 3000;
npctalk "What good would lying do to us? We're the beggars here. Now tell us what you want.", "Wyatt Warp#revt03", bc_self;
sleep2 3000;
npctalk "So he could go back to the Headquarters with your demand.", "Wyatt Warp#revt03", bc_self;
sleep2 2500;
npctalk "*Snort* You're an enemy, but I admire your straightforwardness. We want?", "Johnny James#revt04", bc_self;
sleep2 3000;
npctalk "Okay, that's enough.", "Wyatt Warp#revt03", bc_self;
sleep2 300;
npctalk "What? I haven't even started?", "Johnny James#revt04", bc_self;
sleep2 500;
specialeffect 563, AREA, "Johnny James#revt04";
cloakoffnpcself( "Cactus Gunslinger#revt05" );
cloakoffnpcself( "Cactus Gunslinger#revt06" );
cloakoffnpcself( "Cactus Gunslinger#revt07" );
cloakoffnpcself( "Ivoka Skudi#revt02" );
npctalk "Freeze!", "Ivoka Skudi#revt02", bc_self;
sleep2 1000;
specialeffect 453, AREA, "Johnny James#revt04";
npctalk "Freeze!", "Cactus Gunslinger#revt05", bc_self;
npctalk "You're trapped,", "Cactus Gunslinger#revt06", bc_self;
npctalk "Buffaloes!", "Cactus Gunslinger#revt07", bc_self;
npctalk "Wh-what the hell's going on?", "Johnny James#revt04", bc_self;
sleep2 2000;
npctalk "Boss! Boss!", "Albert Ford#revt08", bc_self;
sleep2 2000;
specialeffect 563, AREA, "Johnny James#revt04";
npctalk "Buffaloes!", "Cactus Gunslinger#revt05", bc_self;
npctalk "Buffaloes!", "Cactus Gunslinger#revt06", bc_self;
npctalk "Buffaloes!", "Cactus Gunslinger#revt07", bc_self;
sleep2 2000;
npctalk "*Chuckle*", "Wyatt Warp#revt03", bc_self;
npctalk "Everything went just as we planned!", "Ivoka Skudi#revt02", bc_self;
sleep2 2000;
npctalk "You goddamn Cacti! You were disguised as the plants!", "Johnny James#revt04", bc_self;
sleep2 3000;
npctalk "Albert, stop looking and do something!", "Johnny James#revt04", bc_self;
sleep2 2000;
npctalk "I-I'll go bring the rest of our gang!", "Albert Ford#revt08", bc_self;
sleep2 1000;
npctalk "WHAT?", "Johnny James#revt04", bc_self;
cloakonnpcself( "Albert Ford#revt08" );
sleep2 1000;
npctalk "ALBERT!", "Johnny James#revt04", bc_self;
sleep2 2000;
npctalk "Hey Johnny, your friend left you.", "Wyatt Warp#revt03", bc_self;
npctalk "He ran to save himself. *Chuckle*", "Ivoka Skudi#revt02", bc_self;
sleep2 3000;
npctalk "Ivoka and our Cacti friends, you did a good job! You can take him away now.", "Wyatt Warp#revt03", bc_self;
sleep2 1000;
npctalk "Let's go!", "Cactus Gunslinger#revt05", bc_self;
npctalk "We've got you now!", "Cactus Gunslinger#revt06", bc_self;
npctalk "Stop resisting!", "Cactus Gunslinger#revt07", bc_self;
sleep2 1000;
npctalk "Hmpf, don't you want your ores back?!", "Johnny James#revt04", bc_self;
sleep2 1000;
npctalk "Who cares about the ores?", "Cactus Gunslinger#revt05", bc_self;
sleep2 1000;
npctalk "Our job is to take you away!", "Cactus Gunslinger#revt06", bc_self;
sleep2 1000;
npctalk "Shut up before I put a ring through your nose!", "Cactus Gunslinger#revt07", bc_self;
sleep2 1000;
npctalk "Guys, let's go!", "Ivoka Skudi#revt02", bc_self;
sleep2 2000;
cloakonnpcself( "Cactus Gunslinger#revt05" );
cloakonnpcself( "Cactus Gunslinger#revt06" );
cloakonnpcself( "Cactus Gunslinger#revt07" );
cloakonnpcself( "Ivoka Skudi#revt02" );
cloakonnpcself( "Johnny James#revt04" );
sleep2 2000;
npctalk "Let's go back, shall we?", "Wyatt Warp#revt03", bc_self;
rock_main_quest = 6;
erasequest 7795;
setquest 7796;// Unexpected Arrest
setpcblock PCBLOCK_NPC, false;
end;
}
mes "It's worthless and abandoned.";
close;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 5" );
end;
}
rockrdg1,153,303,5 script Wyatt Warp#revt03 4_M_YATTWARP,{
if (rock_main_quest == 6) {
mes "[Wyatt Warp]";
mes "Ivoka's plan worked flawlessly.";
mes "And it only worked because he and his friends are Cacti.";
next;
mes "[Wyatt Warp]";
mes "If Costello was with us, this plan might not have worked.";
mes "You being a stranger has distracted them more effectively than we thought.";
next;
mes "[Wyatt Warp]";
mes "And now we can negotiate with the bandits on equal footing.";
mes "Who knows? We could trade Johnny for the stolen ores.";
next;
mes "[Wyatt Warp]";
mes "Let's go back to my office.";
close2;
cloakonnpcself( "Wyatt Warp#revt03" );
end;
}
end;
OnInit:
cloakonnpc();
end;
}
harboro1,288,193,5 script Shawn McCurdy#harboro1 4_M_SEANMCCURDY,{
if (rock_main_quest < 10) {
mes "[Shawn McCurdy]";
mes "I'm worried we miners might not be able to work for a long time,";
mes "and we can't afford that.";
mes "This is because of the bandits, right?";
close;
}
if (rock_main_quest == 10) {
mes "[Shawn McCurdy]";
mes "Oh, are you the adventurer who I've heard might become our new mayor?";
mes "Nice to meet you! My name's Shawn McCurdy, and I'm a foreman at the mine.";
mes "You can call me Shawn.";
next;
mes "[Shawn McCurdy]";
mes "Sheriff Warp told you everything, right?";
mes "I've heard you've been busy because of the negotiation with the bandits.";
next;
mes "[Shawn McCurdy]";
mes "It also has to do with the mine, doesn't it?";
mes "I might have a weapon you could use against one of them, Albert Ford.";
next;
select("What would that be?");
mes "[Shawn McCurdy]";
mes "Unprocessed ores. Just like the ones that the bandits stole from us.";
mes "These ores are worthless unless they're processed,";
next;
mes "[Shawn McCurdy]";
mes "just like diamonds.";
mes "In other words, the ores have no use for the bandits.";
next;
mes "[Shawn McCurdy]";
mes "The ores that they stole equal three months worth of work.";
mes "And that's not a lot, contrary to what most people think.";
next;
mes "[Shawn McCurdy]";
mes "There was only one floor inside the mine,";
mes "but recently, we've drilled another floor below it.";
mes "There are a lot of ores buried in that floor, so we've been producing several times the amount we did on the first floor.";
next;
mes "[Shawn McCurdy]";
mes "If necessary, we could produce a few weeks worth of ores in a matter of days.";
mes "We just can't work because of the bandits squatting in the mine.";
next;
select("So the mine is useless at the moment.");
mes "[Shawn McCurdy]";
mes "No. Because there's a way to get to the second floor of the mine.";
mes "And that's the weapon I was talking about.";
mes "The bandits are only on the first floor. We could sneak into the second floor and continue to mine.";
next;
mes "[Shawn McCurdy]";
mes "And that'll show those bandits they've been wasting their time squatting in the mine.";
next;
select("Then what are you waiting for?");
mes "[Shawn McCurdy]";
mes "Now, this is the problem.";
mes "When we first opened the second floor, there was no elevator,";
mes "so we had to drill the vents and the workers' passage directly from the ground level.";
next;
mes "[Shawn McCurdy]";
mes "Since the elevator started operating, we stopped using the passage,";
mes "but it's not blocked. We can still use it.";
next;
mes "[Shawn McCurdy]";
mes "And I don't think the bandits know about it.";
mes "That temporary passage is connected to the farthest corner on the second floor,";
next;
mes "[Shawn McCurdy]";
mes "and the bandits didn't bother checking so deep.";
mes "I can tell because no bandit is there around the opening.";
next;
mes "[Shawn McCurdy]";
mes "So I'm thinking we should sneak into the second floor and gather ores.";
mes "Since the bandits set up shop in the mine, most of the experienced miners left.";
next;
mes "[Shawn McCurdy]";
mes "And the temporary passage isn't safe, not since it was re-drilled.";
mes "Only people as strong as you could go in and out of it without getting hurt.";
next;
mes "[Shawn McCurdy]";
mes "You have to go to the mine for the negotiation with Albert, anyway.";
mes "You could pick up a few ores on your way to the meeting place and show them to him.";
next;
mes "[Shawn McCurdy]";
mes "The entrance to the second floor of the mine is ^4d4dfffarther south from the main entrance of the mine^000000.";
mes "I need to make some arrangements. I'll meet you there.";
rock_main_quest = 11;
erasequest 7799;
setquest 7800;// Shawn McCurdy's Weapon 2
close;
}
if (rock_main_quest == 11) {
mes "[Shawn McCurdy]";
mes "The entrance to the second floor of the mine is ^4d4dfffarther south from the main entrance of the mine^000000.";
mes "I need to make some arrangements. I'll meet you there.";
close;
}
if (rock_main_quest < 16) {
mes "[Shawn McCurdy]";
mes "The temporary passage drilled for development purposes will stay useful.";
mes "For adventurers like you, and for Rock Ridge, of course.";
close;
}
if (rock_main_quest == 16) {
mes "[Shawn McCurdy]";
mes "So I've heard.";
mes "I've made all the necessary arrangements.";
mes "Who knew they'd be hidden right under our nose?";
next;
mes "[Shawn McCurdy]";
mes "This explains why the bandits have been standing guard around the mine.";
mes "Now it all clicks into place.";
next;
mes "[Shawn McCurdy]";
mes "We know another passage leads to the second floor of the mine.";
mes "Let's go!";
close;
}
if (rock_main_quest == 22) {
mes "[Shawn McCurdy]";
mes "Soon, I'm going to take a few miners who recovered enough to work on the second floor of the mine.";
mes "We'll have to be careful, of course, since the bandits are still inside the mine.";
next;
mes "[Shawn McCurdy]";
mes "They're on the first floor, so we're just going to block the elevator.";
mes "There are many things to do.";
close;
}
end;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 10" );
end;
}
rockrdg2,347,216,5 script Shawn McCurdy#rockrdg2 4_M_SEANMCCURDY,{
if (rock_main_quest < 11) {
npctalk "*Gasp* Adventurer, be careful! This place isn't safe since the Buffalo Bandits have occupied the nearby mine.", "", bc_self;
end;
}
if (rock_main_quest == 11 || rock_main_quest == 12) {
if (rock_main_quest == 11) {
mes "[Shawn McCurdy]";
mes "Wah! Who are you?";
sleep2 1000;
unittalk getcharid(3), "" + strcharinfo(0) + " : Take it easy. It's me.", bc_self;
next;
mes "[Shawn McCurdy]";
mes "Oh, whew. Adventurer.";
mes "Being in such a dangerous place is making me nervous.";
mes "I'm glad you came here safely.";
next;
mes "[Shawn McCurdy]";
mes "Last time when I came here,";
mes "I hid the entrance, just in case.";
mes "Would you like to go downstairs?";
}
else {
if (countitem(25247) > 0) {
mes "[Shawn McCurdy]";
mes "This shows your experience as an adventurer.";
mes "You've found a big, good-quality ore, even though I didn't tell you what to look for.";
next;
mes "[Shawn McCurdy]";
mes "Good job! This should convince Albert.";
mes "Let's go negotiate with him!";
rock_main_quest = 13;
erasequest 7801;
setquest 7802;// Hear Me Out 2
close;
}
mes "[Shawn McCurdy]";
mes "We need an ore to fool Albert and the other bandits. Do you want to go get it now?";
}
next;
if (select( "Let's do that.", "I'm not ready yet." ) == 2) {
mes "[Shawn McCurdy]";
mes "It's dangerous to stay here too long.";
mes "Please hurry up.";
close;
}
mes "[Shawn McCurdy]";
mes "Watch your feet.";
close2;
warp "rockmi2",14,86;
end;
}
if (rock_main_quest == 13) {
if (countitem(25247) > 0) {
mes "[Shawn McCurdy]";
mes "All right!";
mes "Now, you better head over to see Albert. Good luck negotiating with him!";
mes "The entrance to the mine is just a little bit north of here.";
next;
mes "[Shawn McCurdy]";
mes "I hope my opinion will be helpful to you!";
close;
}
mes "[Shawn McCurdy]";
mes "Adventurer, where did you leave that big, beautiful ore you had? Did you lose it?";
mes "Do you need to mine again?";
next;
if (select( "Yes.", "I'm not ready yet." ) == 2) {
mes "[Shawn McCurdy]";
mes "It's dangerous to stay here too long.";
mes "Please hurry up.";
close;
}
mes "[Shawn McCurdy]";
mes "I hope you'll not lose it this time.";
mes "Watch your feet.";
close2;
warp "rockmi2",14,86;
end;
}
if (rock_main_quest < 16) {
mes "[Shawn McCurdy]";
mes "I'm looking into how we can go ahead and use this place.";
mes "Of course, I'm not sure if you'll be able to just talk to their leader, but...";
close;
}
if (rock_main_quest < 20) {
mes "[Shawn McCurdy]";
mes "Okay, you better get going and see the Buffalo Bandits before they can find this place.";
close2;
warp "rockmi2",14,86;
end;
}
if (rock_main_quest == 20) {
mes "[Shawn McCurdy]";
mes "Now the only one left is Albert Ford.";
mes "He must be waiting for Johnny's execution, so he could become the leader of his gang.";
next;
mes "[Shawn McCurdy]";
mes "But it's possible the bandits know we're searching the mine for the box.";
mes "Now it's our turn to be firm with them.";
next;
mes "[Shawn McCurdy]";
mes "Please ^4d4dffeliminate Buffalo Bandits and take 5 Brown Mufflers and 5 Bandit Scarves with you^000000 on your way there.";
mes "Let's drive Albert into a corner!";
close;
}
mes "[Shawn McCurdy]";
mes "I'm cautious because I don't want the bandits to find out about this entrance.";
mes "Please be careful, Adventurer.";
close;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 11 || rock_main_quest == 12" );
end;
}
rockmi2,10,86,5 script Shawn McCurdy#rockmi2 4_M_SEANMCCURDY,{
if (rock_main_quest == 11) {
mes "[Shawn McCurdy]";
mes "Let's get to work, shall we?";
mes "Follow this narrow passage, and you'll see a vein of mineral.";
mes "This place is abundant in minerals.";
mes "Just get ^4d4dff1 Purple Ore^000000 of adequate size.";
next;
mes "[Shawn McCurdy]";
mes "In the meantime, I'll check the pulley that we need to use to go back up.";
mes "We made it in a hurry, so it's a bit unsafe sometimes. Hah hah.";
rock_main_quest = 12;
erasequest 7800;
setquest 7801;// Shawn McCurdy's Weapon 3
close;
}
if (rock_main_quest == 12) {
if (countitem(25247) < 1) {
mes "[Shawn McCurdy]";
mes "Adventurer, get ^4d4dff1 Purple Ore^000000.";
mes "I'll check the pulley that we need to use to go back up.";
close;
}
mes "[Shawn McCurdy]";
mes "This shows your experience as an adventurer.";
mes "You've found a big, good-quality ore, even though I didn't tell you what to look for.";
next;
mes "[Shawn McCurdy]";
mes "Good job! This should convince Albert.";
mes "Alright, let's go back up.";
erasequest 7801;
setquest 7802;// Hear Me Out 2
rock_main_quest = 13;
close2;
warp "rockrdg2",348,214;
end;
}
if (rock_main_quest == 13) {
mes "[Shawn McCurdy]";
mes "Make sure you have the ore with you.";
mes "Are you ready to go back up?";
next;
if (select( "Yes.", "Let me go get a different one." ) == 2) {
mes "[Shawn McCurdy]";
mes "I'll wait here.";
close;
}
mes "[Shawn McCurdy]";
mes "Alright, up we go!";
close2;
warp "rockrdg2",348,214;
end;
}
if (rock_main_quest == 14) {
mes "[Shawn McCurdy]";
mes "How did the negotiation go?";
mes "Let's go back to the village. The people must be waiting for us.";
close;
}
if (rock_main_quest == 16) {
mes "[Shawn McCurdy]";
mes "Move to the north from the center of the mine, and you'll see the broken elevator.";
mes "Stupid bandits, I can't believe they broke the elevator just to hide the ores.";
next;
mes "[Shawn McCurdy]";
mes "They think they're smart,";
mes "but this proves their stupidity.";
next;
mes "[Shawn McCurdy]";
mes "Check the location of the ores, and bring only ^4d4dff1 Ore Box^000000 with you.";
mes "I'll move the rest someplace else.";
next;
mes "[Shawn McCurdy]";
mes "The bandits might stand guard around the mine.";
mes "Please be careful.";
rock_main_quest = 17;
erasequest 7805;// Location of the Ores 2
setquest 7806;// Location of the Ores 3
close;
}
if (rock_main_quest == 17) {
mes "[Shawn McCurdy]";
mes "The broken elevator is to the north from the center of this mine.";
mes "Check the location of the ores, and bring only ^4d4dff1 Ore Box^000000 with you.";
mes "I'll move the rest someplace else.";
next;
mes "[Shawn McCurdy]";
mes "The bandits might stand guard around the mine.";
mes "Please be careful.";
close;
}
if (rock_main_quest == 18) {
mes "[Shawn McCurdy]";
mes "Ah, I should've known";
mes "they'd patrol around the elevator.";
mes "Get rid of any Buffalo Bandits you see, and get ores.";
close;
}
if (rock_main_quest == 19) {
mes "[Shawn McCurdy]";
mes "Yes, you brought the correct box.";
mes "^4d4dffAlbert Ford^000000 will hit the roof if he sees this.";
next;
mes "[Shawn McCurdy]";
mes "Let's get out of here before Albert finds out why his bandits can't come back from their patrol duty.";
mes "Oh, but you first need to ^4d4dfftalk to him.^000000";
next;
mes "[Shawn McCurdy]";
mes "Please ^4d4dffeliminate Buffalo Bandits and take 5 Brown Mufflers and 5 Bandit Scarves with you^000000 on your way there.";
next;
mes "[Shawn McCurdy]";
mes "They'll help create the situation Sheriff Warp wants.";
mes "Let's go up, shall we?";
erasequest 7806;// Location of the Ores 3
setquest 7807;// Ace up Our Sleeve
rock_main_quest = 20;
close2;
warp "rockrdg2",348,214;
end;
}
if (rock_main_quest == 20) {
mes "[Shawn McCurdy]";
mes "Come on, you need to get rid of Buffalo Bandits and catch Albert off guard!";
mes "Up we go!";
close2;
warp "rockrdg2",348,214;
end;
}
warp "rockrdg2",348,214; // debug
end;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 11 || rock_main_quest == 16" );
end;
}
rockmi2,97,120,5 script Broken Elevator#rrevt10 4_ENERGY_WHITE,{
if (checkweight(1301,3) == 0) {
mes "- You are carrying too many items to proceed with this quest. -";
close;
}
if (rock_main_quest < 17) {
mes "There's a broken elevator.";
close;
}
if (rock_main_quest == 17) {
mes "[????]";
mes "Hey look,";
mes "a rat has sneaked in.";
next;
mes "[????]";
mes "It's good we've caught it,";
mes "isn't it?";
close2;
rock_main_quest = 18;
monster "rockmi2", 95,116,"Buffalo Bandit",3736,1, "Broken Elevator#rrevt10::OnMyMobDead";
monster "rockmi2",101,116,"Buffalo Bandit",3737,1, "Broken Elevator#rrevt10::OnMyMobDead";
monster "rockmi2", 99,110,"Buffalo Bandit",3738,1, "Broken Elevator#rrevt10::OnMyMobDead";
hideonnpc "Broken Elevator#rrevt10";
end;
}
if (rock_main_quest == 18) {
mes "I removed the plate from the bottom of the elevator and found boxes of ores underneath it.";
unittalk getcharid(3), "" + strcharinfo(0) + " : Shawn said just one box.", bc_self;
getitem 25248,1;// Violet_Stone_Box
rock_main_quest = 19;
close;
}
if (rock_main_quest == 19) {
unittalk getcharid(3), "" + strcharinfo(0) + " : I have no more business here. I'd better go back to Shawn.", bc_self;
end;
}
end;
OnMyMobDead:
sleep2 1000;
if (mobcount( "rockmi2", "Broken Elevator#rrevt10::OnMyMobDead" ) < 1)
hideoffnpc "Broken Elevator#rrevt10";
end;
}
rockrdg2,279,313,3 script Concaved Rock#revt09 4_ENERGY_RED,{
if (rock_main_quest == 13) {
mes "This must be the signaling rock Johnny James told me about.";
next;
if (select( "Knock, knock-knock-knock, knock.", "Knock, knock, knock." ) == 2) {
mes "I feel as if I should help them make a snowman.";
mes "Nothing happened.";
close;
}
npctalk "Boss? Is that you, Boss?", "Albert Ford#rockrdg2", bc_self;
cloakoffnpcself( "Albert Ford#rockrdg2" );
close;
}
if (rock_main_quest == 14) {
if (countitem(25249) < 1) {
mes "I knocked on the signaling rock, and Albert Ford came out running.";
npctalk "Who are you?!", "Albert Ford#rockrdg2", bc_self;
cloakoffnpcself( "Albert Ford#rockrdg2" );
close;
}
mes "I don't have to use this right now.";
close;
}
if (rock_main_quest == 20) {
if (checkquest(7807,HUNTING) < 2) {
mes "I'd better get rid of Buffalo Bandits, enough to scare Albert Ford.";
close;
}
mes "I knocked on the signaling rock, and Albert Ford came out running.";
npctalk "Who are you?!", "Albert Ford#rockrdg2", bc_self;
cloakoffnpcself( "Albert Ford#rockrdg2" );
close;
}
if (rock_main_quest == 20) {
if (checkquest(7807,HUNTING) < 2) {
mes "I'd better get rid of Buffalo Bandits, enough to scare Albert Ford.";
close;
}
if (countitem(25249) < 1) {
mes "I knocked on the signaling rock, and Albert Ford came out running.";
cloakoffnpcself( "Albert Ford#rockrdg2" );
npctalk "Who are you?!", "Albert Ford#rockrdg2", bc_self;
close;
}
mes "I don't have a box of ores to show to Albert Ford.";
close;
}
if (rock_main_quest == 22) {
mes "I have no use for this anymore.";
close;
}
mes "This rock creates a deep, echoing sound when struck.";
mes "The miners use it to signal the others inside the mine.";
close;
}
rockrdg2,295,309,3 script Albert Ford#rockrdg2 4_M_ALBERTFORD,{
if (checkweight(1301,3) == 0) {
mes "- You are carrying too many items to proceed with this quest. -";
close;
}
disable_items;
.@account_id = getcharid(3);
.@player_name$ = strcharinfo(0);
if (rock_main_quest < 13) {
npctalk "Those jerks of Rock Ridge have underestimated us. *Gritting his teeth*", "", bc_self;
end;
}
if (rock_main_quest == 13) {
mes "[Albert Ford]";
mes "Who the hell are you?";
mes "How did you know the password only the Boss and I know?";
next;
select("I came to negotiate with you.");
mes "[Albert Ford]";
mes "You got to be joking.";
mes "The negotiation was off the table the moment you took the Boss by surprise.";
next;
switch( select( "You're right. I'm not here to negotiate.", "I'm here to tell you that Johnny is about to betray you." ) ) {
case 1:
mes "[" + .@player_name$ + "]";
mes "I'm telling you the truth.";
mes "I came to tell you what HQ has decided.";
mes "We've saved a lot of ores, enough not to miss the tiny amount you've stolen from us.";
next;
mes "[" + .@player_name$ + "]";
mes "We have no use for them, and you're stuck with them.";
next;
npctalk "What about the Boss?", "", bc_self;
unittalk .@account_id, "" + .@player_name$ + " : You mean Johnny James?", bc_self;
mes "[" + .@player_name$ + "]";
mes "We have no use for him, either.";
mes "But the Sheriff has always wanted him.";
mes "Soon he'll be tried in a court of law.";
next;
mes "[" + .@player_name$ + "]";
mes "Besides Johnny has given up.";
mes "He thinks you've betrayed him since? You know? You ran without him.";
next;
mes "[" + .@player_name$ + "]";
mes "He even offered us to tell us where the ores are in exchange for his freedom.";
mes "But of course, we don't need his information.";
mes "I want you to know how cowardly your boss is.";
break;
case 2:
mes "[Albert Ford]";
mes "What are you talking about?";
mes "The Boss has betrayed us?";
mes "Why would he do that?";
mes "Stop lying!";
unittalk .@account_id, "" + .@player_name$ + " : Why do you think I'm lying?", bc_self;
next;
mes "[Albert Ford]";
mes "I know Costello is still your mayor because I checked!";
mes "You lied in the last meeting that you'd be the new mayor!";
unittalk .@account_id, "" + .@player_name$ + " : Ah, that.", bc_self;
next;
mes "[" + .@player_name$ + "]";
mes "Well, I'm still from HQ.";
mes "I'm in charge of this case.";
mes "When I solve this case, I'll replace Costello as mayor.";
next;
mes "[" + .@player_name$ + "]";
mes "Costello wants to leave.";
mes "He's here only because HQ is keeping him here.";
mes "Don't compare me to him.";
next;
npctalk "What do you mean, the Boss is about to betray us?", "", bc_self;
unittalk .@account_id, "" + .@player_name$ + " : You mean Johnny James?", bc_self;
mes "[" + .@player_name$ + "]";
mes "HQ has decided";
mes "that we've got enough ores without the ones you've stolen.";
mes "So...";
next;
mes "[" + .@player_name$ + "]";
mes "We have no use for him, either.";
mes "But the Sheriff has always wanted him.";
mes "Soon he'll be tried in a court of law.";
next;
mes "[" + .@player_name$ + "]";
mes "Besides Johnny has given up.";
mes "He thinks you've betrayed him since? You know? You ran without him.";
next;
mes "[" + .@player_name$ + "]";
mes "He even offered us to tell us where the ores are in exchange for his freedom.";
mes "Because he's made this offer official, we can't ignore it.";
next;
mes "[" + .@player_name$ + "]";
mes "I want you to know how cowardly your boss is.";
break;
}
next;
mes "[" + .@player_name$ + "]";
mes "If we want the ores back, then we can always talk to Johnny";
mes "instead of dealing with you.";
next;
npctalk "I ran", "", bc_self;
mes "[Albert Ford]";
mes "to call for help.";
mes "We could always invade your village and bring the Boss back with us!";
mes "I can't believe the Boss thinks so little of me...";
next;
mes "[Albert Ford]";
mes "But then again, you could be lying to me.";
mes "You're not trying to drive a wedge between me and my boss, are you?";
next;
select("Who do you think told me how to signal you?");
mes "[Albert Ford]";
mes "...!";
mes "Did he tell you?";
mes "Did he really betray us?";
unittalk .@account_id, "" + .@player_name$ + " : How many times do I have to tell you?", bc_self;
next;
mes "[Albert Ford]";
mes "We've been thinking about ways to rescue him,";
mes "while he made friends with our enemies. We don't need a selfish traitor like him.";
next;
mes "[Albert Ford]";
mes "You came all the way here to tell me this. Why?";
next;
select("Tell us where the ores are.");
mes "[Albert Ford]";
mes "You said you don't need them!";
next;
select("No, but they're necessary for punishing Johnny.");
mes "[" + .@player_name$ + "]";
mes "I mean,";
mes "the company wants to milk the mine for everything it's worth,";
mes "and Johnny knows that. He's trying to use the ores as his get-out-of-jail-free card.";
next;
mes "[" + .@player_name$ + "]";
mes "But Sheriff Warp doesn't want that.";
mes "He wants Johnny to be hanged for all the world to see.";
mes "He doesn't want to let go of a criminal in exchange for a pile of ores.";
next;
select("Show him the ore.");
mes "[" + .@player_name$ + "]";
mes "I've brought this in case you don't believe me.";
mes "Beautiful, isn't it?";
mes "We've discovered a new vein. Its location is secret.";
next;
npctalk "No... This means we've been staying here for nothing.", "", bc_self;
mes "[" + .@player_name$ + "]";
mes "You could have this dead pit for all we care.";
next;
mes "[" + .@player_name$ + "]";
mes "Alright, let me rephrase that.";
mes "You could give up on Johnny and lead your gang yourself.";
mes "Once that coward Costello leaves for the mainland, I'll be the new mayor.";
next;
mes "[" + .@player_name$ + "]";
mes "If you're the leader of your gang, I'm willing to do business with you.";
mes "Think about your future.";
next;
mes "[" + .@player_name$ + "]";
mes "You want to share profits from this mine with us.";
mes "Johnny betrayed you first.";
mes "What is there to think about?";
npctalk "I need to talk to the others...", "", bc_self;
next;
mes "[Albert Ford]";
mes "If he really betrayed us, then we want to punish him on our own.";
mes "And the others need to know the truth.";
next;
mes "[Albert Ford]";
mes "I need time.";
sleep2 2000;
unittalk .@account_id, "" + .@player_name$ + " : We don't have time. Johnny will buy his way out of jail.", bc_self;
mes "...Alright, we're not going to worry about that traitor anymore.";
next;
mes "[Albert Ford]";
mes "But I'm not going to tell you the location of the ores until we get rid of him.";
mes "Those goddamn ores are the reason why we're in this mess.";
next;
mes "[Albert Ford]";
mes "Now scram.";
next;
select("Sorry, but can I have a lock of your mane?");
mes "[Albert Ford]";
mes "Why? What are you scheming?";
unittalk .@account_id, "" + .@player_name$ + " : Sheriff Warp wants it as proof of our negotiation.", bc_self;
next;
mes "[Albert Ford]";
mes "That jerk of a sheriff,";
mes "he can't even trust his own people, can he?";
mes "Hmpf.";
mes "There.";
mes "Now, get!";
next;
mes "[Albert Ford]";
mes "Next time we meet, we'll meet at Johnny's funeral, got it?";
getitem 25249,1;// Mane_Of_Cow
erasequest 7802;// Hear Me Out 2
setquest 7803;// Happy for Broken Trust
rock_main_quest = 14;
close2;
cloakonnpcself();
end;
}
if (rock_main_quest == 14 && countitem(25249) < 1) {
mes "[Albert Ford]";
mes "What is it this time?";
mes "Did something happen to the traitor?";
next;
select("Can I have another lock of your mane?");
mes "[Albert Ford]";
mes "Did you lose the one I gave you?";
mes "This doesn't make me more sure of my decision to trust you.";
mes "We don't have time to argue.";
next;
mes "[Albert Ford]";
mes "Here, take it.";
getitem 25249,1;// Mane_Of_Cow
close2;
cloakonnpcself();
end;
}
if (rock_main_quest == 20 && checkquest(7807,HUNTING) == 2) {
if (countitem(25278) < 5 || countitem(25283) < 5) {
mes "(I don't have enough Brown Mufflers and Bandit's Scarves to threaten Albert Ford with.)";
unittalk .@account_id, "" + .@player_name$ + " : I was just passing by. I'll come back later.", bc_self;
next;
mes "[Albert Ford]";
mes "What? What is it?";
mes "Don't call me unless you have something to tell me!";
close2;
cloakonnpcself();
end;
}
mes "[Albert Ford]";
mes "What is it this time?";
mes "I'm busy.";
next;
select("Did something happen inside the mine?");
mes "[Albert Ford]";
mes "Yes. Some guys I sent on a patrol duty didn't come back, and some of our ores?";
npctalk "...Wait.", "", bc_self;
next;
mes "[Albert Ford]";
mes "That box!";
mes "You're the thief!";
mes "What happened to our negotiation?";
mes "Is Johnny free?";
next;
select("Huh? No.");
mes "[" + .@player_name$ + "]";
mes "Why would you think that?";
mes "He told us where the ores were, yes, but we haven't held up our end of the bargain yet.";
next;
mes "[" + .@player_name$ + "]";
mes "He gave up the location because he thought you were dead.";
mes "If he gets out and realizes you're still alive, you'll be in trouble, won't you?";
next;
mes "[" + .@player_name$ + "]";
mes "Don't worry. Johnny can't evade the law.";
mes "Sheriff Warp is determined to hang him.";
next;
mes "[" + .@player_name$ + "]";
mes "Oh, and I don't think I'll become the next mayor.";
mes "I came to tell you this.";
next;
mes "[" + .@player_name$ + "]";
mes "If I told you about sharing profits from the mine, I don't remember.";
mes "I probably said it as I went along with the conversation.";
next;
npctalk "All this time you've been playing with us!", "", bc_self;
mes "[Albert Ford]";
mes "What the hell have you done to us?";
mes "Do you think we'll forgive you, after hearing all this?";
next;
mes "[Albert Ford]";
mes "What? Hang the Boss?";
mes "We'll hang you? All of you!";
mes "You sly bastards!";
next;
mes "[Albert Ford]";
mes "We'll attack your village and raze it to the ground!";
next;
unittalk .@account_id, "" + .@player_name$ + " : Are you sure about that?", bc_self;
mes "[Albert Ford]";
mes "What are you trying to do this time?";
next;
specialeffect EF_HIT2;
sleep2 2000;
if (countitem(25278) >= 5 && countitem(25283) >= 5) {
delitem 25283,5;// BrownMuffler
delitem 25278,5;// BanditsScarf
for ( .@i = 0; .@i < 5; ++.@i ) {
getfreecell("rockrdg2",.@x,.@y,295,309,4,4);
makeitem 25283,1, "rockrdg2", .@x,.@y;// BrownMuffler
getfreecell("rockrdg2",.@x,.@y,296,309,4,4);
makeitem 25278,1, "rockrdg2", .@x,.@y;// BanditsScarf
}
npctalk "What are you doing? What the hell is this?!", "", bc_self;
mes "[Albert Ford]";
mes "Wait! ...You!";
mes "What did you do to my men?";
next;
select("Your threat is not going to work.");
unittalk .@account_id, "" + .@player_name$ + " : You guys have become pretty famous among adventurers.", bc_self;
mes "[" + .@player_name$ + "]";
mes "Come to the village if you want.";
mes "You'll be dead before you set foot in Rock Ridge.";
next;
mes "[" + .@player_name$ + "]";
mes "Albert, you're no use for us anymore, but I'll leave you alone. For now.";
mes "Good luck living to a ripe old age.";
next;
specialeffect EF_SCREEN_QUAKE;
npctalk "You slimy bastards! I won't forgive you!", "", bc_self;
mes "[Albert Ford]";
mes "Hmpf, we may have lost this battle with you,";
mes "but we're not going to give the mine back to you, even if it's no use for us!";
mes "We'll have the last laugh!";
erasequest 7807;// Ace up Our Sleeve
setquest 7808;// Case Solved
rock_main_quest = 21;
close2;
cloakonnpcself();
}
end;
}
npctalk "I'll kill you! All of you!", "", bc_self;
end;
OnInit:
cloakonnpc();
end;
}
// Cacturon quest
rockrdg1,341,133,3 script Mrs. Cacturon#rrrem01 4_M_CACTUSLADY,{
if (rock_main_quest < 22) {
mes "[Mrs. Cacturon]";
mes "I'm pretty sure I haven't seen you around. What brings you to this village?";
close;
}
if (checkweight(1301,3) == 0) {
mes "[Mrs. Cacturon]";
mes "I'm pretty sure I haven't seen you around. You're carrying a really heavy bag. Why, do you need something to keep you rooted because it's so windy?";
next;
mes "[Mrs. Cacturon]";
mes "...I'm joking. But you'd better lighten your bag. Unless you have family to feed, carrying so much is counterproductive.";
close;
}
if (isbegin_quest(16078) != 2) {// first time
.@player_name$ = strcharinfo(0);
switch( checkquest(16078,HUNTING) ) {
case -1:
mes "[Little Lecter]";
mes "Yay, Mom's home! Mom, did you buy the juice? My agave-flavored juice!";
emotion ET_DELIGHT, getnpcid(0, "Little Lecter#rrrem02");
next;
mes "[Little Lecter]";
mes "Err? Mom, did you fall and hurt yourself? Why're your clothes so dirty?";
emotion ET_QUESTION, getnpcid(0, "Little Lecter#rrrem02");
next;
mes "[Mrs. Cacturon]";
mes "Yes, I'm home. Mm, Lecter, I have something to tell you.";
next;
mes "[Mrs. Cacturon]";
mes "...I'm sorry, Lecter, but I don't have any agave-flavored juice today.";
emotion ET_THINK;
next;
mes "[Little Lecter]";
mes "Err? Why not? I thought you went to the Rock Ridge Market today.";
mes "Gramps said you'd bring agave-flavored juice. I've been waiting all day. Wah!";
next;
mes "[" + .@player_name$ + "]";
mes "(Boy, it's loud here. Is something going on?)";
next;
mes "[Mrs. Cacturon]";
mes "Because Lecter... Stop crying. Smart Cactus children don't cry so easily!";
next;
if (select( "Hello. Is there a problem?", "Ignore it." ) == 2) {
mes "[" + .@player_name$ + "]";
mes "(I'd better not get involved. I'm tired of taking care of other people's mess.)";
close;
}
mes "[" + .@player_name$ + "]";
mes "Excuse me, is something wrong?";
next;
mes "[Mrs. Cacturon]";
mes "We're just dealing with a little family problem here. Who are you? I can tell you're not from around here.";
next;
mes "[" + .@player_name$ + "]";
mes "I'm an adventurer. I was wondering if you needed help.";
next;
mes "[Mrs. Cacturon]";
mes "An adventurer? All the way here in Rock Ridge?";
mes "...Well, then could you hear me out? I'd like to ask you a favor.";
next;
mes "[Little Lecter]";
mes "Wah! My agave-flavored juice! Wah!";
emotion ET_CRY, getnpcid(0, "Little Lecter#rrrem02");
next;
mes "[Mrs. Cacturon]";
mes "I was on my way back from the Rock Ridge Market today when I got attacked by some coyotes.";
next;
mes "[Mrs. Cacturon]";
mes "I fought tooth and nail to protect my groceries. I managed to save most of my stuff except the agave drink mix that my son loves.";
next;
mes "[" + .@player_name$ + "]";
mes "Agave drink mix?";
emotion ET_QUESTION, playerattached();
next;
mes "[Mrs. Cacturon]";
mes "It's agave-flavored drink powder.";
mes "It's easy to use and tastes similar to real agave juice. Young Cacti love this drink.";
next;
mes "[Mrs. Cacturon]";
mes "It's too sweet for me, though. Well, that's not important.";
mes "Strange adventurer, would you be so kind as to find the agave drink mix I lost in the wasteland?";
next;
mes "[Mrs. Cacturon]";
mes "While you're at it, maybe you could cull ^0000CDcoyotes^000000, too. Hunt ^0000CD30^000000 of them for me.";
next;
mes "[Mrs. Cacturon]";
mes "The ^0000CDagave drink mix^000000 comes in a set of 7 packs. I lost the whole set, and I doubt you could find the whole set intact. I'll be happy if you could find just ^0000CD5 packs^000000.";
next;
if (select( "Sure, I can do that.", "I'd love to help, but..." ) == 2) {
mes "[" + .@player_name$ + "]";
mes "I'm sorry. I'd love to help, but I've got enough on my plate.";
next;
mes "[Mrs. Cacturon]";
mes "I understand. Everyone has enough on their plate lately.";
close;
}
mes "[" + .@player_name$ + "]";
mes "Sure, I can do that. You want me to ^0000CDfind 5 Agave Juice Mixes and hunt 30 Coyotes^000000, right?";
next;
mes "[Mrs. Cacturon]";
mes "Yes. Thank you.";
mes "I doubt you could find all 7 packs. At least a couple of them must be torn and spilled by now.";
next;
mes "[Mrs. Cacturon]";
mes "Just bring ^0000CD5 Agave Juice Mixes^000000. That'll be enough to make my son happy.";
mes "^FF0000They could be buried in the ground, picked up by someone, or found by coyotes.^000000";
next;
mes "[Mrs. Cacturon]";
mes "Look around while you hut, will you? Thank you.";
setquest 16078;// Peace of the Family
close;
case 0:
case 1:
if (countitem(25246) < 5) {
mes "[Mrs. Cacturon]";
mes "Strange Adventurer. I've asked you to hunt ^0000CD30 Coyotes^000000. How are you doing with it?";
mes "Thank you for doing this for me. And finding ^0000CD5 juice mixes^000000. Things would've been a lot more difficult if it weren't for you. Thank you.";
close;
}
mes "[Mrs. Cacturon]";
mes "You've found more agave juice mixes than I thought. Thank you, Strange Adventurer.";
mes "I don't want to impose on your kindness, but could you hunt ^0000CD30^000000 ^0000CDCoyotes^000000?";
close;
case 2:
if (countitem(25246) < 5) {
mes "[Mrs. Cacturon]";
mes "Thank you for hunting coyotes for me. By the way, haven't you seen some ^0000CDjuice mix packages^000000 around them?";
mes "There have to be some juice mixes still left in there. I'll appreciate if you can just find 5.";
close;
}
mes "[Little Lecter]";
mes "Is this agave-flavored juice? Did you find this agave-flavored juice for me? Yippee! Lecter wants to drink it now!";
next;
mes "[Mrs. Cacturon]";
mes "Lecter, you should thank the adventurer first.";
next;
mes "[" + .@player_name$ + "]";
mes "I think he's too busy stirring the juice to hear you. It's okay. I didn't do this to get thanked. He really must love it.";
next;
mes "[Little Lecter]";
mes "Yes, I love it! A lot! Heh heh! Thank you!";
emotion ET_SMILE, getnpcid(0, "Little Lecter#rrrem02");
next;
mes "[Mrs. Cacturon]";
mes "Sigh...";
emotion ET_SCRATCH;
next;
mes "[" + .@player_name$ + "]";
mes "He's happy. Why are you sighing?";
next;
mes "[Mrs. Cacturon]";
mes "Watching him so happy to drink that fake juice reminds me of the real agave juice I used to drink when I was young.";
next;
mes "[Mrs. Cacturon]";
mes "It wasn't factory-made powder. Real agave juice took so much time and effort to make that we only drank it on special occasions.";
next;
mes "[Mrs. Cacturon]";
mes "On those days, my whole family would gather around and make agave juice together. We'd also grill steaks wrapped in agave leaves, and sometimes relatives from far away would also visit us to play music and dance together all night.";
next;
mes "[Mrs. Cacturon]";
mes "I had so much fun as a child, but my child never got to experience any of that. Nowadays, everyone's just too busy to gather or stay up all night, singing and dancing.";
next;
mes "[Mrs. Cacturon]";
mes "But we Cacti want to preserve our traditions as best we can, to teach them to our children.";
next;
mes "[Mrs. Cacturon]";
mes "Ah, I've talked too much. I'm sorry I took up your time, Adventurer.";
mes "Thank you. Please take this. It's not much, but I hope you'll like it.";
emotion ET_PROFUSELY_SWEAT;
next;
mes "[Mrs. Cacturon]";
mes "And if you're not busy, could you come back and hunt some more coyotes? There've been more coyotes lately than before. They're part of nature, just like we are, but they're threatening our safety.";
next;
mes "[Mrs. Cacturon]";
mes "I may not be able to give my son real agave juice, but I at least want to be able to go buy things he wants.";
next;
mes "[Mrs. Cacturon]";
mes "I'll appreciate if you can help me every day, starting from today.";
mes "I'll really appreciate if you can help for a little longer. You inspire me to try harder to make a better life for my son.";
emotion ET_SMILE;
delitem 25246,5;// Juice_Package
completequest 16078;// Peace of the Family
setquest 16079;// Back for More Coyotes Tomorrow
getitem 25250,2;// Coin_Of_Rr
getexp 55560,52710;
close;
}
}
switch( checkquest(16079,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "[Mrs. Cacturon]";
mes "You need to stop what you're doing and look at it sometimes, or you'll miss important details.";
next;
mes "[Mrs. Cacturon]";
mes "As always, I'm grateful for your help, but you need to come back in the morning. Thanks.";
close;
case 2:
erasequest 16079;// Back for More Coyotes Tomorrow
break;
}
switch( checkquest(16080,HUNTING) ) {
case -1:
mes "Strange Adventurer, thank you for coming back.";
mes "You came to hunt coyotes for me, right?";
next;
if (select( "Yes.", "No, I came to talk." ) == 2) {
mes "[Mrs. Cacturon]";
mes "You're not as busy as usual, huh?";
mes "I'm not too busy myself either, thanks to you.";
next;
mes "[Mrs. Cacturon]";
mes "Having something to do is a blessing.";
mes "We wake up in the morning, work to repay nature's gifts, and go to bed at night.";
emotion ET_DELIGHT;
next;
mes "[Mrs. Cacturon]";
mes "But of course, you need time to rest, like now. Working all day and not resting makes one's life dull.";
close;
}
mes "[Mrs. Cacturon]";
mes "As always, please hunt ^0000CD30 Coyotes^000000 for me.";
mes "Every night, they show up in groups, yipping as if to say we'd never be able to get rid of all of them.";
next;
mes "[Mrs. Cacturon]";
mes "But I believe one small change a day can eventually make a huge difference.";
mes "And you're making it possible. Thank you.";
setquest 16080;// Hunting Coyotes Again
close;
case 0:
case 1:
mes "[Mrs. Cacturon]";
mes "I asked you to hunt 30 Coyotes. How many did you hunt?";
mes "If you're tired, get some rest first. I don't want to burden you with my request.";
close;
case 2:
mes "[Mrs. Cacturon]";
mes "You came back from hunting. I'm not burdening you with this, am I?";
mes "Please keep hunting coyotes as often as you can. They'll be just as troublesome to you as they are to us if you plan to visit this place frequently.";
next;
mes "[Mrs. Cacturon]";
mes "This is the best I can do. I hope you'll like it. I'd like to thank you for your help on behalf of my family.";
erasequest 16080;// Hunting Coyotes Again
setquest 16079;// Back for More Coyotes Tomorrow
getitem 25250,2;// Coin_Of_Rr
getexp 55560,52710;
close;
}
end;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 22 && (!isbegin_quest(16078) || (checkquest(16078,HUNTING) == 2 && countitem(25246) >= 5))" );
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 22 && checkquest(16080,HUNTING) == 2" );
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 22 && checkquest(16079,PLAYTIME) == 2" );
end;
}
rockrdg1,339,134,3 script Little Lecter#rrrem02 4_M_CACTUSCHILD,{
if (isbegin_quest(16078) == 2) {
mes "[Little Lecter]";
mes "I love agave-flavored juice. I want to drink it every day.";
next;
mes "[Little Lecter]";
mes "Agave juice? Do you mean my favorite agave-flavored juice?";
close;
}
switch( checkquest(16078,HUNTING) ) {
case -1:
mes "[Little Lecter]";
mes "Mom said she'd bring me agave-flavored juice. My agave-flavored juice...";
close;
case 0:
case 1:
mes "[Little Lecter]";
mes "Wah! WAH! My agave-flavored juice!";
mes "*Sniffle* How many days do I have to wait to get my agave-flavored juice? Lecter doesn't want to wa... wait... BOOHOO!";
emotion 28, getnpcid(0,"Little Lecter#rrrem02");
close;
case 2:
if (countitem(25246) < 5) {
mes "[Little Lecter]";
mes "Wah! WAH! My agave-flavored juice!";
mes "*Sniffle* How many days do I have to wait to get my agave-flavored juice? Lecter doesn't want to wa... wait... BOOHOO!";
emotion 28;
close;
}
mes "[Little Lecter]";
mes "Whoa, agave-flavored juice! Thank you, Adventurer!";
mes "Could you talk to my mom? I can't drink it until she says I can.";
emotion 18;
close;
}
end;
}
rockrdg1,182,124,3 script Suspicious Sand Mound#rremef05 4_ENERGY_RED,15,15,{
if (checkweight(1301,3) == 0) {
mes "- A tattered fabric pouch is half buried in the mound of sand, but I'm carrying too much to examine it. I'd better lighten my bag first. -";
close;
}
if (checkquest(16078,HUNTING) != 0 && checkquest(16078,HUNTING) != 1 || countitem("Juice_Package") > 4 || isbegin_quest(16082) == 2) {
mes "- A tattered fabric pouch is half buried in the mound of sand. I think it's just trash. -";
close;
}
mes "- A tattered fabric pouch is half buried in the mound of sand. It could be Mrs. Cacturon's juice mix package. -";
next;
mes "- I moved close and picked up the pouch. It has the juice mix brand logo on it. Fortunately, it's not torn. -";
next;
mes "- I shook the sand off the pouch and put it in my bag. -";
getitem 25246,1; // Juice_Package
setquest 16082;
completequest 16082;
cloakonnpcself( "Suspicious Sand Mound#rremef05" );
if (countitem("Juice_Package") > 4) {
next;
.@name$ = strcharinfo(0);
mes "[" + .@name$ + "]";
mes "Even Mrs. Cacturon doesn't think she could get all seven packages back.";
mes "This should be enough. I'd better end; to the village and report to her.";
if (checkquest(16078,HUNTING) < 2) {
next;
mes "[" + .@name$ + "]";
mes "Oh, right? I also need to hunt 30 Coyotes.";
}
}
close;
OnTouch:
if (checkquest(16078,HUNTING) != 0 && checkquest(16078,HUNTING) != 1 || countitem("Juice_Package") > 4 || isbegin_quest(16082) == 2)
cloakonnpcself( "Suspicious Sand Mound#rremef05" );
else
cloakoffnpcself( "Suspicious Sand Mound#rremef05" );
end;
OnInit:
cloakonnpc();
end;
}
rockrdg1,182,124,3 duplicate(Suspicious Sand Mound#rremef05) Suspicious Sand Mound#rrem01 4_SOIL
rockrdg1,286,247,3 script Suspicious Sand Mound#rremef06 4_ENERGY_RED,15,15,{
if (checkweight(1301,3) == 0) {
mes "- There's something weird about this mound of sand, but but I'm carrying too much to examine it. I'd better lighten my bag first. -";
close;
}
.@quest_id = callsub( S_Quest );
.@npc_name$ = callsub( S_Name );
if (checkquest(16078,HUNTING) != 0 && checkquest(16078,HUNTING) != 1 || countitem("Juice_Package") > 4 || isbegin_quest(.@quest_id) == 2) {
mes "- Someone must have piled this mound of sand. -";
close;
}
mes "- A tattered fabric pouch is half buried in the mound of sand. It could be Mrs. Cacturon's juice mix package. -";
next;
if (rand(1,2) == 1) {
mes "- I moved close and picked up the pouch. It has the juice mix brand logo on it. Fortunately, it's not torn. -";
next;
mes "- I shook the sand off the pouch and put it in my bag. -";
getitem 25246,1; // Juice_Package
setquest .@quest_id;
completequest .@quest_id;
cloakonnpcself( .@npc_name$ );
if (countitem("Juice_Package") > 4) {
next;
.@name$ = strcharinfo(0);
mes "[" + .@name$ + "]";
mes "Even Mrs. Cacturon doesn't think she could get all seven packages back.";
mes "This should be enough. I'd better end; to the village and report to her.";
if (checkquest(16078,HUNTING) < 2) {
next;
mes "[" + .@name$ + "]";
mes "Oh, right?I also need to hunt 30 Coyotes.";
}
}
close;
}
mes "- I picked up the pouch. Sweet-smelling powder started pouring out through the tears at the bottom. -";
next;
mes "- It's not usable. I'll just have to leave it and look for another one. -";
setquest .@quest_id;
completequest .@quest_id;
cloakonnpcself();
close;
S_Quest:
if (compare(strnpcinfo(2), "rremef"))
.@id = atoi( replacestr( strnpcinfo(2), "rremef", "" ) );
else {
.@id = atoi( replacestr( strnpcinfo(2), "rrem", "" ) );
.@id += 4;
}
return (16084 - 6 + .@id);
S_Name:
if (compare(strnpcinfo(2), "rremef"))
return strnpcinfo(2);
.@id = atoi( replacestr( strnpcinfo(2), "rrem", "" ) );
.@id += 4;
.@string$ = strnpcinfo(1) + "#rrem" + (.@id < 10 ? "0" : "") + .@id; // example: rremef06 for rrem02
return .@string$;
OnTouch:
.@quest_id = callsub( S_Quest );
.@npc_name$ = callsub( S_Name );
if (checkquest(16078,HUNTING) != 0 && checkquest(16078,HUNTING) != 1 || countitem("Juice_Package") > 4 || isbegin_quest(.@quest_id) == 2)
cloakonnpcself( .@npc_name$ );
else
cloakoffnpcself( .@npc_name$ );
end;
OnInit:
cloakonnpc();
end;
}
rockrdg1,202,246,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rremef07 4_ENERGY_RED,15,15
rockrdg1,149,103,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rremef08 4_ENERGY_RED,15,15
rockrdg1,96,141,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rremef09 4_ENERGY_RED,15,15
rockrdg1,122,243,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rremef10 4_ENERGY_RED,15,15
rockrdg1,330,240,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rremef11 4_ENERGY_RED,15,15
rockrdg1,242,287,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rremef12 4_ENERGY_RED,15,15
rockrdg1,89,216,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rremef13 4_ENERGY_RED,15,15
rockrdg1,77,259,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rremef14 4_ENERGY_RED,15,15
rockrdg1,286,247,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rrem02 4_SOIL
rockrdg1,202,246,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rrem03 4_SOIL
rockrdg1,149,103,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rrem04 4_SOIL
rockrdg1,96,141,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rrem05 4_SOIL
rockrdg1,122,243,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rrem06 4_SOIL
rockrdg1,330,240,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rrem07 4_SOIL
rockrdg1,242,287,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rrem08 4_SOIL
rockrdg1,89,216,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rrem09 4_SOIL
rockrdg1,77,259,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rrem10 4_SOIL
// rockrdg1,77,259,3 duplicate(Suspicious Sand Mound#rremef06) Suspicious Sand Mound#rremef14 4_SOIL // duplicate name
rockrdg1,146,164,1 script Wasteland Cactuten#rremef01 4_ENERGY_RED,15,15,{
if (checkweight(1301,3) == 0) {
mes "[Wasteland Cactuten]";
mes "It seems all strangers are greedy, and you're not an exception.";
mes "Why are you carrying so much?";
next;
mes "- I'd better lighten my bag and talk to him again. -";
close;
}
if (isbegin_quest(16078) == 1 && isbegin_quest(16083) == 0 && countitem(25246) < 5) {
.@player_name$ = strcharinfo(0);
mes "[Wasteland Cactuten]";
mes "Why, haven't you seen a Cactus in this wasteland before? I'm busy. Go on your way.";
next;
select("Ask if he's seen a juice mix package.");
mes "[" + .@player_name$ + "]";
mes "Have you seen some juice mix packages around here?";
next;
mes "[Wasteland Cactuten]";
mes "Juice mix package? If you're talking about the package I found stuck in between rocks, then yes, I have.";
next;
mes "[" + .@player_name$ + "]";
mes "It's Mrs. Cacturon's. Let me bring it back to her.";
next;
mes "[Wasteland Cactuten]";
mes "No. Why would I give you something Cacturon has lost?";
next;
if (select( "Threaten him.", "Persuade him." ) == 1) {
mes "[" + .@player_name$ + "]";
mes "I'm here on her behalf. If you keep being stubborn,";
mes "then I'll have to use force.";
next;
mes "[Wasteland Cactuten]";
mes "Blood will have blood, and I don't want that. You can have the package, stranger.";
mes "But Cacturon should be ashamed of herself for trusting thugs like you.";
next;
mes "- I've got the juice mix package, but I feel bad that I threatened him to get them. -";
}
else {
mes "[" + .@player_name$ + "]";
mes "I've been looking for some juice mix packages because I know someone has lost them.";
next;
mes "[" + .@player_name$ + "]";
mes "And this one of them, and it doesn't belong to you.";
next;
mes "[Wasteland Cactuten]";
mes "You're right. It doesn't belong to me.";
next;
mes "[" + .@player_name$ + "]";
mes "Then why don't you let me bring it back to its owner? Mrs. Cacturon's child is upset because he can't have his favorite juice. I only want him to be happy.";
next;
mes "[Wasteland Cactuten]";
mes "Mm... Your logic isn't completely flawless, but at least it proves that you know Cacturon and Lecter.";
next;
mes "[Wasteland Cactuten]";
mes "Okay, I'll give it to you. But if I find out you lied to me, I'll see that you pay for betraying a Cactus's trust.";
next;
mes "[" + .@player_name$ + "]";
mes "I swear I'm not lying.";
next;
mes "- I've got the juice mix package. -";
}
getitem 25246,1;// Juice_Package
setquest 16083;// Discovered Wasteland Cactuten
erasequest 16083;// Discovered Wasteland Cactuten
cloakonnpcself( "Wasteland Cactuten#rremef01" );
if (countitem(25246) > 4) {
next;
mes "[" + .@player_name$ + "]";
mes "Even Mrs. Cacturon doesn't think she could get all seven packages back.";
mes "This should be enough. I'd better return to the village and report to her.";
if (checkquest(16078,HUNTING) < 2) {
next;
mes "[" + .@player_name$ + "]";
mes "Oh, right? I also need to hunt 30 Coyotes.";
}
}
close;
}
mes "[Wasteland Cactuten]";
mes "Why, haven't you seen a Cactus in this wasteland before? I'm busy. Go on your way.";
close;
OnTouch:
if (isbegin_quest(16078) != 1 || countitem("Juice_Package") > 4 || isbegin_quest(16083) > 1)
cloakonnpcself( "Wasteland Cactuten#rremef01" );
else
cloakoffnpcself( "Wasteland Cactuten#rremef01" );
end;
OnInit:
cloakonnpc();
end;
}
rockrdg1,146,164,1 duplicate(Wasteland Cactuten#rremef01) Wasteland Cactuten#rrem03 4_M_CACTUSMAN2
rockrdg1,195,183,3 script Curious Coyote#rremef03 4_ENERGY_RED,15,15,{
end;
OnTouch:
if (isbegin_quest(16078) != 1 || countitem("Juice_Package") > 4 || isbegin_quest(16085) > 1)
cloakonnpcself( "Curious Coyote#rremef03" );
else
cloakoffnpcself( "Curious Coyote#rremef03" );
end;
OnInit:
cloakonnpc();
end;
}
rockrdg1,195,183,3 script Curious Coyote#rrem05 COYOTE,4,4,{
end;
OnTouch:
if (checkweight(1301,3) == 0) {
mes "- A coyote has something in its mouth and it's shaking its head, playing with the thing. But I'm carrying too much to check what it has in its mouth. I'd better lighten my bag first. -";
close;
}
if (isbegin_quest(16078) == 1 && isbegin_quest(16085) == 0 && countitem(25246) < 5) {
.@player_name$ = strcharinfo(0);
mes "- A coyote has something in its mouth and it's shaking its head, playing with the thing. It could be Mrs. Cacturon's juice mix package. -";
next;
mes "- Maybe I should yell and scare it away. What should I yell? -";
input .@string$;
next;
mes "[" + .@player_name$ + "]";
mes "*Clear throat* " + .@string$ + "!";
next;
mes "[Curious Coyote]";
mes "YIP!";
next;
mes "- Startled, the coyote scuttled backward. I moved close to check what it dropped. It's a juice mix package! -";
getitem 25246,1;// Juice_Package
setquest 16085;// Discovered Coyote
completequest 16085;// Discovered Coyote
cloakonnpcself( "Curious Coyote#rremef03" );
if (countitem(25246) > 4) {
next;
mes "[" + .@player_name$ + "]";
mes "Even Mrs. Cacturon doesn't think she could get all seven packages back.";
mes "This should be enough. I'd better return to the village and report to her.";
if (checkquest(16078,HUNTING) < 2) {
next;
mes "[" + .@player_name$ + "]";
mes "Oh, right? I also need to hunt 30 Coyotes.";
}
}
close;
}
}
rockrdg1,305,200,3 script Cactus Girl#rremef02 4_ENERGY_RED,15,15,{
if (checkweight(1301,3) == 0) {
mes "[Cactus Girl]";
mes "Stranger...";
next;
mes "[Cactus Girl]";
mes "You're obsessed with materials. Don't you know they only weigh you down?";
next;
mes "- I'd better lighten my bag and talk to him again. -";
close;
}
if (isbegin_quest(16078) == 1 && isbegin_quest(16087) == 0 && countitem(25246) < 5) {
.@player_name$ = strcharinfo(0);
mes "[Cactus Girl]";
mes "Stranger...";
mes "Don't come near me, or else.";
emotion ET_ANGER;
next;
select("Have you seen some juice mix packages?");
mes "[" + .@player_name$ + "]";
mes "Have you seen some juice mix packages around here?";
next;
mes "[Cactus Girl]";
mes "Juice mix package?";
mes "...Are you looking for this? I've found it buried in the sand.";
next;
mes "[" + .@player_name$ + "]";
mes "That's it. Mrs. Cacturon has lost it. Let me bring it back to her.";
next;
mes "[Cactus Girl]";
mes "...";
mes "...I see.";
mes "You said Mrs. Cacturon has lost it. Who are you?";
next;
mes "[" + .@player_name$ + "]";
mes "I'm an adventurer, and I'm here on her behalf.";
mes "If you don't believe me, then you can go to the village and talk to her.";
next;
mes "[Cactus Girl]";
mes "*Snort* Do you think I'm stupid? If you're a thief, you wouldn't be here by the time I come back from the village.";
mes "Here, take it.";
emotion ET_HNG;
next;
mes "[" + .@player_name$ + "]";
mes "Are you just going to give it to me?";
next;
mes "[Cactus Girl]";
mes "You said Mrs. Cacturon sent you, and I trust her. Why, do you want me to give you a hard time?";
emotion ET_QUESTION;
next;
mes "[" + .@player_name$ + "]";
mes "No. Thank you for giving it to me.";
next;
mes "- I've received the juice mix package from the Cactus girl. -";
getitem 25246,1;// Juice_Package
setquest 16087;// Discovered Cactus Girl
completequest 16087;// Discovered Cactus Girl
cloakonnpcself( "Cactus Girl#rremef02" );
if (countitem(25246) > 4) {
next;
mes "[" + .@player_name$ + "]";
mes "Even Mrs. Cacturon doesn't think she could get all seven packages back.";
mes "This should be enough. I'd better return to the village and report to her.";
if (checkquest(16078,HUNTING) < 2) {
next;
mes "[" + .@player_name$ + "]";
mes "Oh, right? I also need to hunt 30 Coyotes.";
}
}
close;
}
mes "[Cactus Girl]";
mes "Stranger...";
mes "Don't come near me, or else.";
emotion ET_ANGER;
close;
OnTouch:
if (isbegin_quest(16078) != 1 || countitem("Juice_Package") > 4 || isbegin_quest(16087) > 1)
cloakonnpcself( "Cactus Girl#rremef02" );
else
cloakoffnpcself( "Cactus Girl#rremef02" );
end;
OnInit:
cloakonnpc();
end;
}
rockrdg1,305,200,3 duplicate(Cactus Girl#rremef02) Cactus Girl#rrem04 4_F_CACTUSCHILD2
rockrdg1,266,219,3 script Absorbed Coyote#rremef04 4_ENERGY_RED,15,15,{
end;
OnTouch:
if (isbegin_quest(16078) != 1 || countitem("Juice_Package") > 4 || isbegin_quest(16088) > 1)
cloakonnpcself( "Absorbed Coyote#rremef04" );
else
cloakoffnpcself( "Absorbed Coyote#rremef04" );
end;
OnInit:
cloakonnpc();
end;
}
rockrdg1,266,219,3 script Absorbed Coyote#rrem06 COYOTE,4,4,{
end;
OnTouch:
if (isbegin_quest(16078) == 1 && isbegin_quest(16088) == 0 && countitem(25246) < 5) {
if (checkweight(1301,3) == 0) {
mes "- A coyote has something in its mouth and it's shaking its head, playing with the thing. But I'm carrying too much to check what it has in its mouth. I'd better lighten my bag first. -";
close;
}
.@player_name$ = strcharinfo(0);
mes "- A coyote is so absorbed in playing with something in its mouth that it doesn't know I'm near. Maybe it has Mr. Cacturon's juice mix package. -";
next;
mes "- Maybe I should yell and scare it away. What should I yell? -";
input .@string$;
next;
mes "[" + .@player_name$ + "]";
mes "*Inhale deeply* " + .@string$ + "!";
next;
mes "[Absorbed Coyote]";
mes "YIP!";
next;
mes "- Startled, the coyote scuttled backward. I moved close to check what it dropped. It's a juice mix package! -";
getitem 25246,1;// Juice_Package
setquest 16088;// Discovered Coyote
completequest 16088;// Discovered Coyote
cloakonnpcself( "Absorbed Coyote#rremef04" );
if (countitem(25246) > 4) {
next;
mes "[" + .@player_name$ + "]";
mes "Even Mrs. Cacturon doesn't think she could get all seven packages back.";
mes "This should be enough. I'd better return to the village and report to her.";
if (checkquest(16078,HUNTING) < 2) {
next;
mes "[" + .@player_name$ + "]";
mes "Oh, right? I also need to hunt 30 Coyotes.";
}
}
close;
}
}
// Collecting Ore Fragments
rockrdg1,262,90,7 script Crouched Horse#rr 4_M_CACTUSMAN1,{
mes "[Crouched Horse]";
mes "Hello.";
mes "May the sun and earth";
mes "bless you.";
next;
mes "[Crouched Horse]";
if (rock_main_quest < 22) {
mes "You're one of those strangers from a far land.";
mes "I'm Crouched Horse,";
mes "a brave warrior of the Cacti.";
next;
mes "[Crouched Horse]";
mes "Not everything in your village";
mes "has settled.";
mes "There's a time for everything.";
mes "Go back and";
mes "help your village get settled first.";
close;
}
switch( checkquest(9461,PLAYTIME) ) {
case -1:
.@player_name$ = strcharinfo(0);
if (isbegin_quest(9460) == 0) {// first time
mes "You're one of those strangers from a far land.";
mes "I'm Crouched Horse,";
mes "a brave warrior of the Cacti.";
next;
mes "[Crouched Horse]";
mes "You've resolved";
mes "one of the greatest challenges your village faced.";
mes "I applaud you for your bravery and wisdom.";
next;
mes "[Crouched Horse]";
mes "If you're not busy,";
mes "could you also help my village?";
mes "It's not difficult.";
next;
mes "[" + .@player_name$ + "]";
mes "- What can I do for you?";
next;
mes "[Crouched Horse]";
mes "This place";
mes "has been";
mes "our home";
mes "for many,";
mes "many generations.";
next;
mes "[Crouched Horse]";
mes "And for a long time,";
mes "we lived in harmony with nature.";
mes "Then a few years ago";
mes "you came from a far land.";
mes "Your way of life";
mes "was different from ours.";
next;
mes "[Crouched Horse]";
mes "We repay Nature";
mes "for her gifts,";
mes "and we don't take";
mes "more than we need.";
next;
mes "[Crouched Horse]";
mes "But you do.";
mes "You liked to";
mes "take more things";
mes "than what you need.";
next;
mes "[" + .@player_name$ + "]";
mes "- Because we're greedy,";
mes "- and I'm ashamed of it.";
next;
mes "[Crouched Horse]";
mes "I'm not trying to blame you.";
mes "It's just that";
mes "you take so much";
mes "that there's";
mes "nothing left";
mes "for us.";
next;
mes "[" + .@player_name$ + "]";
mes "- What do you need?";
mes "- How can I help?";
next;
mes "[Crouched Horse]";
mes "If you find purple ore fragments";
mes "while exploring this land,";
mes "I'd like you to";
mes "bring them to me.";
next;
mes "[Crouched Horse]";
mes "Since you opened the mine,";
mes "we've been having a hard time";
mes "finding the ores.";
mes "Say, can you do that?";
next;
if (select( "Mm, not now.", "Sure thing. I'll be right back." ) == 1) {
mes "[Crouched Horse]";
mes "Oh, I see.";
mes "Hm... I understand.";
mes "You can come back when you're not busy.";
close;
}
mes "[Crouched Horse]";
mes "Oh, thank you!";
mes "You can find";
mes "purple ore fragments";
mes "while hunting in this area.";
mes "Just bring me 10. That's all I need.";
next;
mes "[Crouched Horse]";
mes "Thank you.";
mes "May the sun and earth bless you!";
setquest 9460;// Collecting Ore Fragments
close;
}
mes "Ah, you're back.";
mes "Did you find the ore fragments I asked?";
next;
if (countitem(25260) < 10) {
mes "[Crouched Horse]";
mes "Hm, you don't have";
mes "all of them.";
mes "You can find them";
mes "from coyotes";
mes "and the Buffalo Bandits.";
close;
}
mes "[" + .@player_name$ + "]";
mes "- Yes, I did.";
next;
mes "[Crouched Horse]";
mes "I don't feel good about";
mes "having to sacrifice";
mes "others";
mes "for my own sake.";
mes "Thank you for doing this for me.";
next;
mes "[Crouched Horse]";
mes "Please take this small token of my appreciation.";
mes "I've received it from your village,";
mes "and I don't need it.";
.@count = countitem(25260);
if (.@count > 10) {
next;
mes "[Crouched Horse]";
mes "Hm, you've brought";
mes "more than";
mes "I asked.";
mes "I know you mean well,";
mes "but I don't need so many.";
}
delitem 25260, .@count;// Violet_Stone_Chip
erasequest 9460;// Collecting Ore Fragments
setquest 9461;// Enough Ores
getexp 25000,20000;
getitem 25250,1;// Coin_Of_Rr
if (.@count > 10) {
next;
mes "[Crouched Horse]";
mes "Next time,";
mes "please just bring";
mes "as many as I ask.";
mes "But thanks.";
}
close;
case 0:
case 1:
mes "For now,";
mes "I don't need more ores.";
mes "But I will";
mes "when the sun comes up tomorrow.";
close;
case 2:
mes "Ah, it's you.";
mes "I'm running out of";
mes "the ores.";
mes "Say, could you";
mes "help me again?";
next;
if (select( "Not this time.", "Sure thing. It'd be my pleasure." ) == 1) {
mes "[Crouched Horse]";
mes "Oh, I see.";
mes "Hm... I understand.";
mes "Feel free to come back if you change your mind.";
close;
}
mes "[Crouched Horse]";
mes "Oh, thank you!";
mes "You're as reliable as I thought.";
erasequest 9461;// Enough Ores
setquest 9460;// Collecting Ore Fragments
close;
}
}
// Collect / hunt quests
harboro1,231,254,3 script Exotic Merchant 1_M_MERCHANT,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "I'm carrying too many types of items. I should lighten my bag first.";
close;
}
if ((MaxWeight - Weight) < 10000) {
mes "I'm overweight. I'd better lighten my bag first.";
close;
}
switch( checkquest(12411,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "[Exotic Merchant]";
mes "Oh, I close today. Come back tomorrow.";
close;
case 2:
erasequest 12411;// Come Back Tomorrow
break;
}
if (isbegin_quest(12410) == 0) {
mes "[Exotic Merchant]";
mes "Nice to meet you.";
mes "I'm Abraham Iven Hudin. I'm originally from different country.";
next;
mes "[Exotic Merchant]";
mes "So you have things that I might have interest in on buying?";
next;
if (select( "What kinds of things?", "I'm not selling anything!" ) == 2) {
mes "[Exotic Merchant]";
mes "Whoa, whoa! Adventurer is violent. I not do business with barbarians.";
close;
}
mes "[Exotic Merchant]";
mes "I travels the world and bought valuable things. This time I collecting specialty products of this new continent.";
next;
select("(I can barely understand his English.)");
mes "[Exotic Merchant]";
mes "Mm? What have you said?";
next;
if (select( "Nothing. Go on.", "I said I can't understand what you're saying." ) == 2) {
mes "[Exotic Merchant]";
mes "Adventurer have a cold heart!";
close;
}
mes "[Exotic Merchant]";
mes "Anyway, I looking for things that can only find in this place. If you found them, gimme them.";
next;
mes "[Exotic Merchant]";
mes "I'll pay you good. You welcomes all the time.";
setquest 12410;
completequest 12410;
close;
}
mes "[Exotic Merchant]";
mes "What have you brought my today?";
next;
setarray .@item_id[0],
25276, // Clean Bones
25277, // Deadly Poison Powders
25279, // Crude Gunpowders
25278, // Bandit's Scarves
25283, // Brown Mufflers
25280, // Broken Shotguns
25282, // Worn Revolvers
25281, // Crude Scimitars
25284, // Swamp Bug Shells
25285; // Brown Rat Tails"
.@size = getarraysize(.@item_id);
for ( .@i = 0; .@i < .@size; .@i++ ) {
.@item_name$ = getitemname(.@item_id[.@i]);
if (countitem(.@item_id[.@i]) < 5)
.@menu$ += "^777777Not enough " + .@item_name$ + "^000000:";
else
.@menu$ += "" + .@item_name$ + ":";
}
.@s = select( "Cancel:" + .@menu$ ) - 2;
if (.@s == -1) {
mes "[Exotic Merchant]";
mes "Mm, do you want your things back?";
close;
}
if (countitem(.@item_id[.@s]) < 5) {
mes "[Exotic Merchant]";
mes "Mm? Where are they? The things you said will give me.";
close;
}
delitem .@item_id[.@s],5;
getitem 25250,2;// Coin_Of_Rr
getexp 20000,18000;
setquest 12411;// Come Back Tomorrow
mes "[Exotic Merchant]";
mes "It good business. These I didn't see anywhere else. I like them very much!";
close;
}
harboro1,357,163,3 script Food Distributer 4_COOK,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "I'm carrying too many types of items. I should lighten my bag first.";
close;
}
if ((MaxWeight - Weight) < 10000) {
mes "I'm overweight. I'd better lighten my bag first.";
close;
}
if (BaseLevel < 100) {
mes "[Food Distributer]";
mes "What? I don't have enough food for you!";
close;
}
if (isbegin_quest(12381) == 0) {// first time
mes "[Food Distributer]";
mes "Hey, don't you see the line over there? I don't care who you are? go stand in line if you want to eat.";
next;
if (select( "I'm not here to eat.", "I'll stand in line." ) == 2) {
mes "[Food Distributer]";
mes "*Snort* You'd better.";
close;
}
mes "[Food Distributer]";
mes "You're not here to eat. Err, is that...? Ah, my apologies.";
next;
mes "[Food Distributer]";
mes "Wait, then why are you bothering me? Can't you see I'm upset because of the missing shipment?";
next;
if (select( "What missing shipment?", "That's your business." ) == 2) {
mes "[Food Distributer]";
mes "Grr, you're a jerk. I don't have time for this. Get out of here!";
close;
}
mes "[Food Distributer]";
mes "Look at that. Those people have been waiting for their food for hours. How can I tell them that I don't have enough ingredients to cook for them?";
next;
mes "[Food Distributer]";
mes "The food ingredients that were supposed to come from Midgard didn't arrive, and I can't keep these people waiting.";
next;
if (select( "Why don't you procure some ingredients from the outside?", "I'm sorry to hear that. Good luck." ) == 2) {
mes "[Food Distributer]";
mes "Grr, you're a jerk. I don't have time for this. Get out of here!";
close;
}
mes "[Food Distributer]";
mes "I thought about it. I was desperate enough to try anything.";
next;
mes "[Food Distributer]";
mes "But there are only sand and rocks out there, and nothing edible. I can't believe I thought I could run a kitchen in a place like this.";
next;
mes "[Hungry Laborer]";
mes "^990000Wait, did you just say you have no ingredients? You ran out of them?^000000";
npctalk "Hungry Laborer: Wait, did you just say you have no ingredients? You ran out of food?", "Hungry Laborer#12";
next;
mes "[Food Distributer]";
mes "^990000No, I didn't say that! It's just taking a little longer to cook today. Stop panicking!^000000";
npctalk "Food Distributer: No, I didn't say that! It's just taking a little longer to cook today. Stop panicking!";
next;
if (select( "I can help.", "Good luck." ) == 2) {
mes "[Food Distributer]";
mes "Grr, you're a jerk. I don't have time for this. Get out of here!";
close;
}
mes "[Food Distributer]";
mes "You can help. How?";
next;
select( "You need food ingredients, don't you?", "That depends on you." );
mes "[Food Distributer]";
mes "Alright, then let's do this. I'll jot down everything I need. Can you bring them from Midgard?";
next;
select( "Sure thing.", "It'd be a waste of my time if I say no now." );
mes "[Food Distributer]";
mes "Good! We've made a deal. I need some time to take inventory. Talk to me again later.";
setquest 12381;// New Continent's Food Supplier
completequest 12381;
close;
}
switch( checkquest(12382,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "[Food Distributer]";
mes "This should be enough for the day today.";
close;
case 2:
erasequest 12382;
break;
}
for ( .@quest_id = 12383; .@quest_id <= 12388 && isbegin_quest(.@quest_id) == 0; .@quest_id++ )
continue;
switch(.@quest_id) {// S_Food : give infos / completed
case 12383: callsub( S_Food, .@quest_id, 516,160 ); // Sweet Potatoes
case 12384: callsub( S_Food, .@quest_id, 517,50 ); // Meats
case 12385: callsub( S_Food, .@quest_id, 515,160 ); // Carrots
case 12386: callsub( S_Food, .@quest_id, 513,160 ); // Bananas
case 12387: callsub( S_Food, .@quest_id, 535,160 ); // Pumpkins
case 12388: callsub( S_Food, .@quest_id, 581,60 ); // Mushrooms
default:
break;
}
mes "[Food Distributer]";
mes "Aww, here's the list of ingredients I need. Bring them quickly, will you?";
next;
if (select( "Sure thing.", "Sorry, I'm busy." ) == 2) {
mes "[Food Distributer]";
mes "Oh, come on. Help me out here. People are starving.";
close;
}
switch( rand(12383,12388) ) {
case 12383:
setquest 12383;// Sweet Potato Delivery
mes "[Food Distributer]";
mes "Sweet potato croquettes are on the menu today, and I can't make them because I didn't get the regular shipment from the mainland.";
next;
mes "[Food Distributer]";
mes "Bring me 160 " + mesitemlink( 516, false, "Sweet Potatoes" ) + " from Midgard. You can buy them from merchants in big cities.";
close;
case 12384:
setquest 12384;// Meat Delivery
mes "[Food Distributer]";
mes "There are so many mouths to feed, and yet I've got no meat? This is disaster!";
next;
mes "[Food Distributer]";
mes "What? I could always feed them veggies, you say? Sure, but all they want is meat.";
next;
mes "[Food Distributer]";
mes "Bring me 50 " + mesitemlink( 517, false, "Meats" ) + " from Midgard. You can buy them from merchants in big cities.";
close;
case 12385:
setquest 12385;// Carrot Delivery
mes "[Food Distributer]";
mes "Have you seen the carrots growing in the garden in the back?";
next;
mes "[Food Distributer]";
mes "They're as thin as fingers, and once I almost put my fingers into a stew instead of them.";
next;
mes "[Food Distributer]";
mes "Bring me 160 " + mesitemlink( 515, false, "Carrots" ) + " from Midgard. You can buy them from merchants in big cities.";
close;
case 12386:
setquest 12386;// Banana Delivery
mes "[Food Distributer]";
mes "I shouldn't have put that banana bread on the menu. Who knew they wouldn't arrive in time?";
next;
mes "[Food Distributer]";
mes "Bring me 160 " + mesitemlink( 513, false, "Bananas" ) + " from Midgard. You can buy them from merchants in big cities.";
close;
case 12387:
setquest 12387;// Pumpkin Delivery
mes "[Food Distributer]";
mes "I have to cook a pumpkin stew, but I don't have pumpkins. This is the equivalent of making toast without bread.";
next;
mes "[Food Distributer]";
mes "Bring me 160 " + mesitemlink( 535, false, "Pumpkins" ) + " from Midgard. You can buy them from merchants in big cities.";
close;
case 12388:
setquest 12388;// Mushroom Delivery
mes "[Food Distributer]";
mes "The only thing I can cook with the ingredients I have is mushroom soup, but I don't have the main ingredient: mushrooms.";
next;
mes "[Food Distributer]";
mes "Bring me 60 " + mesitemlink( 581, false, "Mushrooms" ) + " from Midgard. You can buy them from merchants in big cities.";
close;
}
end;
S_Food:
.@item_id = getarg(1);
.@amount = getarg(2);
if (countitem(.@item_id) < .@amount) {
mes "[Food Distributer]";
mes "Bring me " + .@amount + " " + mesitemlink( .@item_id, false ) + " from Midgard. You can buy them from merchants in big cities.";
close;
}
delitem .@item_id, .@amount;
getitem 25250,1;// Coin_Of_Rr
getexp 16000,12800;
erasequest getarg(0);
setquest 12382;// Distributing Food
mes "[Food Distributer]";
mes "Whew, thank you. This should be enough for the day today.";
close;
}
// note: official npcs have 5x5 trigger area but there is no event
harboro1,352,196,5 duplicate(dummy_npc) Hungry Laborer#2 4W_M_02
harboro1,352,193,5 duplicate(dummy_npc) Hungry Laborer#3 4_M_EINMAN
harboro1,352,190,5 duplicate(dummy_npc) Hungry Laborer#4 4W_SAILOR
harboro1,352,184,5 duplicate(dummy_npc) Hungry Laborer#6 4W_M_03
harboro1,352,181,5 duplicate(dummy_npc) Hungry Laborer#7 4_F_EINOLD
harboro1,352,175,5 duplicate(dummy_npc) Hungry Laborer#9 4W_M_03
harboro1,352,172,5 duplicate(dummy_npc) Hungry Laborer#10 4W_M_02
harboro1,353,166,5 duplicate(dummy_npc) Hungry Laborer#12 4W_M_03
// note: official npcs have 2x2 trigger area but there is no event
harboro1,354,149,7 duplicate(dummy_npc) Enthusiastic Job Seeker#1 4_M_JOB_KNIGHT1
harboro1,345,149,7 duplicate(dummy_npc) Enthusiastic Job Seeker#2 4_M_JOB_KNIGHT2
harboro1,350,149,7 duplicate(dummy_npc) Enthusiastic Job Seeker#3 4_M_MONK
harboro1,348,148,7 duplicate(dummy_npc) Enthusiastic Job Seeker#4 4_M_MONK
harboro1,346,157,6 duplicate(dummy_npc) Enthusiastic Job Seeker#5 4_M_JOB_HUNTER
harboro1,349,157,6 duplicate(dummy_npc) Enthusiastic Job Seeker#6 4_M_JOB_KNIGHT2
harboro1,353,156,6 duplicate(dummy_npc) Enthusiastic Job Seeker#7 4_M_SAGE_C
harboro1,347,155,6 duplicate(dummy_npc) Enthusiastic Job Seeker#8 4_M_JOB_KNIGHT1
harboro1,351,154,7 duplicate(dummy_npc) Enthusiastic Job Seeker#9 4_M_JOB_WIZARD
harboro1,354,153,7 duplicate(dummy_npc) Enthusiastic Job Seeker#10 4_M_JOB_HUNTER
harboro1,347,151,7 duplicate(dummy_npc) Enthusiastic Job Seeker#11 4_M_JOB_HUNTER
harboro1,352,150,7 duplicate(dummy_npc) Enthusiastic Job Seeker#12 4_M_JOB_WIZARD
harboro1,352,154,0 script #r_q1 HIDDEN_WARP_NPC,5,5,{
end;
OnTouch:
if (isbegin_quest(12389) == 2)
end;
.@r = rand(1,6);
if (.@r == 1)
npctalk "Enthusiastic Job Seeker: I'm ready to work right away. Why don't you hire me?", "Enthusiastic Job Seeker#1";
else if (.@r == 2)
npctalk "Enthusiastic Job Seeker: I didn't come here, just so I could nap. Give me work!", "Enthusiastic Job Seeker#3";
else if (.@r == 3)
npctalk "Hey, you're in my space. Move away, will you?", "Enthusiastic Job Seeker#5";
else if (.@r == 4)
npctalk "Enthusiastic Job Seeker: Did you just get here, fresh off the boat? Stop pacing around?you're getting on my nerves.", "Enthusiastic Job Seeker#7";
else if (.@r == 5)
npctalk "Enthusiastic Job Seeker: Why wouldn't you accept me? I'm strong enough to hunt coyotes out there!", "Enthusiastic Job Seeker#9";
else
npctalk "Enthusiastic Job Seeker: Join a Buffalo Bandit/Coyote subjugation party. Those who can finish them in 5 minutes are welcome.", "Enthusiastic Job Seeker#11";
end;
OnEnable:
.@r = rand(1,4);
if (.@r == 1)
npctalk "Enthusiastic Job Seeker: Hey, what about us?!", "Enthusiastic Job Seeker#4";
else if (.@r == 2)
npctalk "Enthusiastic Job Seeker: I want to work, too!", "Enthusiastic Job Seeker#7";
else if (.@r == 3)
npctalk "Enthusiastic Job Seeker: You can't show favoritism!", "Enthusiastic Job Seeker#9";
else
npctalk "Enthusiastic Job Seeker: This is unfair!", "Enthusiastic Job Seeker#2";
end;
}
harboro1,357,155,3 script Steel Vigilante#1 4_M_MASKMAN,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "I'm carrying too many types of items. I should lighten my bag first.";
close;
}
if ((MaxWeight - Weight) < 10000) {
mes "I'm overweight. I'd better lighten my bag first.";
close;
}
if (BaseLevel < 100) {
mes "[Steel Vigilante]";
mes "Sorry, but we need someone stronger than you.";
close;
}
if (isbegin_quest(12389) == 0) {// first time
mes "[Steel Vigilante]";
mes "Hey, buddy. You look pretty strong. You're here to work, right?";
next;
select("No. I'm just a tourist.");
mes "[Steel Vigilante]";
mes "Come on, don't be so heartless. I'm trying to strike up a conversation here. I've got a proposition that you might be interested. What do you say?";
next;
if (select( "Alright, let me hear it.", "No, thanks." ) == 2) {
mes "[Steel Vigilante]";
mes "Oh, you don't. *Smacks his lips* How disappointing!";
close;
}
mes "[Steel Vigilante]";
mes "Ah, so you're not as snobbish as I thought.";
next;
mes "[Steel Vigilante]";
mes "For Rock Ridge to become a transport hub, the monsters that live around it have got to go, but we can't find the right people for the job.";
next;
select("What about all these people?");
mes "[Steel Vigilante]";
mes "*Snort* These? Yeah, we thought they were good enough until we realized how strong the monsters out there were.";
next;
mes "[Steel Vigilante]";
mes "None of these guys would come back alive, let alone earn their keep. And then we'd have to go out there to collect their remains, which is doubly bad for us.";
next;
mes "[Steel Vigilante]";
mes "Then I saw you, and you stood out like a wolf among sheep. That is, you've passed! Congratulations!";
next;
select("I never said I wanted to work with you.");
mes "[Steel Vigilante]";
mes "Ah, come on, don't be like that. Help this poor man out here.";
next;
if (select( "Okay.", "Let me think." ) == 2) {
mes "[Steel Vigilante]";
mes "Okay, okay, I understand if you're busy. But I'm offering you benefits both of us.";
next;
}
mes "[Steel Vigilante]";
mes "How about I show you the list of things you could do for us? If you're interested, come back later. I promise I'll pay you generously.";
setquest 12389;// Guardian of Rock Ridge
completequest 12389;// Guardian of Rock Ridge
close;
}
switch( checkquest(12390,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "[Steel Vigilante]";
mes "The worst is over. I'll need your help again. Save your energy until then, alright?";
close;
case 2:
erasequest 12390;
break;
}
for ( .@quest_id = 12391; .@quest_id <= 12396 && isbegin_quest(.@quest_id) == 0; .@quest_id++ )
continue;
if (.@quest_id > 12396) {
.@quest_id = rand(12391,12396);
setquest .@quest_id;
}
else {
mes "[Steel Vigilante]";
mes "Did you forget what you have to do? Then, I'll tell you again.";
next;
}
if (checkquest(.@quest_id,HUNTING) < 2) {
switch(.@quest_id) {
case 12391:// Buffaloes with Rifles
mes "[Steel Vigilante]";
mes "The biggest threat in the fields around here is the Buffalo Bandits. They're smart and ruthless, and they won't listen to reason.";
next;
mes "[Steel Vigilante]";
mes "And they've been invading this village every so often, as if to test how long we could last.";
next;
mes "[Steel Vigilante]";
mes "We want to set an example and keep them in check. Get rid of ^0000ff15 Buffalo Bandits with rifles^000000.";
break;
case 12392:// Punishing the Red Masks
mes "[Steel Vigilante]";
mes "The biggest threat in the fields around here is the Buffalo Bandits. They're smart and ruthless, and they won't listen to reason.";
next;
mes "[Steel Vigilante]";
mes "And they've been invading this village every so often, as if to test how long we could last.";
next;
mes "[Steel Vigilante]";
mes "We want to set an example and keep them in check. Get rid of ^0000ff15 Buffalo Bandits wearing red masks^000000.";
break;
case 12393:// Eye Patch Desperadoes
mes "[Steel Vigilante]";
mes "The biggest threat in the fields around here is the Buffalo Bandits. They're smart and ruthless, and they won't listen to reason.";
next;
mes "[Steel Vigilante]";
mes "And they've been invading this village every so often, as if to test how long we could last.";
next;
mes "[Steel Vigilante]";
mes "We want to set an example and keep them in check. Get rid of ^0000ff15 Buffalo Bandits wearing an eye patch^000000.";
break;
case 12394:// Exterminate Gray Four-legged Beasts
mes "[Steel Vigilante]";
mes "Did you forget what you have to do? Then, I'll tell you again.";
next;
mes "[Steel Vigilante]";
mes "The Cacti and the members of this village are on good terms, and recently more coyotes have been seen along the road that leads to their village.";
next;
mes "[Steel Vigilante]";
mes "Coyotes aren't aggressive, but they still keep the Cacti from coming in and out of their village freely.";
next;
mes "[Steel Vigilante]";
mes "Please hunt ^0000ff20 Coyotes^000000 and help our friends.";
break;
case 12395:// Exterminate Swamp Arclouzes
mes "[Steel Vigilante]";
mes "The workers who were sent down to the basement of the village went missing one after another, so we investigated. We believe they were killed by monsters.";
next;
mes "[Steel Vigilante]";
mes "Swamp Arclouzes are fast, carnivorous insects living down there, and their number has been increasing at such an alarming rate that workers now refuse to go in there to work.";
next;
mes "[Steel Vigilante]";
mes "If you have business down there, please exterminate 10 ^0000ffSwamp Arclouzes^000000.";
break;
case 12396:// Exterminate Brown Rats
mes "[Steel Vigilante]";
mes "The bodies of the workers who went missing in the basement have been found. They were mangled so badly that even their families had a hard time recognizing them.";
next;
mes "[Steel Vigilante]";
mes "I think they were killed by brown rats that thrive in the basement. Rumor has it they even attack living people, and if it holds true, that's serious.";
next;
mes "[Steel Vigilante]";
mes "If you have business in the basement, please exterminate 10 ^0000ffBrown Rats^000000.";
break;
}
close2;
donpcevent "#r_q1::OnEnable";
end;
}
switch(.@quest_id) {
case 12391:// Buffaloes with Rifles
getexp 23745,22935;
.@mob_id = 3736;
break;
case 12392:// Punishing the Red Masks
getexp 21645,20595;
.@mob_id = 3737;
break;
case 12393:// Eye Patch Desperadoes
getexp 27105,25785;
.@mob_id = 3738;
break;
case 12394:// Exterminate Gray Four-legged Beasts
getexp 37040,35140;
.@mob_id = 3739;
break;
case 12395:// Exterminate Swamp Arclouzes
getexp 8640,9030;
.@mob_id = 3787;
break;
case 12396:// Exterminate Brown Rats
getexp 6810,7230;
.@mob_id = 3788;
break;
}
getitem 25250,2;// Coin_Of_Rr
erasequest .@quest_id;
setquest 12390;// Relieved for Now
mes "[Steel Vigilante]";
mes "You're amazing? I didn't know you could really do this! Thanks!";
close;
}
harboro1,357,152,3 script Steel Vigilante#2 4_M_ACROSS,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "I'm carrying too many types of items. I should lighten my bag first.";
close;
}
if ((MaxWeight - Weight) < 10000) {
mes "I'm overweight. I'd better lighten my bag first.";
close;
}
if (BaseLevel < 140) {
mes "[Steel Vigilante]";
mes "Hah hah, thank you for your interest, but we're not desperate enough to need help from little kids like you.";
next;
mes "^0000ffYou must be Level 140 or above to receive this quest.^000000";
close;
}
if (isbegin_quest(12389) != 2) {
mes "[Steel Vigilante]";
mes "Mm? You're not one of us. If you need a job, then you should look elsewhere.";
close;
}
switch( checkquest(12398,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "[Steel Vigilante]";
mes "You're good. I'd love to work with you again.";
close;
case 2:
erasequest 12398;
break;
}
for ( .@quest_id = 12399; .@quest_id <= 12402 && isbegin_quest(.@quest_id) == 0; .@quest_id++ )
continue;
if (.@quest_id > 12402) {
mes "[Steel Vigilante]";
mes "You're pretty strong. Can you handle something tough?";
next;
if (select( "Sure, why not?", "Let me think." ) == 2) {
mes "[Steel Vigilante]";
mes "Alright, take your time.";
close;
}
.@quest_id = rand(12399,12402);
setquest .@quest_id;
}
else {
.@no_npctalk = true;
mes "[Steel Vigilante]";
mes "Did you forget what you have to do? Then, I'll tell you again.";
next;
}
if (checkquest(.@quest_id,HUNTING) < 2) {
switch(.@quest_id) {
case 12399:// Hunt Heinous Criminals
mes "[Steel Vigilante]";
mes "Elite Buffalo Bandits are leaders among the Buffalo Bandits, and this is about them.";
next;
mes "[Steel Vigilante]";
mes "You've dealt with the buffaloes with rifles before, haven't you? Then you must have seen those with ^0000ffglowing blue eyes^000000.";
next;
mes "[Steel Vigilante]";
mes "They're the middle-ranking officers of rifle buffaloes. I want you to get rid of 10 ^0000ffrifle Buffalo Bandits with glowing blue eyes^000000.";
close2;
if (!.@no_npctalk)
npctalk "Enthusiastic Job Seeker: Hunting rifle buffaloes? Please let me join you.", "Enthusiastic Job Seeker#11";
end;
case 12400:// Hunt Heinous Criminals
mes "[Steel Vigilante]";
mes "Elite Buffalo Bandits are leaders among the Buffalo Bandits, and this is about them.";
next;
mes "[Steel Vigilante]";
mes "You've dealt with the masked buffaloes before, haven't you? Then you must have seen those wearing ^0000ffgreen masks^000000.";
next;
mes "[Steel Vigilante]";
mes "They're the middle-ranking officers of masked buffaloes. I want you to get rid of 10 ^0000ffBuffalo Bandits wearing green masks^000000.";
close2;
if (!.@no_npctalk)
npctalk "Enthusiastic Job Seeker: Hunting masked buffaloes? Please let me join you.", "Enthusiastic Job Seeker#11";
end;
case 12401:// Hunt Heinous Criminals
mes "[Steel Vigilante]";
mes "Elite Buffalo Bandits are leaders among the Buffalo Bandits, and this is about them.";
next;
mes "[Steel Vigilante]";
mes "You've dealt with the buffaloes with an eye patch before, haven't you? Then you must have seen those wearing ^0000ffpale green vests^000000.";
next;
mes "[Steel Vigilante]";
mes "They're the middle-ranking officers of sword buffaloes. I want you to get rid of 10 ^0000ffBuffalo Bandits wearing an eye patch and a pale green vest^000000.";
close2;
if (!.@no_npctalk)
npctalk "Enthusiastic Job Seeker: Hunting eye patch buffaloes? Please let me join you.", "Enthusiastic Job Seeker#11";
end;
case 12402:// Eliminate Dangerous Gas
mes "[Steel Vigilante]";
mes "Some miners have reported to us about gas-like monsters that spread a neurotoxin.";
next;
mes "[Steel Vigilante]";
mes "They're purple monsters named Gasters. They don't attack unless they're provoked, but they still pose a threat.";
next;
mes "[Steel Vigilante]";
mes "Please hunt 10 ^0000ffGasters^000000 in the mine outside the village.";
close2;
if (!.@no_npctalk)
npctalk "Enthusiastic Job Seeker: Hunting Gasters? Please let me join you.", "Enthusiastic Job Seeker#11";
end;
}
}
switch(.@quest_id) {
case 12399:// Hunt Heinous Criminals
getexp 95630,4_M_CACTUSMAN20;
.@mob_id = 3747;
break;
case 12400:// Hunt Heinous Criminals
getexp 95970,90930;
.@mob_id = 3748;
break;
case 12401:// Hunt Heinous Criminals
getexp 76280,80770;
.@mob_id = 3749;
break;
case 12402:// Eliminate Dangerous Gas
getexp 50800,47160;
.@mob_id = 3740;
break;
}
getitem 25250,3;// Coin_Of_Rr
erasequest .@quest_id;
setquest 12398;// You're Good
mes "[Steel Vigilante]";
mes "You're good. I'd love to work with you again.";
close;
}
// note: official npcs have 2x2 trigger area but there is no event
harboro1,347,133,2 duplicate(dummy_npc) Scared Artificer#1 4_M_LGTPOOR
harboro1,344,133,2 duplicate(dummy_npc) Scared Artificer#2 4_M_03
harboro1,340,137,3 duplicate(dummy_npc) Scared Artificer#3 4_M_DWARF
harboro1,338,132,2 duplicate(dummy_npc) Scared Artificer#4 4_M_EINMAN2
harboro1,343,137,3 duplicate(dummy_npc) Scared Artificer#5 4_M_ORIENT01
harboro1,342,135,2 duplicate(dummy_npc) Scared Artificer#6 4_M_LGTPOOR
harboro1,344,142,3 duplicate(dummy_npc) Scared Artificer#7 4_M_SEAMAN
harboro1,341,131,2 duplicate(dummy_npc) Scared Artificer#8 4_M_DWARF
harboro1,338,141,3 duplicate(dummy_npc) Scared Artificer#9 4_M_EINMAN
harboro1,347,137,3 duplicate(dummy_npc) Scared Artificer#10 4_M_ORIENT01
harboro1,341,141,3 duplicate(dummy_npc) Scared Artificer#11 4_M_DWARF
harboro1,338,136,3 duplicate(dummy_npc) Scared Artificer#12 4_M_LGTPOOR
harboro1,341,136,0 script #r_q2 HIDDEN_WARP_NPC,5,5,{
end;
OnTouch:
if (isbegin_quest(12389) == 2)
end;
.@r = rand(1,6);
if (.@r == 1)
npctalk "Scared Artificer: The place down here isn't safe to be.", "Scared Artificer#2";
else if (.@r == 2)
npctalk "Scared Artificer: Unless they promise me worker's compensation, I'm out!", "Scared Artificer#4";
else if (.@r == 3)
npctalk "Scared Artificer: I've never seen bugs so big before. I can't work here anymore.", "Scared Artificer#6";
else if (.@r == 4)
npctalk "Scared Artificer: A swarm of bugs crawled up and over my colleagues on the ground to get at me, and I was too scared to do anything. Why didn't anyone tell me about them?", "Scared Artificer#8";
else if (.@r == 5)
npctalk "Scared Artificer: If you want us to work for you, then make the workplace safe first!", "Scared Artificer#10";
else
npctalk "Scared Artificer: You haven't been down there, have you? You're lucky.", "Scared Artificer#12";
end;
OnEnable:
.@r = rand(1,4);
if (.@r == 1)
npctalk "Scared Artificer: The place down there is beyond saving! It's not too late to stop now!", "Scared Artificer#7";
else if (.@r == 2)
npctalk "Scared Artificer: You're too young to die.", "Scared Artificer#5";
else if (.@r == 3)
npctalk "Scared Artificer: You'd better think this over. It's dangerous down there.", "Scared Artificer#3";
else
npctalk "Scared Artificer: Hey, your life is more important than money.", "Scared Artificer#1";
end;
}
harboro1,334,135,6 script Desalination Facility Manager 4_M_YURI,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "I'm carrying too many types of items. I should lighten my bag first.";
close;
}
if ((MaxWeight - Weight) < 10000) {
mes "I'm overweight. I'd better lighten my bag first.";
close;
}
if (BaseLevel < 100) {
mes "[Desalination Facility Manager]";
mes "What are you doing here? You're not good enough to earn your keep. Out!";
close;
}
if (isbegin_quest(12403) == 0) {// first time
mes "[Desalination Facility Manager]";
mes "My office is filled with thieves. Everyone expects to be paid? Without doing their job!";
next;
select("...?");
mes "[Desalination Facility Manager]";
mes "And you. How much were you going to ask me for? Just so you know, we don't allow payroll advances.";
next;
if (select( "I'm just a passersby.", "I want 100 million Zeny in advance." ) == 2) {
mes "[Desalination Facility Manager]";
mes "...";
next;
mes "[Desalination Facility Manager]";
mes "You're out of your mind.";
close;
}
mes "[Desalination Facility Manager]";
mes "Mm? But you look too strong to be a simple passersby.";
next;
select("Well, I don't have any business here. I should go.");
mes "[Desalination Facility Manager]";
mes "WAIT!";
next;
mes "[Desalination Facility Manager]";
mes "Wait. Yes.";
next;
mes "[Desalination Facility Manager]";
mes "Hey, Jamie! How many more workers did you say we need in the culvert?";
npctalk "Job Agency Owner: Hey, Jamie! How many more workers did you say we need in the culvert?";
next;
mes "[Jamie]";
mes "^000077Since 2 more disappeared yesterday, 15. No one wants to go down there.^000000";
npctalk "Jamie: Since two more disappeared yesterday, 15. No one wants to go down there.", "Jamie";
next;
mes "[Desalination Facility Manager]";
mes "Hear that? Our office is severely understaffed.";
next;
if (select( "But what about all these people who are eager to work?", "Not my business." ) == 2) {
mes "[Desalination Facility Manager]";
mes "Hey, come on! I'm not finished!";
close;
}
mes "[Desalination Facility Manager]";
mes "They're eager, all right, but none of them is strong enough to be useful.";
next;
mes "[Desalination Facility Manager]";
mes "We need a lot of people at a construction site. It's... a little bit dangerous down there, but you look like you know how to deal with danger.";
next;
mes "[Desalination Facility Manager]";
mes "Say, how'd you like to work for me? I'll pay you generously.";
next;
if (select( "Tell me what this job entails.", "Let me think." ) == 2) {
mes "[Desalination Facility Manager]";
mes "You don't have to think! This benefits both of us!";
next;
mes "[Desalination Facility Manager]";
mes "Let me tell you a little bit about this village. It's built above the remains of a city that sank into the sea.";
next;
mes "[Desalination Facility Manager]";
mes "We can't completely fill up the basement because it's where our desalination system is.";
}
else {
mes "[Desalination Facility Manager]";
mes "Let me tell you a little bit about this village. It's built above the remains of a city that sank into the sea.";
next;
mes "[Desalination Facility Manager]";
mes "We can't completely fill up the basement because it's where our desalination system is.";
}
next;
select("Can't you get water elsewhere?");
mes "[Desalination Facility Manager]";
mes "This area is a desert. Desalinating is cheaper than importing water.";
next;
mes "[Desalination Facility Manager]";
mes "Anyway, the desalination system itself is in good order, but the cobweb of pipes that forms the system is prone to erosion and breakage. They need constant maintenance.";
next;
mes "[Desalination Facility Manager]";
mes "Then some time ago, monsters started showing up in the basement, and now our workers are too scared to work. That's the situation we're in right now.";
next;
select("What happens if I say no?");
mes "[Desalination Facility Manager]";
mes "This village will run out of drinking water. Someone has to do this. Believe it or not, I'm doing doing this entirely for profit.";
next;
mes "[Desalination Facility Manager]";
mes "Say, is that good enough motivation for you? If you still don't want to help us, I won't force you.";
next;
mes "[Jamie]";
mes "^000077Mr. Chairman, I've just got a call from the basement. Five more workers have been attacked by monsters.^000000";
npctalk "Jamie: Mr. Chairman, I've just got a call from the basement. Five more workers have been attacked by monsters.", "Jamie";
next;
mes "[Desalination Facility Manager]";
mes "Uh-oh, I'd better go take care of that situation. Come back if you change your mind.";
setquest 12403;// Laborers of Rock Ridge
completequest 12403;
close;
}
switch( checkquest(12404,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "[Desalination Facility Manager]";
mes "Aren't you tired? The pipes don't need cleaning at this moment. Why don't you go take care of whatever else you have to do?";
close;
case 2:
erasequest 12404;
break;
}
if (isbegin_quest(12405) == 0) {
mes "[Desalination Facility Manager]";
mes "Does this mean you're willing to go downstairs?";
next;
if (select( "Yes.", "Let me think." ) == 2) {
mes "[Desalination Facility Manager]";
mes "Alright, take your time.";
close;
}
mes "[Desalination Facility Manager]";
mes "Good. Let me tell you what to do. Take a look at the door at the bottom of the water storage to the left side of me. It's connected to the basement.";
next;
select("Do you mean the door that looks like a portal?");
mes "[Desalination Facility Manager]";
mes "Yes. Usually it's closed, and only those who have business in the basement can use it,";
next;
mes "[Desalination Facility Manager]";
mes "You know, people who help the Vigilantes, clean the sewer, and maintain the desalination pipes, like you.";
next;
mes "[Desalination Facility Manager]";
mes "Your job is to find four different types of pipes and fasten their bolts to prevent leakage.";
donpcevent "#r_q2::OnEnable";
next;
donpcevent "#r_q2::OnEnable";
mes "[Desalination Facility Manager]";
mes "The pipes that need maintenance are colored differently for easy recognition. When you're ready, enter the door on the left side.";
setquest 12405;// Maintain the Red Pipe
setquest 12406;// Maintain the Blue Pipe
setquest 12407;// Maintain the Yellow Pipe
setquest 12408;// Maintain the White Pipe
close;
}
if (isbegin_quest(12409) == 0) {
mes "[Desalination Facility Manager]";
mes "You haven't finished cleaning the pipes. We'll run out of water soon. Could you hurry up?";
close;
}
getexp 35000,27000;
getitem 25250,2;// Coin_Of_Rr
for ( .@quest_id = 12405; .@quest_id <= 12409; .@quest_id++ )
erasequest .@quest_id;
setquest 12404;// Are You Not Tired?
mes "[Desalination Facility Manager]";
mes "Good job. The villagers can enjoy clean water for the rest of the day, and it's all because of you.";
close;
}
harboro1,333,138,6 script Jamie 4_F_KAFRA9,{
mes "[Jamie]";
mes "Could you stop hitting on me? I'm the Chairman's personal secretary.";
close;
}
harboro1,332,144,6 script Underground Passage#1 PORTAL,{
if (BaseLevel < 100) {
mes "^0000ffWarning: This place is not for the weak or faint-hearted.^000000";
close;
}
mes "^0000ffDo you want to move to the underground village?^000000";
next;
if (select( "Move.", "Do it later." ) == 2) {
mes "You have decided not to use the underground passage.";
close;
}
warp "harboro2",329,187;
end;
}
harboro2,333,187,6 script Underground Passage#2 PORTAL,{
mes "^0000ffDo you want to go above ground?^000000";
next;
if (select( "Move.", "Do it later." ) == 2) {
mes "You have decided not to use the menu.";// ?
close;
}
warp "harboro1",336,144;
end;
}
harboro2,52,261,3 script Red Pipe#1 4_ENERGY_RED,{
.@npc_name$ = strnpcinfo(1);
if (.@npc_name$ == "Red Pipe") .@quest_id = 12405;
else if (.@npc_name$ == "Blue Pipe") .@quest_id = 12406;
else if (.@npc_name$ == "Yellow Pipe") .@quest_id = 12407;
else if (.@npc_name$ == "White Pipe") .@quest_id = 12408;
if (isbegin_quest(.@quest_id) == 1) {
specialeffect EF_REPAIRWEAPON;
progressbar "ffff00",3;
if (rand(100) < 50) {
specialeffect EF_PATTACK;
end;
}
specialeffect EF_STEAL;
completequest .@quest_id;
if (isbegin_quest(12405) == 2 && isbegin_quest(12406) == 2 && isbegin_quest(12407) == 2 && isbegin_quest(12408) == 2)
setquest 12409;// Pipes Maintained
disablenpc();
initnpctimer;
}
end;
OnTimer30000:
enablenpc();
stopnpctimer;
end;
}
harboro2,54,216,3 duplicate(Red Pipe#1) Blue Pipe#2 4_ENERGY_BLUE
harboro2,59,243,3 duplicate(Red Pipe#1) Yellow Pipe#3 4_ENERGY_YELLOW
harboro2,71,200,3 duplicate(Red Pipe#1) White Pipe#4 4_ENERGY_WHITE
harboro2,73,102,3 duplicate(Red Pipe#1) Red Pipe#5 4_ENERGY_RED
harboro2,74,173,3 duplicate(Red Pipe#1) Blue Pipe#6 4_ENERGY_BLUE
harboro2,86,160,3 duplicate(Red Pipe#1) Yellow Pipe#7 4_ENERGY_YELLOW
harboro2,89,213,3 duplicate(Red Pipe#1) White Pipe#8 4_ENERGY_WHITE
harboro2,89,223,3 duplicate(Red Pipe#1) Red Pipe#9 4_ENERGY_RED
harboro2,89,234,3 duplicate(Red Pipe#1) Blue Pipe#10 4_ENERGY_BLUE
harboro2,92,124,3 duplicate(Red Pipe#1) Yellow Pipe#11 4_ENERGY_YELLOW
harboro2,94,106,3 duplicate(Red Pipe#1) White Pipe#12 4_ENERGY_WHITE
harboro2,97,209,3 duplicate(Red Pipe#1) Red Pipe#13 4_ENERGY_RED
harboro2,106,233,3 duplicate(Red Pipe#1) Blue Pipe#14 4_ENERGY_BLUE
harboro2,108,112,3 duplicate(Red Pipe#1) Yellow Pipe#15 4_ENERGY_YELLOW
harboro2,117,197,3 duplicate(Red Pipe#1) White Pipe#16 4_ENERGY_WHITE
harboro2,120,116,3 duplicate(Red Pipe#1) Red Pipe#17 4_ENERGY_RED
harboro2,121,157,3 duplicate(Red Pipe#1) Blue Pipe#18 4_ENERGY_BLUE
harboro2,140,115,3 duplicate(Red Pipe#1) Yellow Pipe#19 4_ENERGY_YELLOW
harboro2,146,95,3 duplicate(Red Pipe#1) White Pipe#20 4_ENERGY_WHITE
harboro2,148,128,3 duplicate(Red Pipe#1) Red Pipe#21 4_ENERGY_RED
harboro2,151,123,3 duplicate(Red Pipe#1) Blue Pipe#22 4_ENERGY_BLUE
harboro2,158,151,3 duplicate(Red Pipe#1) Yellow Pipe#23 4_ENERGY_YELLOW
harboro2,161,163,3 duplicate(Red Pipe#1) White Pipe#24 4_ENERGY_WHITE
harboro2,169,125,3 duplicate(Red Pipe#1) Red Pipe#25 4_ENERGY_RED
harboro2,170,224,3 duplicate(Red Pipe#1) Blue Pipe#26 4_ENERGY_BLUE
harboro2,177,134,3 duplicate(Red Pipe#1) Yellow Pipe#27 4_ENERGY_YELLOW
harboro2,180,114,3 duplicate(Red Pipe#1) White Pipe#28 4_ENERGY_WHITE
harboro2,181,155,3 duplicate(Red Pipe#1) Red Pipe#29 4_ENERGY_RED
harboro2,187,113,3 duplicate(Red Pipe#1) Blue Pipe#30 4_ENERGY_BLUE
harboro2,207,121,3 duplicate(Red Pipe#1) Yellow Pipe#31 4_ENERGY_YELLOW
harboro2,211,49,3 duplicate(Red Pipe#1) White Pipe#32 4_ENERGY_WHITE
harboro2,221,234,3 duplicate(Red Pipe#1) Red Pipe#33 4_ENERGY_RED
harboro2,224,199,3 duplicate(Red Pipe#1) Blue Pipe#34 4_ENERGY_BLUE
harboro2,226,69,3 duplicate(Red Pipe#1) Yellow Pipe#35 4_ENERGY_YELLOW
harboro2,230,102,3 duplicate(Red Pipe#1) White Pipe#36 4_ENERGY_WHITE
harboro2,240,83,3 duplicate(Red Pipe#1) Red Pipe#37 4_ENERGY_RED
harboro2,244,161,3 duplicate(Red Pipe#1) Blue Pipe#38 4_ENERGY_BLUE
harboro2,266,129,3 duplicate(Red Pipe#1) Yellow Pipe#39 4_ENERGY_YELLOW
harboro2,291,44,3 duplicate(Red Pipe#1) White Pipe#40 4_ENERGY_WHITE
// Pipe Cleaning
harboro1,138,157,5 script Donovan 4_M_EINMAN2,{
mes "[Donovan]";
mes "Hello.";
next;
mes "[Donovan]";
if (rock_main_quest < 22) {
mes "You're one of the adventurers from the mainland, right?";
mes "My name is Donovan,";
mes "sewer system manager.";
next;
mes "[Donovan]";
mes "There are so many problems";
mes "the Buffalo Bandits, the mine, just to name a couple?";
mes "that no one else cares about their own sewer system right now.";
mes "The Buffalo Bandits";
mes "need to be taken care of first.";
close;
}
switch( checkquest(9459,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "The pipes are";
mes "clear of sea anemones at this moment.";
mes "Why don't you";
mes "come back later?";
close;
case 2:
mes "Ah, welcome back!";
mes "I've been thinking";
mes "it's time to";
mes "get rid of sea anemones again.";
next;
if (select( "I can do that.", "Sorry, I'm busy." ) == 2) {
mes "[Donovan]";
mes "Oh, I see.";
mes "I understand.";
mes "But come back if you change your mind.";
close;
}
mes "[Donovan]";
mes "You know how to enter the basement, right?";
mes "Thank you for your help.";
erasequest 9459;// Too Early for Pipe Cleaning
setquest 9458;// Pipe Cleaning
close;
}
switch( checkquest(9458,HUNTING) ) {
case -1:
mes "Oh, so you're";
mes "the adventurer who took care of the Buffalo Bandits!";
mes "Nice to meet you!";
next;
mes "[Donovan]";
mes "So, you're strong enough to";
mes "take care of the bandits.";
mes "Would you be so kind";
mes "as to help me with something?";
next;
mes "[" + strcharinfo(0) + "]";
mes "- Alright, what can I do for you?";
next;
mes "[Donovan]";
mes "Oh, where are my manners?";
mes "My name is Donovan,";
mes "sewer system manager.";
mes "I manage the underground water pump";
mes "and sewage system.";
next;
mes "[Donovan]";
mes "Groundwater keeps welling up";
mes "from the basement of the village,";
mes "and it has to be pumped out into the sea";
mes "to prevent flooding.";
next;
mes "[Donovan]";
mes "My job is to make sure";
mes "the pumps and sewage system are";
mes "in working order";
mes "at all times,";
next;
mes "[Donovan]";
mes "and it's not a job for just one man.";
mes "There are so many things to do";
mes "that I need help.";
mes "The work itself isn't complicated.";
mes "Could you help me?";
next;
if (select( "Sure.", "Sorry, I'm busy." ) == 2) {
mes "[Donovan]";
mes "Oh, I see.";
mes "I understand.";
mes "But come back if you change your mind.";
close;
}
mes "[Donovan]";
mes "Wow, thank you!";
mes "All you have to do is";
mes "go down to the basement";
mes "and get rid of sea anemones";
mes "on the pipes and water pump.";
next;
mes "[Donovan]";
mes "You can go down to the basement";
mes "by talking to";
mes "Joe, who's a bit east of here.";
mes "He'll let you";
mes "go down to the basement.";
next;
mes "[Donovan]";
mes "We call him Quiet Joe.";
mes "Thank you for your help.";
setquest 9458;// Pipe Cleaning
close;
case 0:
case 1:
mes "Go east,";
mes "and you'll see Joe.";
mes "He'll let you";
mes "go down to the basement";
mes "if you tell him I sent you.";
close;
case 2:
mes "Ah, Adventurer, welcome back.";
mes "How was it, getting rid of sea anemones?";
mes "It wasn't too difficult, was it?";
next;
mes "[" + strcharinfo(0) + "]";
mes "- No, it wasn't.";
mes "- It was boring, though.";
next;
mes "[Donovan]";
mes "Hah hah, it's a boring job, sure.";
mes "But it must not be boring to those sea anemones";
mes "because they spring up every day,";
mes "no matter how hard I try";
mes "to keep them in check.";
next;
mes "[Donovan]";
mes "Getting rid of them";
mes "takes up a lot of my time.";
mes "Thank you for your help.";
mes "I could always use help getting rid of sea anemones.";
mes "Please come again.";
erasequest 9458;// Pipe Cleaning
setquest 9459;// Too Early for Pipe Cleaning
getexp 25000,20000;
getitem 25250,1;// Coin_Of_Rr
close;
}
}
// Midnight quest
harboro2,167,82,3 script Midnight#srdg01 4_M_COWRAIDERS2,{
if (rock_main_quest < 22) {
mes "[Midnight]";
mes "What are you looking at? Scram before I put holes in your face! Git!";
close;
}
if (isbegin_quest(14672) == 1 || isbegin_quest(14673) == 1) {// Demon quest started
mes "[Midnight]";
mes "I should go. He's just being stubborn.";
next;
mes "[Midnight]";
mes "Frankly, I don't understand why he would want to do this, but I don't want to stop him.";
next;
mes "[Midnight]";
mes "Thank you for helping us.";
close;
}
mes "[Midnight]";
mes "...";
next;
mes "[Midnight]";
mes "Demon, some strange kid is just hanging out around us. Do you know him?";
next;
mes "[Demon]";
mes "Who? Where? I don't see him. Send him to me.";
close;
}
harboro2,164,80,5 script Demon#srdg01 4_M_NFMAN,{
if (checkweight(1304,3) == 0) {
mes "[Demon]";
mes "You're carrying so much stuff, I'm worried you might break your shoulder. Why don't you go lighten your bag first?";
close;
}
if (BaseLevel < 130) {
mes "[Demon]";
mes "You're still wet behind the ears. This place is too dangerous for you. Come back later, alright?";
close;
}
if (rock_main_quest < 22) {
mes "[Demon]";
mes "You have no idea how dangerous this place is, do you? Get out of here while you can.";
close;
}
switch( checkquest(14673,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "[Demon]";
mes "You came back quickly. Ah, I miss being young.";
next;
mes "[Demon]";
mes "But look, I still have left some of the materials you brought me yesterday. I can't use all these.";
next;
mes "[Demon]";
mes "Why don't you go home and come back next morning?";
close;
case 2:
mes "[Demon]";
mes "Hey, kiddo! It's very nice to see you again. The bomb I made with the materials you brought is in the aging process. Did you know wine and bombs get better the older they are?";
sleep2 1000;
npctalk "You said old bombs are bad bombs.", "Midnight#srdg01", bc_self;
sleep2 1000;
npctalk "That was just a figure of speech.", "", bc_self;
next;
mes "[Demon]";
mes "Now, could you bring some more materials today? We're a long way from having all the bombs we need.";
next;
mes "[Demon]";
mes "As usual, get ^0000cd10 Deadly Poison Powders and 1 Explosive Powder^000000, and ^0000cdhunt 15 Gasters^000000. Got it?";
next;
emotion ET_THROB;
mes "[Demon]";
mes "We'll be counting on you, kiddo!";
erasequest 14673;// Time to Make Bombs
setquest 14672;// Preparing for the Firework Festival
close;
}
switch( checkquest(14672,HUNTING) ) {
case -1:
.@account_id = getcharid(3);
.@player_name$ = strcharinfo(0);
setpcblock PCBLOCK_NPC, true;
donpcevent "Traces of Fire#srdg01::OnEffect";
sleep2 1500;
setpcblock PCBLOCK_NPC, false;
mes "[Demon]";
mes "Alright, this should do. You know what I need, right? Are you sure you could sneak in? Maybe I should go.";
next;
emotion ET_ANGER, getnpcid(0, "Midnight#srdg01");
mes "[Midnight]";
mes "I'll go while everyone's in bed.";
next;
mes "[Demon]";
mes "But the noise could wake them up. There'll be guards, too.";
next;
mes "[Midnight]";
mes "I'll be alright. We all look alike? They won't know I'm not one of them.";
emotion ET_HUK;
npctalk "What? I thought you guys would be able to tell each other apart.", "", bc_self;
select("Mister, what are you doing here?");
mes "[Midnight]";
mes "*Glance*";
next;
mes "[" + .@player_name$ + "]";
mes "Why are you playing with fire in the middle of nowhere? You're suspicious.";
next;
mes "[Midnight]";
mes "...";
next;
mes "[Demon]";
mes "Hey, a kid is asking you a question. He looks so curious that I'm worried he might die if you don't tell him.";
next;
mes "[Midnight]";
mes "...";
next;
emotion ET_HNG;
mes "[Demon]";
mes "Little kids like him are full of curiosity. You'd better tell him before he starts crying.";
npctalk "Tsk, tsk. You're big and shy. How cute!", "", bc_self;
next;
mes "[Midnight]";
mes "Yo tell him.";
next;
emotion ET_HNG;
mes "[Demon]";
mes "No. Why should I? He asked you. Plus, kids usually give me heartburn.";
next;
emotion ET_BIGTHROB;
mes "[Demon]";
mes "I had my favorite bean dish for breakfast today. I can't lose it. I want it to become part of me.";
next;
mes "[Midnight]";
mes "Some of it has to come out of you eventually. Poor beans. They'd be angry to be eaten by jerks like you.";
emotion ET_HNG;
npctalk "Hey, that's not nice. I didn't save you, just so you could call me a jerk.", "", bc_self;
sleep2 1500;
npctalk "I'm sorry. I'm sorry. Happy now?", "Midnight#srdg01", bc_self;
sleep2 1500;
npctalk "You'd better be nicer than that. I'm a sensitive guy.", "", bc_self;
sleep2 1500;
npctalk "Be nicer, got it.", "Midnight#srdg01", bc_self;
next;
emotion ET_SURPRISE;
mes "[Demon]";
mes "Oh, right! Why don't we ask this kid?";
next;
mes "[Midnight]";
mes "What? But we can't trust him? We've just met him!";
next;
emotion ET_OK;
mes "[Demon]";
mes "Yes, we can. People are supposed to trust each other. You didn't know that, did you? Now that he's here, he's one of us now. And I told you, everyone's born good.";
npctalk "Yeah, right.", "Midnight#srdg01", bc_self;
next;
mes "[Demon]";
mes "Plus, doesn't he look like he's used to rough things? He has a runner's body and keen eyes that miss nothing. I like kids like him.";
sleep2 1000;
npctalk "He reminds me of myself when I was five. I think we could trust him.", "", bc_self;
next;
mes "[Demon]";
mes "Hey, kiddo. How'd you like to join us in business?";
next;
if (select( "What business?", "No, thanks." ) == 2) {
mes "[" + .@player_name$ + "]";
mes "You look dangerous. I don't want to do anything dangerous.";
next;
mes "[Demon]";
mes "You don't? Alright, then I won't force you. Take care now. This place is dangerous. You'd better get out of here.";
next;
mes "[Midnight]";
mes "Are you sure we can let him go? He's seen us.";
next;
mes "[Demon]";
mes "Why are you so paranoid? It's okay, kiddo. Just go. But come back if you change your mind!";
close;
}
mes "[" + .@player_name$ + "]";
mes "What business?";
next;
mes "[Demon]";
mes "We've got a great plan.";
npctalk "It's not great, but a plan, all right.", "Midnight#srdg01", bc_self;
sleep2 1000;
npctalk "Why are you doing this to me?", "", bc_self;
next;
emotion ET_STARE;
mes "[Demon]";
mes "Unless you're going to explain it yourself, just shut up and let me do it!";
next;
mes "[Midnight]";
mes "...";
next;
mes "[Demon]";
mes "That's more like it. Anyway, we're going to rob the ^0000cdmine^000000.";
next;
select("Rob the mine?");
mes "[Midnight]";
mes "You didn't have to tell him that. You could've just asked him to get the things for us.";
next;
mes "[Demon]";
mes "We can't make him do things for us without explanation. He has the right to know what he's getting himself into.";
npctalk "I can't believe you're so heartless.", "", bc_self;
next;
mes "[Midnight]";
mes "You want to take advantage of a stranger.";
next;
mes "[Demon]";
mes "No. I'm asking you to be in on our great plan. Anyway, you know the mine east of here? It used to belong to Gold Moon?";
sleep2 1000;
npctalk "You're going to go back that far? It's going to take all night.", "Midnight#srdg01", bc_self;
next;
mes "[Demon]";
mes "So, anyway, the Buffalo Bandits realized how lucrative the mine was and took up residence in there.";
next;
mes "[" + .@player_name$ + "]";
mes "I've heard that.";
next;
mes "[Demon]";
mes "You have? From where?";
next;
mes "[" + .@player_name$ + "]";
mes "At the sheriff's office.";
next;
emotion ET_BIGTHROB;
mes "[Demon]";
mes "Hey, did you just get released? So are we! In fact, we've met there. I've met most of my best friends while we were in the system.";
next;
mes "[Midnight]";
mes "I miss the smell of the stone floor. And the coolness.";
next;
mes "[Demon]";
mes "I liked the food, too. I hated beans until I went to jail. All the beans I've eaten aren't half as good as those I ate in there.";
sleep2 1000;
npctalk "You could always go back, you know.", "Midnight#srdg01", bc_self;
sleep2 1500;
npctalk "I do. You could come with me.", "", bc_self;
sleep2 1500;
npctalk "...", "Midnight#srdg01", bc_self;
next;
select("Why did you go to jail?");
mes "[Demon]";
mes "Oh, that.";
next;
mes "[Midnight]";
mes "Are you going to tell him that too?";
next;
mes "[Demon]";
mes "Why not? I loved that story. You want to hear it, don't you?";
sleep2 1000;
unittalk .@account_id, "" + .@player_name$ + " : Sure.", bc_self;
next;
mes "[Demon]";
mes "I'm really good with my hands, and I like fireworks. What do you think would be the best job for someone like me?";
next;
mes "[" + .@player_name$ + "]";
mes "Firecracker maker?";
sleep2 1000;
npctalk "He's cute.", "Midnight#srdg01", bc_self;
next;
mes "[Demon]";
mes "Close, but I make something stronger: ^0000cdbombs^000000. And mines are just about the best thing that could happen to people like me.";
next;
mes "[Demon]";
mes "People working at the mines always need bombs. I came here, hoping I could make some money while doing what I love.";
next;
mes "[Midnight]";
mes "But it didn't work out.";
next;
emotion ET_HNG;
mes "[Demon]";
mes "And it's because of you! One night, some guys came to me and said they heard I was a bomb specialist. They demanded I donate bombs to them.";
next;
mes "[Demon]";
mes "One look at them, and I knew they were the infamous ^0000cdBuffalo Bandits^000000. It was obvious why they wanted my bombs.";
next;
mes "[Midnight]";
mes "And you still gave them to them.";
next;
mes "[Demon]";
mes "What else could I do? A bunch of scary-looking buffaloes who were at least a head taller than me, mind you? Demanded I give them my bombs.";
next;
mes "[Midnight]";
mes "You could've stood?";
next;
emotion ET_FRET;
mes "[Demon]";
mes "No, I couldn't have stood my ground. You weren't there. Anyway, those buffaloes used my bombs to blow up the ore train and take over the mine. Guess what happened to me afterward.";
sleep2 1000;
unittalk .@account_id, "" + .@player_name$ + " : I can't.", bc_self;
next;
mes "[Demon]";
mes "The sheriff traced the bombs back to me and dragged me with him.";
next;
mes "[Midnight]";
mes "And you got thrown in jail.";
next;
mes "[Demon]";
mes "And guess who I met there: this guy. He was caught in the explosion that blew up the train, and those heartless buffaloes left him to die.";
unittalk .@account_id, "" + .@player_name$ + " : Holy crap.", bc_self;
sleep2 1000;
emotion ET_OK;
npctalk "Holy crap, yeah.", "", bc_self;
next;
mes "[Demon]";
mes "And the sheriffs were no better than them. They just left him bleeding all over the cell. What could I do? I couldn't let anyone die if I could help it, so I treated him.";
next;
mes "[Demon]";
mes "He's been following me around since then.";
next;
mes "[Midnight]";
mes "Who? Me?";
next;
mes "[Demon]";
mes "Yes. Or why did you save me when I came to the mine to get even with the buffaloes? They kicked you out because of me.";
emotion ET_KIK;
npctalk "That's how much he likes me.", "", bc_self;
next;
mes "[" + .@player_name$ + "]";
mes "Did you get your revenge after you were released?";
next;
mes "[Demon]";
mes "I don't want to talk about it. I made so many stupid mistakes, which wasn't like me at all. That's why we were hiding out in this dark, dank place.";
npctalk "That was totally like you.", "Midnight#srdg01", bc_self;
sleep2 2000;
emotion ET_OK;
npctalk "Yeah, yeah. I love you, too.", "", bc_self;
sleep2 1500;
npctalk "One day, I'm just going to pull out all of your teeth.", "Midnight#srdg01", bc_self;
sleep2 1500;
emotion ET_KIK;
npctalk "Hear that? That's his way of saying he loves me.", "", bc_self;
next;
select("So, what can I do to help?");
mes "[Demon]";
mes "Are you sure you want to help? Because I don't like forcing people, or sending them in harm's way. If you really want to help, then you can get some bomb materials for me.";
next;
mes "[" + .@player_name$ + "]";
mes "Why, so you could rob the mine?";
next;
mes "[Demon]";
mes "No. Technically speaking, we'd ^0000cdreclaim the mine^000000. Have you seen what's going in the village? Since those buffaloes took over the mine, most of the people lost their jobs.";
next;
mes "[Demon]";
mes "Without a job, they can't make money, and without money, they can't feed themselves. This is terrible.";
next;
emotion ET_SPARK;
mes "[Demon]";
mes "I want to throw a ^0000cdfirework party inside the mine^000000 and ^0000cdscare away the bandits^000000.";
next;
mes "[" + .@player_name$ + "]";
mes "But, Mr. Midnight, they used to be your...";
npctalk "My what?", "Midnight#srdg01", bc_self;
next;
mes "[Demon]";
mes "Don't worry about him. He cut ties with them a long time ago. He has no love for those buffaloes who abandoned him. Am I right?";
next;
mes "[Midnight]";
mes "...";
next;
emotion ET_HUK;
mes "[Demon]";
mes "Well, I'll be dipped in buttermilk.";
next;
mes "[Midnight]";
mes "No, I'm not worried about them, but I am worried about us. If this goes wrong?";
next;
mes "[Demon]";
mes "The sheriffs will throw us in jail if the bandits don't kill us. But it's okay. I like the beans there.";
npctalk "You really like beans, don't you?", "Midnight#srdg01", bc_self;
next;
mes "[Demon]";
mes "If this goes well, we can get out of this cesspit and I can work at the mine again. So can you.";
npctalk "We have to try this to know if it works. We can worry about everything else later. Plus, we're not ready to do anything.", "", bc_self;
next;
mes "[Demon]";
mes "Anyway, kiddo, are you sure you can help us? There are monsters inside the mine that looks like cotton balls. Hunt them, and they'll leave behind deadly poisonous powder and explosive powder.";
next;
mes "[Demon]";
mes "I need 10 Deadly Poison Powders and.. let me see.. 1 Explosive Powder.";
next;
mes "[" + .@player_name$ + "]";
mes "Deadly poisonous powder? Are you going to kill them? You said you just want to scare them away.";
next;
mes "[Demon]";
mes "It's deadly only to humans and Dorams. To those Tauruses, it only causes allergic reactions, like itching and sneezing.";
npctalk "This is why things need to be named carefully.", "", bc_self;
next;
mes "[Midnight]";
mes "I can go.";
next;
mes "[Demon]";
mes "No. You're going to get caught and ruin our plan before it even begins.";
next;
mes "[Demon]";
mes "Ah kiddo, speaking of which, could you cull some Gasters? That'll help us set up bombs later.";
next;
mes "[Demon]";
mes "The buffaloes would get out of the mine when the fireworks starts, but those clumps of gas could trigger chain reaction and blow up the entire mine. Hunt 15 of them for now. Can you do it?";
next;
mes "[" + .@player_name$ + "]";
mes "Sure.";
next;
mes "[Demon]";
mes "I asked yes or no. Oh well, I'll take that as a yes.";
next;
mes "[Demon]";
mes "Now, here's the lowdown: get ^0000cd10 Deadly Poison Powders and 1 Explosive Powder^000000, and ^0000cdhunt 15 Gasters^000000. Got it?";
next;
emotion ET_GOODBOY, .@account_id;
mes "[Demon]";
mes "We'll be counting on you, kiddo! I'll repay you generously when you come back. I was able to nab a few things while in jail at the sheriff's office. Now, off you go!";
setquest 14672;// Preparing for the Firework Festival
close;
case 0:
case 1:
mes "[Demon]";
mes "Let's see... Mm, kiddo, you forgot to hunt all the Gasters. We can't have Gasters around while we work.";
next;
mes "[Demon]";
mes "Hunt just 15 Gasters. There's no rush. You can take your time. Just come back before the end of the day today. I want to see you again.";
close;
case 2:
if (countitem(25277) < 10) {
mes "[Demon]";
mes "Let's see... Mm, you didn't bring 10 Deadly Poison Powders. That's the least amount I need to make a bomb.";
next;
mes "[Demon]";
mes "Kiddo, you can do this, right? Get 10 Deadly Poison Powders and 1 Explosive Powder from Gasters.";
close;
}
if (countitem(6213) < 1) {
mes "[Demon]";
mes "Let's see... Mm, you didn't bring 1 Explosive Powder. That's the least amount I need to make a bomb.";
next;
mes "[Demon]";
mes "Kiddo, you can do this, right? Get 1 Explosive Powder from Gasters.";
close;
}
mes "[Demon]";
mes "Let's see... Ooh, kiddo, you got everything done! You hunted Gasters and brought what I asked.";
npctalk "What should I do? I think I'm in love with this kid.", "", bc_self;
next;
mes "[Demon]";
mes "This is enough to keep me awake all night.";
npctalk "Midnight, you'd better catch some z's while I work.", "", bc_self;
sleep2 1000;
npctalk "Let me help. It'll be quicker.", "Midnight#srdg01", bc_self;
sleep2 1500;
npctalk "...Wow. You really like me, don't you?", "", bc_self;
next;
mes "[Demon]";
mes "Hey kiddo, do you mind helping me again tomorrow? I need more than one bomb to throw a firework party.";
next;
mes "[Demon]";
mes "Go rest today and come back tomorrow in the morning. See ya!";
delitem 25277, countitem(25277);// DeadlyPoisonPowder
delitem 6213, countitem(6213);// Explosive_Powder
erasequest 14672;// Preparing for the Firework Festival
setquest 14673;// Time to Make Bombs
getitem 25250,3;// Coin_Of_Rr
getexp 76200,70740;
close;
}
end;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 22 && BaseLevel >= 140 && !isbegin_quest(14672) && checkquest(14673,PLAYTIME) == -1" );
questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(14672,HUNTING) == 2 && countitem(25277) > 9 && countitem(6213) > 0" );
questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(14673,PLAYTIME) == 2" );
end;
}
harboro2,166,80,5 script Traces of Fire#srdg01 4_TRACE,{
end;
OnEffect:
specialeffect EF_SPR_SOULE;
specialeffect EF_MAGMA_FLOW;
initnpctimer;
end;
OnTimer1000:
specialeffect EF_SPR_LIGHTPRINT;
end;
OnTimer10000:
specialeffect EF_M03;
specialeffect EF_FIREHIT2;
end;
OnTimer18000:
specialeffect EF_FIREHIT2;
end;
OnTimer24000:
specialeffect EF_M03;
end;
OnTimer30000:
specialeffect EF_EL_HEATER;
stopnpctimer;
end;
}
harboro2,165,77,5 duplicate(dummy_npc) Tool#srdg01 4_ROPEPILE
harboro2,164,78,5 duplicate(dummy_npc) Tool#srdg02 4_BRICKPILE
harboro2,166,78,5 duplicate(dummy_npc) Tool#srdg03 4_WOODPILE
// Gas! Gas!
rockrdg2,295,328,5 script Frail Ghast#rockdaily 4_M_COWRAIDERS2,{
if (rock_main_quest < 22) {
mes "[Frail Ghast]";
mes "Aww, just one look at them,";
mes "and all I want to do is sneeze...";
next;
mes "[Frail Ghast]";
mes "What are you looking at? Were you eavesdropping on me?";
mes "Get your butt outta here! Git!";
close;
}
switch( checkquest(1299,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "[Frail Ghast]";
mes "Oh, you want to help me again.";
mes "Thanks, but I only have to patrol once a day. Why don't you come back tomorrow after 4:00 a.m.?";
close;
case 2:
mes "[Frail Ghast]";
mes "Ah, stranger! You came to help again, right?";
next;
if (select( "Help.", "Decline." ) == 2) {
mes "[Frail Ghast]";
mes "Why not? Are you too busy today?";
close;
}
mes "[Frail Ghast]";
mes "Don't worry about your payment; I've got it covered. Just go get the job done.";
erasequest 1299;// Patrol Once a Day
setquest 1298;// Gas! Gas!
close;
}
switch( checkquest(1298,HUNTING) ) {
case -1:
mes "[Frail Ghast]";
mes "*Groan* What do I do?";
mes "Maybe I should take a giant fan with me.";
mes "No. No, then everyone will find out.";
mes "Who's there?!";
emotion ET_SURPRISE, playerattached();
next;
mes "[Frail Ghast]";
mes "Mm? I'm pretty sure I haven't seen you around.";
mes "You're not one of the vigilantes.";
next;
mes "[Frail Ghast]";
mes "Wait, you're the stranger";
mes "who's been interfering with us!";
next;
mes "[Frail Ghast]";
mes "...Oh, that's right! Hey stranger,";
mes "have you seen the monsters";
mes "called Gasters inside the mine?";
next;
select("Yes.","Gasters?");
mes "[Frail Ghast]";
mes "Yes, those clumps of gas. They make me sneeze something fierce,";
mes "and turn into a weeping, drooling, sniffling mess. *Shudder*";
next;
mes "[Frail Ghast]";
mes "Now, I've been assigned to go on patrol inside the mine, and I can't do it because of them.";
mes "But we Taurases take pride in our physical superiority. How can I tell the others that I can't do my job because I'm allergic to some gas?";
next;
mes "[Frail Ghast]";
mes "So I'm thinking";
mes "maybe you could help me.";
next;
mes "[Frail Ghast]";
mes "Hunt ^FF000020 Gasters^000000 before I get in there.";
mes "I'll repay you. Please?";
next;
if (select( "Help.", "Decline." ) == 2) {
mes "[Frail Ghast]";
mes "Come on, I said I'd repay you.";
mes "Bah! Alright, then I won't force you.";
mes "But you'd better not tell anyone about this. Got it?";
close;
}
mes "[Frail Ghast]";
mes "Really? Thanks! I'll be counting on you!";
next;
mes "[Frail Ghast]";
mes "Oh, and make sure no one knows about this.";
mes "That'll be bad for both of us.";
setquest 1298;// Gas! Gas!
close;
case 0:
case 1:
mes "[Frail Ghast]";
mes "How many Gasters did you hunt?";
mes "I'm ready to go on patrol. Let me know when you're done.";
mes "I'll be counting on you, stranger.";
close;
case 2:
if (checkweight(1301,1) == 0) {
mes "[Frail Ghast]";
mes "Did you hunt all of them? By the way, why are you carrying so much stuff?";
mes "Go ^FF0000lighten your bag^000000 first.";
close;
}
mes "[Frail Ghast]";
mes "Did you catch them all? I'd better finish my rounds before more of them spring up.";
mes "Thanks! Here, take this.";
erasequest 1298;// Gas! Gas!
setquest 1299;// Patrol Once a Day
getitem 25250,3;// Coin_Of_Rr
getexp 101600,94320;
next;
mes "[Frail Ghast]";
mes "If you're not busy, come by tomorrow and help me again. I'll repay you.";
mes "This works for both of us, don't you agree?";
close;
}
end;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 22 && !isbegin_quest(1298) && checkquest(1299,PLAYTIME) == -1" );
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 22 && checkquest(1298,HUNTING) == 2" );
questinfo( QTYPE_QUEST, QMARK_YELLOW, "rock_main_quest == 22 && checkquest(1299,PLAYTIME) == 2" );
end;
}
// Mrs. McPhy
harboro1,347,65,3 script Mrs. McPhy#rockdaily 1_F_MERCHANT_02,{
if (BaseLevel < 100) {
mes "[Mrs. McPhy]";
mes "Hello. Are you new to this place? You should be ^FF0000at least Level 100^000000 to stay here comfortably?";
next;
mes "[Mrs. McPhy]";
mes "Wait, what is my husband feeding that dog? Honey! That was our dinner!";
next;
mes "[Mr. McPhy]";
mes "S-sweetheart, you shouldn't be outside when it's so windy. Let's go in.";
next;
mes "[Mrs. McPhy]";
mes "Grr, I can't believe you! You're getting only half your dinner tonight!";
close;
}
switch( checkquest(1329,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "[Mrs. McPhy]";
mes "He's an angel when he's in sleep, but... sigh... I already have a headache, just thinking about what he might do when he wakes up ^FF0000after 4:00 a.m.^000000";
close;
case 2:
mes "[Mrs. McPhy]";
mes "Adventurer, thank you for coming back. We've checked all the holes Spotty dug inside the village, but we couldn't find what we were looking for. He must have taken it to the wasteland.";
next;
mes "[Mrs. McPhy]";
mes "As I told you before, we've got something for you this time: ^0000CD1 Rock Ridge Coin^000000. Say, could you help us?";
next;
if (select( "Help.", "Decline." ) == 2) {
mes "[Mrs. McPhy]";
mes "We have no one else to turn to. Please come back if you change your mind.";
close;
}
.@r = rand(1,8);
if (.@r == 1)
.@string$ = "slipper";
else if (.@r == 2)
.@string$ = "spoon";
else if (.@r == 3)
.@string$ = "work boot";
else if (.@r == 4)
.@string$ = "glove";
else if (.@r == 5)
.@string$ = "hat";
else if (.@r == 6)
.@string$ = "pillow cover";
else if (.@r == 7)
.@string$ = "alarm clock";
else
.@string$ = "flyswatter";
mes "[Mrs. McPhy]";
mes "Today Spotty took a " + .@string$ + ". Could you look for it? It may be easily replaceable, but I can't keep buying things every time Spotty takes something.";
next;
mes "[Mrs. McPhy]";
mes "Go outside the village and talk to my husband. He'll tell you where it might be.";
erasequest 1329;// Spotty in the Dreamland
setquest rand(1323,1327);// Spotty, No!
if (isbegin_quest(1330)) // debug
erasequest 1330;
if (isbegin_quest(1322) == 0) { // debug
setquest 1322;
completequest 1322;
}
setquest 1330;// Spotty's Holes
close;
}
for ( .@quest_id = 1321; .@quest_id < 1329; .@quest_id++ ) {
if (isbegin_quest(.@quest_id) == 1)
break;
}
switch( .@quest_id ) {
case 1321:
case 1323:
case 1324:
case 1325:
case 1326:
case 1327:
mes "[Mrs. McPhy]";
mes "Spotty would be a perfect dog if he doesn't take things out of the house. Sigh...";
if (isbegin_quest(1330) == 0) // debug
setquest 1330;// Spotty's Holes
close;
case 1322:// First time doing the quest
mes "[Mrs. McPhy]";
mes "Adventurer, we've found the ring!";
mes "After all the time we spent searching the village, we've found it inside his house.";
next;
mes "[Mrs. McPhy]";
mes "By the way, what's that shining thing in your hand?";
next;
if (checkweight(1301,1) == 0) {
mes "[Mrs. McPhy]";
mes "Oh, you want to ^FF0000lighten your bag^000000 first before showing it to me. Sure!";
close;
}
select("Show what's in your hand.");
mes "[Mrs. McPhy]";
mes "This is a Rock Ridge Coin. You can use it like money inside the village. I wasn't comfortable letting you help us for free. I'm glad you can at least have this.";
next;
mes "[Mrs. McPhy]";
mes "That Rock Ridge Coin is yours. Thank you for helping us.";
erasequest 1330;// Spotty's Holes
completequest 1322;// Found Something
getitem 25250,1;// Coin_Of_Rr
setquest 1329;// Spotty in the Dreamland
next;
mes "[Mrs. McPhy]";
mes "And, mm... Do you mind helping us again tomorrow? Spotty keeps taking things from the house to the wasteland, and we need them back.";
next;
mes "[Mrs. McPhy]";
mes "Spotty tired itself out and fell asleep. Could you come back tomorrow after 4:00 a.m.? We'll have something to give you next time.";
// 1329 is here on official but it can bring a potential bug
// setquest 1329;// Spotty in the Dreamland
close;
case 1328:
if (checkweight(1301,1) == 0) {
mes "[Mrs. McPhy]";
mes "Did you find what we asked? I can't see it because you're carrying too much stuff with you. Could you ^FF0000lighten your bag^000000 first?";
close;
}
mes "[Mrs. McPhy]";
mes "You've found it! Thank you so much. We've been trying to correct Spotty's behavior, and it's difficult.";
next;
mes "[Mrs. McPhy]";
mes "Here's the Rock Ridge Coin we promised. Thank you for searching the wasteland for us.";
erasequest 1328;// Found Missing Items
erasequest 1330;// Spotty's Holes
getitem 25250,1;// Coin_Of_Rr
setquest 1329;// Spotty in the Dreamland
next;
mes "[Mrs. McPhy]";
mes "Could you come back again? If you're not busy, you're welcome anytime after 4:00 a.m each day.";
close;
default:// first time
mes "[Mrs. McPhy]";
mes "How many times do I have to tell you to keep your dog away from our things? Do you really want me to send it away on a ship?";
next;
mes "[Mr. McPhy]";
mes "Why? What did he do this time?";
next;
mes "[Mrs. McPhy]";
mes "I can't live like this anymore! Guess what Spotty stole this time? My ring!";
next;
if (select( "Check what's going on.", "Quit." ) == 2) {
mes "[Mrs. McPhy]";
mes "HONEY! Are you even listening to me?!";
close;
}
mes "[Mrs. McPhy]";
mes "My mom gave me that ring before I left for this foreign land. I was keeping it for a rainy day, and that mongrel stole it from me!";
next;
mes "[Mr. McPhy]";
mes "You mean the gold ring you love? Uh-oh, Spotty is in big trouble.";
next;
mes "[Mrs. McPhy]";
mes "I tried to be understanding when it took our shoes and laundry and buried them in the ground, but no, not my ring!";
next;
mes "[Mr. McPhy]";
mes "Sweetheart, please calm down. Is it possible you left it where he could reach it?";
next;
mes "[Mrs. McPhy]";
mes "Are you kidding me? I never take it off except when I do the dishes or laundry,";
mes "and even then I keep it in my pocket. I dropped it just this once, and that mongrel got ahold of it!";
next;
mes "[Mrs. McPhy]";
mes "It's been two months since you quit your job, and instead of helping around the house, you've been spoiling that dog. You're responsible for its misbehavior!";
next;
mes "[Mrs. McPhy]";
mes "I saw it run to the wasteland. Go find my ring. You'd better not come back home without it!";
next;
mes "[Mr. McPhy]";
mes "What? I'm a miner, not a fighter? I can't go out there! You know I couldn't stay out there long enough to find my hat when it flew away in that direction.";
next;
mes "[Mrs. McPhy]";
mes "I don't know, and I don't care!";
next;
if (select( "Join the conversation.", "Pass." ) == 2) {
mes "- That's none of my business. I'm just going to pass. -";
close;
}
mes "[Mr. McPhy]";
mes "Wah! Geez, who are you?";
next;
mes "[Mr. McPhy]";
mes "Ah, you're the adventurer who just arrived in these parts. Hah hah, don't be so surprised. I know because";
next;
mes "[Mrs. McPhy]";
mes "you sit by the dock all day, playing with the dog. Of course, I know everyone who comes and goes.";
next;
mes "[Mr. McPhy]";
mes "*Clenches his teeth* Sweetheart, let's not start it right now.";
mes "Anyway, what can we do for you?";
next;
if (select( "Say you want to help them find the ring.", "Say hello." ) == 2) {
mes "[Mr. McPhy]";
mes "Why, hello to you, too.";
mes "You're silly.";
close;
}
mes "[Mrs. McPhy]";
mes "Huh? You want to help us. Thank you, but no, thanks. We can't pay you.";
next;
mes "[Mrs. McPhy]";
mes "And I know for a fact that no one offers help for free anymore.";
next;
mes "[Mr. McPhy]";
mes "Wait, honey. You should think again. You and I are too afraid of the Buffalo Bandits to go out to the wasteland.";
next;
mes "[Mr. McPhy]";
mes "We have no one else to turn to, and I can't think of a better way than this. Let's take a chance on this adventurer.";
next;
mes "[Mrs. McPhy]";
mes "You're right, but... Sigh...";
emotion ET_THINK;
next;
mes "[Mrs. McPhy]";
mes "Mm, Adventurer, let me take back what I just said. Please help us.";
next;
mes "[Mrs. McPhy]";
mes "Spotty digs holes and buries things in them every day. If you find holes in the wasteland, please look inside them.";
next;
mes "[Mrs. McPhy]";
mes "My husband and I will look around the village, just in case. If you find something, please come back here.";
setquest 1321;// Spotty and Her Ring
next;
mes "[Mr. McPhy]";
mes "I picked up Spotty in the wasteland. Maybe that's why he loves spending time there so much. But he never ventures so far out that he can't make it home before it's mealtime. At least, not yet.";
next;
mes "[Mr. McPhy]";
mes "Go out to the wasteland, and you'll see the marks that I've left on your map. You don't have to search any places beyond them.";
next;
mes "[Mrs. McPhy]";
mes "Honey, you should at least follow the adventurer to the gates, so you could tell him where to look.";
setquest 1330;// Spotty's Holes
next;
mes "[Mr. McPhy]";
mes "S-should I? Uh, mm... Okay.";
close;
}
end;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW,
"BaseLevel > 99 && checkquest(1329,PLAYTIME) == -1 && !isbegin_quest(1321) && !isbegin_quest(1322) && !isbegin_quest(1323) && !isbegin_quest(1324) && !isbegin_quest(1325) && !isbegin_quest(1326) && !isbegin_quest(1327) && !isbegin_quest(1328)" );
questinfo( QTYPE_QUEST, QMARK_YELLOW, "BaseLevel > 99 && (isbegin_quest(1322) == 1 || isbegin_quest(1328) == 1)" );
questinfo( QTYPE_QUEST, QMARK_YELLOW, "BaseLevel > 99 && checkquest(1329,PLAYTIME) == 2" );
end;
}
rockrdg1,36,250,5 script Mr. McPhy#rkdlout 4W_M_02,{
if (isbegin_quest(1330) == 1) {
if (isbegin_quest(1321) == 1) {
mes "[Mr. McPhy]";
mes "My wife said Spotty went out the back door and ran straight past the barbed-wire fence.";
next;
mes "[Mr. McPhy]";
mes "But he couldn't have gone too far because he came back to me pretty quickly. Why don't you walk along the fence and look for holes with white hair floating around them?";
cloakoffnpcself( "#rkq1321" );
cloakoffnpcself( "#rkdqgd11" );
cloakoffnpcself( "#rkdqgd22" );
cloakoffnpcself( "#rkdqgd33" );
close;
}
if (isbegin_quest(1322) == 1 || isbegin_quest(1328) == 1) {
mes "[Mr. McPhy]";
mes "Did you find something? Then let's go back!";
cloakonnpcself( "Mr. McPhy#rkdlout" );
close;
}
mes "[Mr. McPhy]";
mes "My wife sent me here to give you directions, but I have no idea where he might have been.";
next;
mes "[Mr. McPhy]";
mes "Oh, right! Spotty has been shedding a lot lately. Maybe you should look for holes with white hair floating around them.";
cloakoffnpcself( "#rkq1321" );
cloakoffnpcself( "#rkq1323" );
cloakoffnpcself( "#rkq1324" );
cloakoffnpcself( "#rkq1325" );
cloakoffnpcself( "#rkq1326" );
cloakoffnpcself( "#rkq1327" );
cloakoffnpcself( "#rkdqgd11" );
cloakoffnpcself( "#rkdqgd22" );
cloakoffnpcself( "#rkdqgd33" );
next;
mes "[Mr. McPhy]";
mes "And he doesn't seem to venture out too far. It's probably because he's still young. I've marked three possible locations in the middle of your map. You don't have to look further than those locations.";
close;
}
if (isbegin_quest(1322) == 2) {
mes "[Mr. McPhy]";
mes "Ah, Adventurer. Shhh! Please keep your voice down: the Buffalo Bandits might hear us.";
next;
mes "[Mr. McPhy]";
mes "I've been coming here whenever I can, to catch Spotty before he takes more things out to the wasteland.";
next;
mes "[Mr. McPhy]";
mes "My wife says she'd throw him out, but she doesn't mean it. She never raises her hand no matter how angry she is with him either, and she always remembers to feed him vitamins and get him vaccinated.";
next;
mes "[Mr. McPhy]";
mes "She didn't say anything when I quit my job because I was too scared of the Buffalo Bandits. She's a good woman.";
close;
}
mes "[Mr. McPhy]";
mes "*Gasp* Buffalo Bandits!";
cloakonnpcself( "Mr. McPhy#rkdlout" );
close;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(1330) == 1 && isbegin_quest(1322) == 0" );
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(1330) == 1 && isbegin_quest(1322) == 2 && isbegin_quest(1328) == 0 && isbegin_quest(1329) == 0" );
end;
}
rockrdg1,170,233,3 script Hole#rkdqgd1 4_CRACK,{
setarray .@list[0],1321,1323,1324,1325,1326,1327;
.@size = getarraysize(.@list);
for ( .@i = 0; .@i < .@size; .@i++ ) {
if (isbegin_quest(.@list[.@i]))
break;
}
if (.@list[.@i] == 0) {
mes "- There's a hole in the ground.";
mes "It has a little bit of white hair scattered inside it. -";
close;
}
mes "- There's a hole in the ground.";
if (strnpcinfo(2) == "rkdqgd3")
mes "It only has wet soil inside it. -";
else
mes "It's empty. -";
next;
mes "- I don't have to search farther than this. -";
close;
}
rockrdg1,183,143,3 duplicate(Hole#rkdqgd1) Hole#rkdqgd2 4_CRACK
rockrdg1,215,72,3 duplicate(Hole#rkdqgd1) Hole#rkdqgd3 4_CRACK
rockrdg1,170,233,3 script #rkdqgd11 4_ENERGY_WHITE,{
end;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(1330) == 1" );
end;
}
rockrdg1,183,143,3 duplicate(#rkdqgd11) #rkdqgd22 4_ENERGY_WHITE
rockrdg1,215,72,3 duplicate(#rkdqgd11) #rkdqgd33 4_ENERGY_WHITE
rockrdg1,43,145,3 script Hole#rkq1321 4_CRACK,{
.@quest_id_npc = atoi( replacestr(strnpcinfo(2), "rkq", "") ) ;
setarray .@list[0],1321,1323,1324,1325,1326,1327;
.@size = getarraysize(.@list);
for ( .@i = 0; .@i < .@size; .@i++ ) {
if (isbegin_quest(.@list[.@i]))
break;
}
mes "- There's a hole in the ground.";
if (.@list[.@i] == 0) {
mes "It has a little bit of white hair scattered inside it. -";
close;
}
if (.@list[.@i] == .@quest_id_npc) {
if (.@list[.@i] == 1321) {
mes "It has something shining inside it,";
next;
mes "But it's not a gold ring.";
mes "I should take it with me for now. -";
completequest 1321;
setquest 1322;// Found Something
cloakonnpcself( "#rkq1321" );
cloakonnpcself( "#rkdqgd11" );
cloakonnpcself( "#rkdqgd22" );
cloakonnpcself( "#rkdqgd33" );
close;
}
mes "It has something inside it. -";
next;
mes "- This must be what Mr. McPhy is looking for. I should bring it to her. -";
erasequest .@list[.@i];
setquest 1328;// Found Missing Items
cloakonnpcself( "#rkq1321" );
cloakonnpcself( "#rkq1323" );
cloakonnpcself( "#rkq1324" );
cloakonnpcself( "#rkq1325" );
cloakonnpcself( "#rkq1326" );
cloakonnpcself( "#rkq1327" );
cloakonnpcself( "#rkdqgd11" );
cloakonnpcself( "#rkdqgd22" );
cloakonnpcself( "#rkdqgd33" );
close;
}
switch( .@list[.@i] ) {
case 1321:
mes "It only has a stone sticking out of the ground inside it. -";
close;
case 1323:
mes "It has a small animal bone inside it. -";
close;
case 1324:
mes "It has a tumbleweed rolling around inside it. -";
close;
case 1325:
mes "A small insect is scuttling around inside it. -";
close;
case 1326:
mes "It only has weeds growing inside it. -";
close;
case 1327:
mes "It's only filled with dust. -";
close;
}
}
rockrdg1,100,230,3 duplicate(Hole#rkq1321) Hole#rkq1323 4_CRACK
rockrdg1,58,195,3 duplicate(Hole#rkq1321) Hole#rkq1324 4_CRACK
rockrdg1,71,149,3 duplicate(Hole#rkq1321) Hole#rkq1325 4_CRACK
rockrdg1,109,60,3 duplicate(Hole#rkq1321) Hole#rkq1326 4_CRACK
rockrdg1,191,101,3 duplicate(Hole#rkq1321) Hole#rkq1327 4_CRACK
rockrdg1,43,145,3 duplicate(dummy_npc) #rkq1321 4_ENERGY_WHITE
rockrdg1,100,230,3 duplicate(dummy_npc) #rkq1323 4_ENERGY_WHITE
rockrdg1,58,195,3 duplicate(dummy_npc) #rkq1324 4_ENERGY_WHITE
rockrdg1,71,149,3 duplicate(dummy_npc) #rkq1325 4_ENERGY_WHITE
rockrdg1,109,60,3 duplicate(dummy_npc) #rkq1326 4_ENERGY_WHITE
rockrdg1,191,101,3 duplicate(dummy_npc) #rkq1327 4_ENERGY_WHITE
// Mr. McPhy quests
harboro1,345,61,3 script Spotty#rockdaily 4_DOG01,{
if (isbegin_quest(1329) == 1) {
mes "- He looks more like a coyote than a dog. -";
next;
mes "- He's asleep, covered in dirt as if he rolled around in it. I shouldn't wake him up. -";
close;
}
mes "- He looks more like a coyote than a dog. -";
next;
mes "- He's shedding a lot of hair. He must be leaving white hair all over the place wherever he goes. -";
close;
}
harboro1,344,61,5 script Mr. McPhy#rockdaily 4W_M_02,{
switch( isbegin_quest(1321) ) {
case 0:
mes "[Mr. McPhy]";
mes "Spotty, do you want a treat? Hmm?";
close;
case 1:
mes "[Mr. McPhy]";
mes "My wife and I decided to check the village separately, but I'm not sure if we'd be done before you're back.";
close;
case 2:
break;
}
if (isbegin_quest(1322) == 2 && isbegin_quest(1331) == 0 && isbegin_quest(1332) == 0) {
mes "[Mr. McPhy]";
mes "Adventurer, thank you for checking that dangerous area for my wife's gold ring.";
next;
mes "[Mr. McPhy]";
mes "I believe the universe has brought you to us as an act of Providence. Do you mind if I ask you one more favor?";
next;
if (select( "Listen to what he has to say.", "Decline." ) == 2) {
mes "[Mr. McPhy]";
mes "I can really repay you this time. Please let me know if you change your mind.";
close;
}
mes "[Mr. McPhy]";
mes "We keep a rifle in the house for self-defense purposes, and the other day I noticed Spotty trembled like a leaf when he saw it.";
next;
mes "[Mr. McPhy]";
mes "I'm glad I was too scared to have it loaded. Spotty wouldn't have come back home if he smelled gunpowder.";
next;
mes "[Mr. McPhy]";
mes "I think someone fired a gun near Spotty, but it didn't happen inside the village. We would've heard if it did.";
next;
mes "[Mr. McPhy]";
mes "I think it happened in the wasteland and that one of the Buffalo Bandits fired at our dog. Could you avenge Spotty on my behalf?";
next;
mes "[Mr. McPhy]";
mes "Since you brought back my wife's gold ring, I've been taking odd jobs to supplement our income. We can afford to repay you now.";
next;
if (select( "Help him.", "Decline." ) == 2) {
mes "[Mr. McPhy]";
mes "You're not afraid of the bandits, are you?";
mes "Okay, I understand if you can't help us.";
close;
}
mes "[Mr. McPhy]";
mes "Since there's no way of knowing exactly who scared Spotty, I'd like you to hunt 3 bandits of each kind: yellow, black, and white mane.";
next;
mes "[Mr. McPhy]";
mes "I'll be waiting.";
setquest 1331;
close;
}
if (isbegin_quest(1331) == 1) {
switch( checkquest(1331,HUNTING) ) {
case -1:
mes "[Mr. McPhy]";
mes "Spotty, are you alright? Don't be scared. Daddy's with you.";
close;
case 0:
case 1:
mes "[Mr. McPhy]";
mes "Those evil bandits, how could they shoot their guns near puppies?";
next;
mes "[Mr. McPhy]";
mes "Ah, Adventurer. Did you hunt ^FF00003 bandits of each kind: yellow, black, and white mane^000000?";
close;
case 2:
if (checkweight(1301,1) == 0) {
mes "[Mr. McPhy]";
mes "Ah, you must have forgotten about your payment. Please go ^FF0000make some room in your bag^000000 for it.";
close;
}
mes "[Mr. McPhy]";
mes "Did you take care of all the darned Buffalo Bandits?";
next;
mes "[Mr. McPhy]";
mes "But there are so many of them that this wouldn't even leave a dent on them. I want to take it further.";
next;
mes "[Mr. McPhy]";
mes "We should do this just once a day. They would know something is amiss if we get rid of too many of them at once. Please come back tomorrow after 4:00 a.m.";
next;
mes "[Mr. McPhy]";
mes "Oh, right?here's your payment I promised. Thank you.";
erasequest 1331;
setquest 1332;
getitem 25250,2;// Coin_Of_Rr
getexp 14499,13863;
close;
}
}
if (isbegin_quest(1332) == 1) {
switch( checkquest(1332,PLAYTIME) ) {
case -1:
mes "[Mr. McPhy]";
mes "Honey! Did Spotty take my watch?";
close;
case 0:
case 1:
mes "[Mr. McPhy]";
mes "Let me see what time it is... It's not past ^FF00004:00 a.m.^000000 yet. Could you come back later?";
close;
case 2:
mes "[Mr. McPhy]";
mes "Adventurer, I've been waiting for you! You came to avenge Spotty on the Buffalo Bandits, right?";
next;
mes "[Mr. McPhy]";
mes "As usual, please hunt ^FF00003 bandits of each kind: yellow, black, and white mane^000000.";
mes "I'll be counting on you!";
erasequest 1332;// Blood for Blood
setquest 1331;// Avenging Spotty
close;
}
}
mes "[Mr. McPhy]";
mes "Oh, poor Spotty. You're itching from losing so much hair. Do you want your daddy to brush you?";
close;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW,
"isbegin_quest(1322) == 2 && (checkquest(1332,PLAYTIME) == 2 || checkquest(1332,PLAYTIME) == -1 && (checkquest(1331,HUNTING) == -1 || checkquest(1331,HUNTING) == 2))" );
end;
}
// Misc NPCs
rockrdg1,330,104,3 script Curt Snake#rockc05 4_M_CACTUSMAN2,{
mes "[Curt Snake]";
mes "Coyotes have been attacking our villages often lately, so we've asked some adventurers to cull them.";
next;
mes "[Curt Snake]";
mes "It worries me that our children thinks hunting is just for fun.";
mes "We start to teach our young how to hunt early on,";
next;
mes "[Curt Snake]";
mes "and I understand they want to become as strong as those adventurers.";
mes "But we Cacti don't hunt for pleasure. Teaching that to our children is challenging while adventurers are around them constantly.";
close;
}
rockrdg1,299,82,3 script Tagliatelle#rockc07 4_DR_M_02,{
mes "[Tagliatelle]";
mes "I love traveling. I had fun traveling in Pa-sta, and I'm determined to spend the rest of my life traveling in Rune-Midgarts and other cities and villages that I can reach from the kingdom.";
next;
mes "[Tagliatelle]";
mes "I like being in new places and talking to the residents. I can learn many things from the way they live.";
next;
npctalk "*Gasp* Taneska, I told you not to beat it!", "", bc_self;
mes "[Taneska]";
mes "I love these new musical instruments!";
close;
}
rockrdg1,297,84,7 script Taneska#rockc08 4_CAT_MERMASTER,{
mes "[Taneska]";
mes "This instrument itself is a work of art.";
mes "Check out the exquisite finish around the drum skin, and the well-balanced, full-bodied sound from the barrel.";
next;
emotion ET_THROB;
mes "[Taneska]";
mes "Ah, I want to beat this drum! I'd love to hear its sound!";
next;
mes "[Tagliatelle]";
mes "*Gasp* Taneska, please don't touch it! You were warned once already!";
close;
}
rockrdg1,285,96,3 script Glaring Eagle#rockc01 4_M_CACTUSMAN3,{
mes "[Glaring Eagle]";
mes "The strangers lost the battle with the sea and relinquished their homes. I thought they'd leave, but they're as resilient as weeds; they built another village on top of their old homes.";
next;
mes "[Litis]";
mes "Mother Nature allows weeds to grow. She's allowing them to stay here.";
next;
npctalk "I'm too old now.", "", bc_self;
mes "[Glaring Eagle]";
mes "I know, Litis. I'm just being a stubborn old mule.";
mes "But still I can't help but think that everything's happening too fast.";
close;
}
rockrdg1,328,112,5 script Karintas#rockc04 4_F_CACTUSCHILD2,{
mes "[Karintas]";
mes "My mom is better at hunting coyotes than any adventurer. I can hunt them, too!";
next;
mes "[Curt Snake]";
mes "Karintas, has your mom ever hunted them for pleasure?";
next;
mes "[Karintas]";
mes "Mm, no. She hunts them only when we need their fur and meat.";
next;
mes "[Curt Snake]";
mes "Hurting nature should never be a game. These adventurers only hunt enough coyotes to keep us safe from them.";
next;
mes "[Curt Snake]";
mes "If you get old enough to understand that, your mother will teach you how to hunt.";
close;
}
rockrdg1,331,111,3 script Juanitas#rockc02 4_M_CACTUSCHILD,5,5,{
mes "[Juanitas]";
mes "I'm the best coyote-hunting adventurer! I'm going to hunt a hundred coyotes!";
next;
mes "[Agile Scorpion]";
mes "I-I'm Captain Adventurer! I'm going to hunt a hundred-hundred-hundred-hundred coyotes!";
next;
mes "[Curt Snake]";
mes "You rascals, I told you not to play adventurers?they're not playing!";
close;
OnTouch:
npctalk "I'm Captain Adventurer! I'm going to hunt a hundred coyotes!", "Karintas#rockc04", bc_self;
npctalk "Then I'm going to hunt a hundred-hundred-hundred coyotes!", "", bc_self;
npctalk "I'm a coyote-hunting adventurer!", "Swift Scorpion#rockc03", bc_self;
npctalk "You rascals, I told you not to play adventurer!", "Mrs. Cacturon#rrrem01", bc_self;
end;
}
rockrdg1,327,109,5 script Swift Scorpion#rockc03 4_F_CACTUSCHILD2,{
mes "[Agile Scorpion]";
mes "*Whine* But we want to hunt coyotes like them. Yap! Yap, yap! Hoi!";
next;
mes "[Karintas]";
mes "Maybe the grownups in our village should go out and hunt coyotes, too.";
next;
mes "[Curt Snake]";
mes "You knuckleheads, we don't want to hunt them.";
mes "We want to live with them peacefully in this Kiwawa Desert.";
next;
mes "[Curt Snake]";
mes "It's just not safe for us to have too many coyotes around. That's why we asked the adventurers for help.";
mes "But that doesn't mean we want to get rid of all of them.";
close;
}
rockrdg1,287,95,3 script Litis#rockc10 4_F_CACTUSLADY2,{
mes "[Litis]";
mes "I understand what Mr. Glaring Eagle means and why he's so worried.";
next;
mes "[Litis]";
mes "But the river today is not the same river it was yesterday. Things keep changing, and it's natural.";
close;
}
rockrdg1,297,111,3 script Roytanen#rockc10 4_F_RANGER,{
mes "[Roytanen]";
mes "*Gasp* I'm back in the Cactus village. Aww, I'm lost? again.";
next;
emotion ET_CRY;
mes "[Roytanen]";
mes "The Kiwawa Desert is vast and full of nothing but dirt and rocks. It's easy to get lost in it.";
next;
mes "[Roytanen]";
mes "Gosh, I'm really not up to yet another excursion... I hope I could get a glass of cool water before I leave.";
close;
}
harboro1,91,211,3 script #rockno01 HIDDEN_NPC,5,5,{
mes "[Central Road Sign]";
mes "Follow this road east to get to the inn, the sheriff's office, shops, and the plaza.";
next;
mes "[Central Road Sign]";
mes "This road also goes outside the village, to the Kiwawa Desert.";
close;
OnTouch:
npctalk "Central Road", "", bc_self;
end;
}
harboro1,299,211,3 script #rockno02 HIDDEN_NPC,5,5,{
mes "[Plaza Sign]";
mes "The Kafra services are available inside the Rock Ridge Plaza.";
next;
mes "[Plaza Sign]";
mes "The sheriff's office and shop buildings are west of this plaza. The inn and the port are farther west.";
close;
OnTouch:
npctalk "Rock Ridge Plaza", "", bc_self;
end;
}
harboro1,260,211,3 script #rockno03 HIDDEN_NPC,5,5,{
end;
OnTouch:
npctalk "Sheriff's Office", "", bc_self;
end;
}
harboro1,215,212,3 script #rockno04 HIDDEN_NPC,5,5,{
end;
OnTouch:
npctalk "West: The Inn, East: The Sheriff's Office", "", bc_self;
end;
}
harboro1,134,211,3 script #rockno05 HIDDEN_NPC,5,5,{
end;
OnTouch:
npctalk "East: The Inn", "", bc_self;
end;
}
harboro1,310,201,3 script #rockno06 HIDDEN_NPC,5,5,{
end;
OnTouch:
npctalk "Tool Shop, Weapon/Armor Shop", "", bc_self;
end;
}
harboro1,60,215,5 script Karam Pucci#harboro1 4_M_SEAMAN,{
mes "[Karam Pucci]";
mes "Do you want to go back to Alberta?";
next;
if (select( "Yes.", "No." ) == 2) {
mes "[Karam Pucci]";
mes "No problem. I don't mind staying here for a little longer.";
mes "In fact, my company would like that too.";
close;
}
mes "[Karam Pucci]";
mes "Then let's go!";
close2;
warp "alberta",172,131;
end;
}
harboro1,321,237,5 script Rubina Adler#rockn07 4_F_SITDOWN,{
emotion ET_DELIGHT;
mes "[Rubina Adler]";
mes "Mm, mm! Agave juice is the best thing I've tasted in Rock Ridge.";
next;
mes "[Rubina Adler]";
mes "I've heard it's a traditional drink of the Cacti. When I drink it, it feels as if it washes away all the dust clogging up my throat.";
next;
mes "[Rubina Adler]";
mes "Err, wait. It's not real agave juice. It says agave-flavored juice.";
next;
emotion ET_SWEAT;
mes "[Rubina Adler]";
mes "Ack, does it even have agave in it?";
close;
}
harboro1,75,211,1 script Zebedee#rockwn13 4_KID01,5,5,{
mes "[Zebedee]";
mes "Welcome to Rock Ridge!";
mes "I hope you'll find your opportunity in this land of dreams.";
close;
OnTouch:
specialeffect EF_SPHERE;
emotion ET_BIGTHROB;
npctalk "Welcome to Rock Ridge!", "", bc_self;
end;
}
harboro1,75,219,3 script Irene#rockwn14 4W_KID,5,5,{
mes "[Irene]";
mes "Welcome to Rock Ridge, adventurer!";
mes "I hope you'll enjoy exploring this wonderful place.";
close;
OnTouch:
specialeffect EF_SPHERE;
emotion ET_BIGTHROB;
npctalk "Welcome, adventurer!", "", bc_self;
end;
}
harboro1,79,224,5 script Miles Wiesner#rockwn12 4_M_SITDOWN,{
mes "[Miles Wiesner]";
mes "I'm waiting for my sister. She's supposed to be on the next ship.";
mes "I came here first and invited her over here.";
next;
mes "[Miles Wiesner]";
mes "She was worried sick when I decided to leave for this continent a year ago.";
mes "She'll be happy to see me doing well.";
next;
mes "[Miles Wiesner]";
mes "The land of opportunity, that's Rock Ridge.";
close;
}
harboro1,82,221,3 script Cheerful Leaf#rockwn16 4_F_CACTUSCHILD2,{
mes "[Cheerful Leaf]";
mes "My gramps is the best Cactus I know!";
mes "Sometimes he says things that I can't understand, but it's okay.";
next;
emotion ET_DELIGHT;
mes "[Cheerful Leaf]";
mes "I hope I can understand him better when I grow as tall as he.";
mes "I want to grow up quickly, so I could ask him to tell me the things he told me again.";
close;
OnTouch:
emotion ET_SMILE;
end;
}
harboro1,83,221,3 script Mahua Kaya#rockwn15 4_M_CACTUSCHIEF,{
mes "[Mahua Kaya]";
mes "Some Cacti don't like the pioneers, but, Leaf, remember they're also children of Mother Nature.";
next;
mes "[Cheerful Leaf]";
mes "Children? Are they as cute as Leaf?";
next;
mes "[Mahua Kaya]";
mes "Of course. Everyone even this old man is a child in the eyes of Mother Nature.";
next;
emotion ET_SMILE;
mes "[Cheerful Leaf]";
mes "Hah hah hah! That doesn't make sense. You're tall and have a mustache. Babies don't have mustaches.";
next;
mes "[Mahua Kaya]";
mes "I'm saying you should be nice to them like you are to your friends.";
mes "Do you understand me, Leaf?";
next;
mes "[Cheerful Leaf]";
mes "Yes. Leaf is a good Cactus and he loves his gramps.";
close;
}
harboro1,86,218,3 script Welch#rockwn01 4_M_ARCHER,5,5,{
mes "[Welch]";
mes "Have you just arrived? So have I, two days ago. The wind sounds different here. I love it!";
next;
mes "[Welch]";
mes "All the buildings smell like fresh paint, and I hear the sound of hammering everywhere I go. This village is alive!";
next;
emotion ET_SMILE;
mes "[Welch]";
mes "Just standing here makes me so happy that I can't stop laughing. Hah hah hah!";
close;
OnTouch:
emotion ET_DELIGHT;
end;
}
harboro1,88,217,3 script Edith Richie#rockwn02 4_F_KID2,{
emotion ET_PROFUSELY_SWEAT;
mes "[Edith Richie]";
mes "My dad works at the train station.";
mes "It's east? mm, wait. West is the left hand side, and...";
next;
mes "[Edith Richie]";
mes "Just look at your map and go straight up. You'll be at the train station.";
mes "My father is so strong, he can carry many boxes at once!";
close;
}
harboro1,86,210,4 script Carmen O'Neil#rockwn06 8_F,{
mes "[Carmen O'Neil]";
mes "*Hiccups* I can drink beer all day long!";
next;
mes "[Leland Wenkins]";
mes "Let's make money and - hee hee! - eat something delicious!";
next;
npctalk "Geez, they're drinking again.", "Mortimer#rockwn07", bc_self;
mes "[Drunk Doram]";
mes "I want more chicken, nya! And chicken is really easy on my stomach.";
close;
}
harboro1,85,208,7 script Leland Wenkins#rockwn03 4_M_TWTEAMAN,5,5,{
mes "[Leland Wenkins]";
mes "Cheers for our great village! Cheers!";
next;
mes "[Carmen O'Neil]";
mes "For the pioneering spirit! Cheers!";
next;
unittalk getcharid(3), "" + strcharinfo(0) + " : They're drunk.", bc_self;
mes "[Drunk Doram]";
mes "*Hiccups* Cheers! Nya-nya!";
close;
OnTouch_:
if (.talk == 0) {
.talk = 1;
npctalk "For Rock Ridge!";
sleep 3000;
npctalk "Cheers!", "Carmen O'Neil#rockwn06";
npctalk "Cheers, nya!", "Drunk Doram#rockwn11";
sleep 9000;
npctalk "Mwah hah hah! Beer is the best!";
sleep 1000;
npctalk "I especially like drinking it in the daytime!", "Carmen O'Neil#rockwn06";
sleep 1000;
npctalk "Chicken! *Hiccups* You got to eat chicken with it!", "Drunk Doram#rockwn11";
sleep 9000;
npctalk "Who are we?";
sleep 1000;
npctalk "We're the pioneers of Rock Ridge!", "Carmen O'Neil#rockwn06";
sleep 1000;
npctalk "We're brave! We're gallant!", "Drunk Doram#rockwn11";
sleep 3000;
npctalk "We're the pioneers of Rock Ridge!";
npctalk "We're the pioneers of Rock Ridge!", "Carmen O'Neil#rockwn06";
npctalk "Nya, nya, nya! Teehee, nya!", "Drunk Doram#rockwn11";
sleep 9000;
.talk = 0;
}
end;
}
harboro1,100,77,4 script Maybell#rockn02 8_F,{
mes "[Maybell]";
mes "Rock Ridge is a seaside village. In the beginning?well, even now it's battling with the sea.";
next;
mes "[Maybell]";
mes "Did you know there's one more level underneath this village? That was the original Rock Ridge, and it became uninhabitable because of seawater erosion and groundwater inundation.";
next;
mes "[Maybell]";
mes "Mayor Costell's solution was to bury the first level and build a new village on top of it. And now what used to be the first floor is the basement. The second floor is actually the first.";
next;
mes "[Maybell]";
mes "We still have to pump out water on a daily basis to prevent flooding, but that's just a minor setback?we took one step back to move two steps forward. Rock Ridge will continue to grow.";
close;
}
harboro1,229,64,3 script Rosemary Weber#rockn03 4_F_EINWOMAN,{
mes "[Rosemary Weber]";
mes "I'm tired of being surrounded by so much water! It's the reason we constantly have to repair the ground and buildings standing on it.";
mes "Did you know we had to bury what used to be the ground level of the village? That was a difficult decision to make, and it still didn't solve all our problems.";
next;
mes "[Rosemary Weber]";
mes "Most of the buildings were made of wood and prone to rotting. It took a lot of money and effort to fill them thoroughly, so our new ground level wouldn't sink in.";
next;
mes "[Rosemary Weber]";
emotion 54, getnpcid(0,"Rosemary Weber#rockn03");
mes "And the filling work still hasn't been finished. Sigh, I don't know if that was even a good decision anymore.";
close;
}
harboro1,87,207,1 script Drunk Doram#rockwn11 4_CAT_SAILOR5,{
mes "[Leland Wenkins]";
mes "We are the great pioneers of Rock Ridge! Hey, ho!";
next;
mes "[Carmen O'Neil]";
mes "We dig mines, build houses! No seawater or sandstorms can stop us!";
next;
npctalk "He's so loud.", "Edith Richie#rockwn02", bc_self;
mes "[Drunk Doram]";
mes "Nya! Nya-nya! Nya hah hah! Nya-nya!";
close;
}
harboro1,80,204,7 script Elsie#rockwn05 4W_KID,5,5,{
mes "[Elsie]";
mes "Whoa, so pretty!";
next;
emotion ET_QUESTION;
mes "[Elsie]";
mes "It's five million Zeny. How much money is that?";
next;
mes "[Mortimer]";
mes "Ah, that price is for adventurers only.";
mes "Pretty little ladies like you can have it at two hundred Zeny.";
next;
mes "[" + strcharinfo(0) + "]";
mes "I'm pretty and little, too.";
next;
emotion ET_SWEAT;
mes "[Mortimer]";
mes "...You're either delusional";
mes "or shameless.";
next;
emotion ET_FRET, playerattached();
mes "[" + strcharinfo(0) + "]";
mes "You're shameless!";
close;
OnTouch:
emotion ET_SURPRISE;
end;
}
harboro1,81,205,1 script Mortimer#rockwn07 4_M_ROGUE,5,5,{
mes "[Mortimer]";
mes "Souvenirs! I've got souvenirs!";
mes "Get souvenirs for your family, friends, teachers, and significant other!";
next;
mes "[Mortimer]";
mes "Ah, adventurer. Would you like to buy some souvenirs?";
next;
npctalk "They're so cheap, you're getting them almost for free. I'm actually losing money doing this!", "", bc_self;
mes "[Mortimer]";
mes "I'll give you a special discount. This feather accessory here is just two million Zeny. This handkerchief here is - oh, wow! - just five million!";
next;
emotion ET_HUK, playerattached();
mes "[" + strcharinfo(0) + "]";
mes "How exorbitant!";
close;
OnTouch:
npctalk "Souvenirs! I've got souvenirs!", "", bc_self;
end;
}
harboro1,73,206,5 script Walter Greenwald#rockwn 4_M_BARD,{
mes "[Walter Greenwald]";
mes "I assume you came all the way here from the mainland for a reason.";
mes "When you're done with it and not sure what else to do, well...";
next;
mes "[Walter Greenwald]";
mes "I recommend you follow the central road to the eastern gate of the village and move a little bit farther south.";
mes "It's in the 3 o'clock direction when you open the map.";
next;
mes "[Walter Greenwald]";
mes "There, you can meet people who offer jobs and meals.";
mes "And, of course, they're surrounded by others who want the jobs and meals.";
close;
}
harboro1,84,200,5 script Delbert Lake#rockwn04 4_M_EINMINER,{
mes "[Delbert Lake]";
mes "I'm not going back home until I become a millionaire!";
mes "I was so excited to come here that I got aboard the ship in full mining gear!";
next;
mes "[Delbert Lake]";
mes "There's a nice-looking rock! Alley-oop!";
mes "Come out, gold, silver, diamonds! You can't hide from Delbert!";
next;
emotion ET_FRET, getnpcid(0, "Constance#rockwn18");
mes "[Constance]";
mes "Hey, are you crazy?!";
mes "That's not a mineral vein, it's a decorative rock! Get that pickax away from it, now!";
close;
}
harboro1,85,195,1 script Constance#rockwn18 4_F_EINWOMAN,5,5,{
mes "[Constance]";
mes "Ah, are you an adventurer? Please, help me stop that madman!";
next;
mes "[Constance]";
mes "He got off a ship from the mainland in that heavy mining gear, and then one look at that rock, he turned into a pickax-swinging maniac.";
next;
emotion ET_ANGER;
mes "[Constance]";
mes "It's not a mineral vein but a decorative rock that we villagers moved together. I told him that, but he doesn't care!";
mes "He's in full mining gear, but he can't tell a normal rock from a mineral vein. How stupid is that?";
close;
OnTouch:
npctalk "Mwa hah hah, I'm going to mine everything!", "Delbert Lake#rockwn04", bc_self;
npctalk "Hey, stop swinging that pickax!", "", bc_self;
end;
}
harboro1,93,201,1 script Roland Burts#rockwn17 4_M_ILYA,{
mes "[Roland Burts]";
mes "Our village is protected by its own group of vigilantes.";
mes "They keep guard over it under Sheriff Warp's command.";
next;
emotion ET_KEK;
mes "[Roland Burts]";
mes "Our biggest threat is undoubtedly the Buffalo Bandits, but we also have problems with some wild animals.";
mes "And under the village, there's?*Shudder* let's not go there.";
close;
}
harboro1,98,211,3 script Loretta#rockwn08 4_F_ACOLYTE,5,5,{
emotion ET_THROB;
mes "[Loretta]";
mes "Welcome to the city of freedom, Rock Ridge. Odin is with you wherever you go!";
mes "Come to us if you want to hear the god's words.";
next;
mes "[Loretta]";
mes "We don't need a chapel. Odin doesn't come to buildings, he comes to our hearts.";
mes "Let's pray to him and show him our gratitude.";
next;
emotion ET_KEK, getnpcid(0, "Dolores#rockwn09");
npctalk "I wish I could have a glass of cool lemonade somewhere under a nice shade.", "Dolores#rockwn09", bc_self;
mes "[Dolores]";
mes "Sister Loretta, my legs hurt. *Whine*";
mes "He may not come to buildings, but I want to go sit in one.";
next;
mes "[Dolores]";
mes "Ah, that's it, Brother Maurice!";
next;
mes "[Loretta]";
mes "...Sigh. When the last ship of the day enters the dock, I'll buy you lemonade, limeade, whatever you want.";
mes "So for now, act like the god's servant that you are.";
next;
emotion ET_BIGTHROB, getnpcid(0, "Dolores#rockwn09");
emotion ET_BIGTHROB, getnpcid(0, "Maurice#rockwn10");
npctalk "We believe in him!", "Dolores#rockwn09", bc_self;
npctalk "We believe in him!", "Maurice#rockwn10", bc_self;
mes "[Maurice]";
mes "Lemonade! I mean, the god is with you!";
close;
OnTouch:
npctalk "Odin", "", bc_self;;
npctalk "Is", "Dolores#rockwn09", bc_self;
npctalk "With you.", "Maurice#rockwn10", bc_self;
end;
}
harboro1,100,211,3 script Dolores#rockwn09 1_F_PRIEST,{
mes "[Dolores]";
mes "I agree that our heart is our chapel.";
mes "But a god can come to cozy bedrooms and a nice-smelling kitchen. We don't have to stand all day in windy ports.";
next;
mes "[Loretta]";
mes "If someone else hears you, they'd think you weren't fed or allowed to sleep for days";
mes "when, in fact, you wake up later than the rest of us, every day.";
next;
emotion ET_PROFUSELY_SWEAT;
mes "[Dolores]";
mes "Wh-what can I do? The god visits me in my dreams.";
mes "I'm not trying to wake up late!";
close;
}
harboro1,101,210,3 script Maurice#rockwn10 1_M_PASTOR,{
mes "[Maurice]";
mes "As I get older, it's getting more difficult to stand outside all day, spreading his words.";
mes "But I'm as resolved to complete my mission as I was the first day I arrived here.";
next;
emotion ET_DELIGHT;
mes "[Maurice]";
mes "I'm not going to let my physical exhaustion get in the way.";
mes "I'll use every ounce of energy in me to spread his teachings to the people of this new land!";
close;
}
harboro1,94,237,3 script Cordell#rockn01 4_M_MAYOR,{
mes "[Cordell]";
mes "I feel happy just by looking at the train station. It's the symbol of our village, you know.";
next;
mes "[Cordell]";
mes "The mine was pretty far from the village, so transporting ores was a big problem in the beginning.";
next;
mes "[Cordell]";
mes "The actual development of Rock Ridge began after the train system was finally introduced.";
mes "Okay, that also aggravated the problem with the Buffalo Bandits, but there's always a dark side to everything.";
next;
emotion ET_BIGTHROB;
mes "[Cordell]";
mes "But we the people of Rock Ridge are not here to give in, we're here to conquer!";
close;
}
harboro1,74,259,3 script Eloise McCurdy#rockn14 4_F_GUNSLINGER,{
mes "[Eloise McCurdy]";
mes "I pride myself in protecting cargo here.";
mes "My job is to protect it against rain, wind, and of course thieves.";
next;
emotion ET_CRY;
mes "[Eloise McCurdy]";
mes "Recently though... Hmpf, my pride has been crushed by those damnable Buffalo Bandits.";
close;
}
harboro1,130,237,3 script Loading Dock Foreman#ro 4_M_05,{
mes "[Loading Dock Foreman]";
mes "The train brings ores from the mine, and brings supplies for the miners from this dock.";
next;
mes "[Loading Dock Foreman]";
mes "That's why this place is always busy. A delay here causes a delay everywhere else in Rock Ridge.";
next;
npctalk "I'd be motivated to work harder if you raise my salary.", "Jader#rockn11", bc_self;
npctalk "Hah, hah, hah! Father's power!", "Rosco Richie#rockn12", bc_self;
npctalk "How did I end up here?", "Portnias#rockn13", bc_self;
mes "[Loading Dock Foreman]";
mes "Stop whining like wimps. Be proud to be part of the team and work harder!";
close;
}
harboro1,126,236,7 script Jader#rockn11 4_M_SITDOWN,{
mes "[Jader]";
mes "Ah, I can't move. I'm aching all over.";
mes "It doesn't matter whether or not the train comes often. We're always busy.";
next;
mes "[Loading Dock Foreman]";
mes "Hmpf, you're not working hard enough. Tsk, tsk.";
mes "You should be happy you have a job while many others don't!";
next;
emotion ET_OHNO;
npctalk "I'm tired, and it's not just physical fatigue. *Mumble Mumble*", "", bc_self;
mes "[Jader]";
mes "*Gasp* H-how long have you been standing there? O-of course, I'm happy to have a job!";
mes "I-I love working at this loading dock. It's the best job I've ever had!";
close;
}
harboro1,128,233,7 script Rosco Richie#rockn12 4_M_NOV_HUNT,{
mes "[Rosco Richie]";
mes "Now that there are more people in the village, there are fewer jobs available. I'm glad I have a job that pays enough to feed my family.";
next;
npctalk "Edith! Daddy is working hard for you!", "", bc_self;
mes "[Rosco Richie]";
mes "Hah, hah! I can do this for my daughter!";
close;
}
harboro1,130,232,7 script Portnias#rockn13 4_CAT_SAILOR2,{
mes "[Portnias]";
mes "I came here because I heard I could become rich quickly, nya.";
mes "I got on a ship to Rock Ridge as soon as I got off the ship from Pa-sta.";
next;
mes "[Portnias]";
mes "Now, I don't care about money anymore. I just want to rest. Nya...";
mes "I've been moving cargo every day since I came here, and my back is killing me. *Mewl*";
next;
emotion ET_OTL;
mes "[Portnias]";
mes "At this rate, I'd spend all the Zeny I've earned on paying hospital bills. *Mewl*";
close;
}
harboro1,144,262,7 script Scrap Metal Collector#s1 4_M_CAVE1,{
mes "[Scrap Metal Collector]";
mes "I want to go home. We're never going to make a lot of money here.";
next;
mes "[Scrap Metal Collector]";
mes "No. We just have to stay strong until this is over. There'll be an opportunity for us afterward.";
next;
mes "[Scrap Metal Collector]";
mes "But this is too much to handle. I don't think I can do this anymore.";
next;
mes "[Scrap Metal Collector]";
mes "Come on, let's be patient for a little longer.";
next;
mes "[Scrap Metal Collector]";
mes "Sigh... I miss my mom.";
close;
}
harboro1,146,264,3 script Scrap Metal Collector#s2 4_M_HUBOY,{
mes "[Scrap Metal Collector]";
mes "Why isn't there any metal here? Some must have dropped when the train was attacked.";
next;
mes "[Scrap Metal Collector]";
mes "If there was, someone else has to have found it by now.";
next;
mes "[Scrap Metal Collector]";
mes "Sigh, then there's nothing here we could sell. Where should we go now?";
next;
mes "[Scrap Metal Collector]";
mes "Maybe we should go back to the mainland.";
next;
mes "[Scrap Metal Collector]";
mes "What? No! I don't want to be a liar! We told our family we'd be back with loads of money.";
close;
}
harboro1,182,241,5 script Stray Dog#srdg02 4_DOG01,{
emotion ET_SEXY;
npctalk "I hope they'd leave some food for me.", "", bc_self;
end;
}
harboro1,183,241,5 script Stray Dog#srdg01 4_DOG01,{
emotion ET_SEXY;
npctalk "I'd love to have a piece of that meat.", "", bc_self;
end;
}
harboro1,187,236,3 script Customer#srdg01 4_TOWER_04,{
mes "[Customer]";
mes "There aren't many people in this restaurant.";
next;
emotion ET_FRET, getnpcid(0, "Customer#srdg02");
mes "[Customer]";
mes "Who would want to eat such terrible food?";
next;
mes "[Customer]";
mes "Oh, do you know where the best eatery in this place is?";
next;
emotion ET_QUESTION, getnpcid(0, "Customer#srdg02");
mes "[Customer]";
mes "Where?";
next;
mes "[Customer]";
mes "The sheriff's office. Those in the underground jail are fed three times a day, and the food is so great that some people actually commit a misdemeanor for it.";
next;
mes "[Customer]";
mes "Does that make sense to you? I don't believe there's prison food worth committing a crime for.";
close;
}
harboro1,182,236,5 script Customer#srdg02 4_TOWER_02,{
mes "[Customer]";
mes "Why are they staring at us?";
next;
mes "[Customer]";
mes "They're begging.";
next;
emotion ET_SPARK, getnpcid(0, "Stray Dog#srdg01");
emotion ET_SPARK, getnpcid(0, "Stray Dog#srdg02");
mes "[Customer]";
mes "Ugh, their staring eyes are making me feel too uncomfortable to eat.";
close;
}
harboro1,231,251,4 script Merchant's Chest 4_TREASURE_BOX,{
npctalk "Exotic Merchant: Hudin's treasure chest! Don't touch it. Thank you!", "Exotic Merchant";
end;
}
harboro1,229,256,7 script Charlotte 4_DST_CAMEL,{
npctalk "*Shriek*";
sleep 1000;
npctalk "Exotic Merchant: What's wrong, Charlotte?", "Exotic Merchant";
end;
}
harboro1,192,262,7 duplicate(dummy_npc) Bulk Trader's Camel#1 4_DST_CAMEL
harboro1,197,262,7 duplicate(dummy_npc) Bulk Trader's Camel#2 4_DST_CAMEL
harboro1,210,262,7 duplicate(dummy_npc) Bulk Trader's Camel#7 4_DST_CAMEL
harboro1,216,262,7 duplicate(dummy_npc) Bulk Trader's Camel#8 4_DST_CAMEL
harboro1,223,261,1 duplicate(dummy_npc) Bulk Trader's Camel#9 4_DST_CAMEL
harboro1,225,257,6 duplicate(dummy_npc) Bulk Trader's Camel#10 4_DST_CAMEL
harboro1,227,263,1 duplicate(dummy_npc) Bulk Trader's Camel#11 4_DST_CAMEL
harboro1,229,258,6 duplicate(dummy_npc) Bulk Trader's Camel#12 4_DST_CAMEL
harboro1,234,259,3 duplicate(dummy_npc) Bulk Trader's Camel#13 4_DST_CAMEL
harboro1,236,252,6 duplicate(dummy_npc) Bulk Trader's Camel#14 4_DST_CAMEL
harboro1,237,256,3 duplicate(dummy_npc) Bulk Trader's Camel#15 4_DST_CAMEL
harboro1,238,258,3 duplicate(dummy_npc) Bulk Trader's Camel#16 4_DST_CAMEL
harboro1,226,255,3 script Bulk Trader's Camel#3 4_DST_CAMEL,{
mes "[Camel]";
mes "Ga-a-ah.";
close;
}
harboro1,227,260,3 script Bulk Trader's Camel#4 4_DST_CAMEL,{
mes "[Camel]";
mes "*Snort*";
close;
}
harboro1,227,260,3 duplicate(Bulk Trader's Camel#4) Bulk Trader's Camel#6 4_DST_CAMEL
harboro1,232,258,6 script Bulk Trader's Camel#5 4_DST_CAMEL,{
mes "[Camel]";
mes "Why do you keep poking at me?";
next;
mes "[Camel]";
mes "...Oops.";
mes "Forget you heard me.";
next;
mes "[Camel]";
mes "Ga-a-a-ah.";
close;
}
harboro1,210,219,5 script Priest#srdg01 4_M_MINISTER,{
setpcblock PCBLOCK_NPC, true;
npctalk "Are you anguished or sad? Let me help you.", "", bc_self;
sleep2 1500;
npctalk "Every one of us is born to be loved.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
harboro1,229,212,7 script Herman Farland#rockn19 4_M_TWTEAMAN,{
mes "[Herman Farland]";
mes "Ah, yes, this is the sheriff's office. Do you have to wait in line, you ask?";
next;
mes "[Herman Farland]";
mes "Mm, you're an adventurer, right? Then just move past that door and go straight ahead.";
next;
mes "[Herman Farland]";
mes "You're here to help the Sheriff, right? We're here to ask him for help, so I understand you have to see him before the rest of us.";
next;
npctalk "I understand. Aww, my legs!", "", bc_self;
mes "[Herman Farland]";
mes "Never mind me. I completely understand. Aww, I've been standing on my feet for so long, I can barely move my legs!";
close;
}
harboro1,231,212,7 script Edel Peppina#rockn16 4_F_CAPEGIRL,{
mes "[Edel Peppina]";
mes "The sheriff's office is understaffed. I've been waiting in line all day, and the line is as long as it was when I first arrived. I've been hearing strange noises from my basement, and I really need someone to come and check them.";
next;
mes "[Edel Peppina]";
mes "Our sheriff doesn't have legal authority, but still his office is the only place that we could turn to for this kind of thing.";
next;
mes "[Edel Peppina]";
mes "I hope things in the village will settle soon, starting with this line.";
close;
}
harboro1,233,215,3 script Wilfred Sagan#rockn15 4_M_SITDOWN,{
mes "[Wilfred Sagan]";
mes "The sheriff has been so busy dealing with the Buffalo Bandits that he doesn't have time for anything else. I've been here waiting for him for hours.";
close;
}
harboro1,168,216,3 script Hilliard#rockn09 4_TOWER_12,{
mes "[Hilliard]";
mes "Many people in the village are jobless, and all available jobs are given to adventurers.";
next;
npctalk "This is why it's important to be in the right place at the right time.", "", bc_self;
mes "[Hilliard]";
mes "The only thing that thrives because of this influx of adventurers is the inn.";
mes "Maybe I should've opened an inn myself.";
close;
}
harboro1,156,215,5 script Innkeeper#rockridge 1_ETC_01,{
mes "[Innkeeper]";
mes "Welcome to the Lazy Owl's Inn.";
next;
mes "[Innkeeper]";
mes "Looking for a place to stay? You came to the right place!";
mes "Would you like a room? It's 5,000 Zeny.";
next;
switch( select( "Save.", "Get a room at 5,000 Zeny.", "Quit." ) ) {
case 1:
mes "[Innkeeper]";
mes "Saved. Please come again.";
savepoint "harboro1",156,211,2,2;
close;
case 2:
if (Zeny < 5000) {
mes "[Innkeeper]";
mes "I'm sorry, but it's 5,000 Zeny to get a room.";
mes "If you don't have enough money, then I can't let you stay.";
close;
}
mes "[Innkeeper]";
mes "Enjoy your stay at the Lazy Owl's.";
close2;
Zeny = Zeny - 5000;
percentheal 100,100;
warp "harboro1",157,210;
end;
case 3:
mes "[Innkeeper]";
mes "Please come again.";
close;
}
}
harboro1,228,170,3 script Wanderer Doram#rkrgtwn 4_DR_STELO,{
mes "[Wanderer Doram]";
mes "Boohoo! Where the hell is the sheriff's office? My money! Moneeeyyy!";
next;
mes "[Wanderer Doram]";
mes "Everyone said Rock Ridge is the land of opportunity! Why didn't anyone tell me about the scary Buffalo Bandits?";
next;
mes "[Wanderer Doram]";
mes "*Hiccups* They robbed me clean. I don't even have enough money left to have a glass of Kahluna Milk.";
emotion ET_CRY;
close;
OnTouch:
npctalk "Wanderer Doram: Which way is east for the gods' sake?!", "", bc_self;
end;
}
harboro1,130,158,3 script Akuha#rockn19 4_M_CACTUSCHILD,5,5,{
mes "[Akuha]";
mes "Grandpa said we shouldn't follow strangers, or they'd pluck all our thorns. What if he was telling me the truth?";
next;
emotion ET_CRY;
mes "[Akuha]";
mes "Boohoo! Grandma! Boohoo!";
next;
mes "[Nahari]";
mes "Don't worry. Your thorns are so sharp, no one would dare touch them.";
mes "Do I still have the flower on my head?";
next;
mes "[Akuha]";
mes "*Sniffle* Yes, it's as pretty as the last time I checked.";
next;
mes "[Nahari]";
mes "Then we're all right. Let's just keep moving, and we'll meet Grandma soon.";
mes "Let's check over there.";
next;
emotion ET_KEK;
mes "[Akuha]";
mes "I can't lose all my thorns and have a smooth face. I'll be so ashamed that I'd want to bury myself in the ground.";
close;
OnTouch:
npctalk "Grandma... Grandma... Boohoo!", "", bc_self;
end;
}
harboro1,132,157,3 script Nahari#rockn19 4_F_CACTUSCHILD2,{
mes "[Nahari]";
mes "This place is amazing. Look at these big wooden houses.";
mes "There are trees growing on the sea, and they all look alike.";
next;
mes "[Akuha]";
mes "*Whine* Nahari, Grandma is not going to be happy with us.";
mes "Let's go back before she gets worried.";
next;
mes "[Nahari]";
mes "But we don't even know where we are.";
mes "Let's look around for a little longer. Look, there are a lot of strangers over there!";
next;
emotion ET_CRY, getnpcid(0, "Akuha#rockn19");
mes "[Akuha]";
mes "What if we can't go back home?";
close;
}
harboro1,99,127,7 script Kid#srdg01 4_KID01,{
npctalk "Hey, did you guys fight?", "", bc_self;
end;
}
harboro1,96,130,3 duplicate(dummy_npc) Thunder#srdg01 4_DONKEY
harboro1,104,130,5 duplicate(dummy_npc) Lightning#srdg01 4_DONKEY
harboro1,102,133,7 duplicate(dummy_npc) Speed Racer 2#srdg01 4_DONKEY
harboro1,104,132,5 duplicate(dummy_npc) Speed Racer 1#srdg01 4_DONKEY
harboro1,174,125,3 script Villager#srdg01 1_M_INNKEEPER,{
npctalk "It's pretty windy today. I'd better keep all the doors and windows closed.", "", bc_self;
end;
}
harboro1,184,123,5 script Traveler#srdg02_1 4_M_SIT_NOVICE,{
mes "[Traveler]";
mes "Maybe we should explore beyond the mine, and go deep as far as we can.";
next;
mes "[Traveler]";
mes "What if it's too dangerous? I said we should take a detour and go someplace else.";
next;
mes "[Traveler]";
mes "Or we could become the pathfinders of an unknown world!";
next;
mes "[Traveler]";
mes "No. The east side is overrun with the Buffalo Bandits. We should wait until the situation with them is resolved.";
next;
mes "[Traveler]";
mes "Those darn Buffalo Bandits!";
close;
}
harboro1,188,123,3 script Traveler#srdg02_2 4_M_SITDOWN,{
mes "[Traveler]";
mes "I've decided! I'm going to join the Vigilantes!";
next;
mes "[Traveler]";
mes "Are you sure they'll let you in?";
next;
mes "[Traveler]";
mes "I don't know, but I'm tired of twiddling my thumbs. This can't be the end of our journey!";
close;
}
harboro1,211,115,5 script Worker#srdg01 1_M_SIGNMONK2,{
mes "[Worker]";
mes "We haven't worked for days. Can you believe that?";
next;
mes "[Worker]";
mes "We can't work, and yet we're not allowed to leave. How unfair is that?";
next;
mes "[Worker]";
mes "If this doesn't get solved by tomorrow, then I'm leaving!";
close;
}
harboro1,213,117,3 script Worker#srdg02 1_M_JOBGUIDER,{
mes "[Worker]";
mes "It seems we wouldn't be working today, just like yesterday and the day before.";
next;
mes "[Worker]";
mes "I'd hate to go back home empty-handed again.";
next;
mes "[Worker]";
mes "Maybe I should deal with the Buffalo Bandits myself.";
close;
}
harboro1,211,113,7 script Foreman#srdg01 4_F_EDEN_OFFICER,{
mes "[Worker]";
mes "When can we start working again?";
next;
mes "[Worker]";
mes "How long do we have to wait around?";
next;
mes "[Foreman]";
mes "Ah, guys, please calm down.";
next;
mes "[Worker]";
mes "You calm down. We're losing money every hour just by sitting around.";
next;
mes "[Foreman]";
mes "We can't do anything until we get our supplies.";
next;
mes "[Worker]";
mes "And when would that be?";
next;
mes "[Foreman]";
mes "There's nothing we could do. The Buffalo Bandits stole our last shipment, and it won't be the last time they do it.";
next;
mes "[Worker]";
mes "I don't care. If I can't work tomorrow, then I'll walk out of here!";
close;
}
harboro1,214,115,3 script Worker#srdg03 1_M_HOF,{
mes "[Worker]";
mes "Does the sheriff even care about this situation?";
next;
mes "[Worker]";
mes "He'd better.";
next;
mes "[Worker]";
mes "Maybe I should join the Vigilantes.";
next;
mes "[Worker]";
mes "Forget it. I tried, and got flat out rejected.";
next;
mes "[Worker]";
mes "Sigh... How long do we have to wait?";
close;
}
harboro1,290,104,5 script Eznia#rockn04 4_DR_M_02,{
mes "[Eznia]";
mes "Did you know most buildings on the first level of Rock Ridge have a gigantic signboard in front of them?";
next;
mes "[Eznia]";
mes "It's an interesting phenomenon. I think the signboards are supposed to make the buildings look like they have two stories, at least on the front.";
next;
mes "[Eznia]";
mes "Actually, they used to be two stories before the basement was created. The owners must miss having two stories.";
close;
}
harboro1,273,259,4 script Alain Morlein#dy 4_M_YURI,{
emotion ET_FRET;
mes "[Alain Morlein]";
mes "Hey, why can't you give me a loan?";
next;
emotion ET_PROFUSELY_SWEAT, getnpcid(0, "Bank Clerk#dy");
emotion ET_SORRY, getnpcid(0, "Bank Clerk#dy");
mes "[Bank Clerk]";
mes "We're sorry, but we do not offer services to individual customers.";
next;
mes "[Alain Morlein]";
mes "Are you kidding me? I used your services yesterday. Look, don't you remember me?";
next;
mes "[Bank Clerk]";
mes "Let me see your ID. As you know, a lot of people here look alike.";
next;
mes "[Bank Clerk]";
mes "I'm responsible for all transaction errors caused by misidentification. Please, you have to understand me.";
next;
emotion ET_THINK;
mes "[Alain Morlein]";
mes "*Snort*";
next;
emotion ET_THANKS, getnpcid(0, "Bank Clerk#dy");
mes "[Bank Clerk]";
mes "Thank you for your understanding. Have a good day.";
close;
}
harboro1,270,252,6 script Bank Clerk#dy 4_M_MANAGER,{
emotion ET_BIGTHROB;
mes "[Bank Clerk]";
mes "Hello.";
mes "Welcome to GC Bank's Rock Ridge branch. How may I assist you today?";
next;
switch( select( "Check my bank account.", "Buy an investment product.", "What's GC Bank?", "I'm just stopping by." ) ) {
case 1:
mes "[Bank Clerk]";
mes "" + strcharinfo(0) + ", right?";
next;
mes "[Bank Clerk]";
mes "You don't have an account with us, but you do have an account under the name of" + strcharinfo(0) + ". Is there anything else I can do for you today?";
close2;
// todoUI bank
end;
case 2:
emotion ET_SORRY;
mes "[Bank Clerk]";
mes "We're sorry,";
mes "but our investment products are only for businesses.";
close;
case 3:
mes "[Bank Clerk]";
mes "Do you mean this bank?";
mes "Not many people know about it because it doesn't have many branches yet.";
next;
mes "[Bank Clerk]";
mes "And its main customers are companies and other businesses.";
next;
mes "[Bank Clerk]";
mes "Of course, we serve individual customers as well, but companies are what keep most banks in business.";
next;
mes "[Bank Clerk]";
mes "This is just a rumor, but the founder of GC Bank named his bank after what he loved the most: gold coins.";
next;
emotion ET_COOL;
mes "[Bank Clerk]";
mes "Can't you see the big beautiful gold coin on the roof of this building?";
close;
case 4:
mes "[Bank Clerk]";
mes "Hah hah, I see.";
mes "We're in a desert and I can't go into the building, but I hope you'll enjoy your stay.";
close;
}
}
harboro1,241,200,5 script Gunslinger Posh#rockn05 4_M_HUMERCHANT,{
mes "[Gunslinger Posh]";
mes "Are you looking for a good weapon? You know guns are the main weapons of this area, right?";
next;
npctalk "Some people, after selling guns for a while, started to think that they were also good at using one. I'm not one of them. I've always been good at it.", "", bc_self;
mes "[Gunslinger Posh]";
mes "Ah, the shop is closed. Sanders, the owner, went out to the desert, swinging a gun, to hunt the Buffalo Bandits himself. Then he fell and hurt his back.";
next;
mes "[Gunslinger Posh]";
mes "Don't worry. You can still buy a gun. Sanders Jr. has rented a corner of the tool shop, so he could sell a few guns there.";
next;
npctalk "You can get to the tool shop by following this road east.", "", bc_self;
mes "[Gunslinger Posh]";
mes "He doesn't carry as wide a selection of products as his father, but he has an assortment of well-chosen models.";
close;
}
harboro1,274,214,5 script White Twig#rockn19 4_F_CACTUSLADY3,5,5,{
mes "[White Twig]";
mes "Akuha! Nahari! Where have they gone?";
next;
mes "[White Twig]";
mes "Have you seen a couple of Cactus children, a boy and a girl?";
mes "I've brought them here to show them around the strangers' village, and I lost them in a crowd.";
next;
mes "[White Twig]";
mes "What should I do? Akuha! Nahari!";
mes "If you see them, please tell them their grandma is looking for them.";
close;
OnTouch:
npctalk "Akuha! Nahari! Oh gosh, where are they?", "", bc_self;
end;
}
harboro1,278,195,5 script Carola Firth#rockn17 4_F_CAPEGIRL,{
mes "[Carola Firth]";
mes "Did you hear that? The basement is haunted!";
next;
mes "[Carola Firth]";
mes "Word is that some worker couldn't get out in time before the basement was buried.";
mes "This place has so many people coming in and out of it, it's hard to keep track of every one of them.";
next;
npctalk "Boo!", "Lucas Richie#rockn08", bc_self;
mes "[Carola Firth]";
mes "Some workers went down to the basement for repair work and heard strange rustling noises.";
mes "When they found the source of noise? kyaaaahhh!";
next;
npctalk "Carola, you do things that scare most men, and yet you're scared of something that doesn't even exist.", "Lucas Richie#rockn08", bc_self;
npctalk "That's why I'm scared: I don't want to be haunted by the spirit of everyone I've wronged.", "", bc_self;
mes "[Carola Firth]";
mes "Lucas! Do you want me to kill you? Stop doing that!";
mes "Aww, I'm too scared to talk about this anymore.";
close;
}
harboro1,280,195,3 script Lucas Richie#rockn08 4_M_ROGUE,{
mes "[Lucas Richie]";
mes "The basement is haunted. You don't really believe that, do you?";
mes "I think there are treasures down there.";
next;
mes "[Lucas Richie]";
mes "And whoever spread that stupid rumor, he did it to keep others from finding out about the treasures.";
next;
npctalk "Whatever. I'm still not going in there!", "Carola Firth#rockn17", bc_self;
npctalk "*Chuckle* Who knew Carola of all people would be so scared of ghosts?", "", bc_self;
mes "[Lucas Richie]";
mes "Hm, I meant that as a joke, but maybe she really is scared.";
mes "What do you say, Carola? How'd you like to go down there with me?";
mes "Ah, adventurer. Let's keep this just between you and me, okay?";
close;
}
- shop bread_rockridge -1,580:150
harboro1,314,211,4 script Bakery Owner#dy 4_COOK,3,3,{
npctalk "Welcome!", "", bc_self;
callshop "bread_rockridge",1;
end;
OnTouch:
.@r = rand(1,10);
if (.@r == 3)
npctalk "I've baked this bread just this morning.", "", bc_self;
else if (.@r == 4)
npctalk "Bread! Buy bread freshly out of the oven!", "", bc_self;
else if (.@r == 5)
npctalk "I've got bread that's so delicious, it's to die for.", "", bc_self;
else if (.@r == 6)
npctalk "I've got the best bread under the sky! Buy my bread!", "", bc_self;
else if (.@r == 7)
npctalk "Bread! Bread, bread! BREAD!", "", bc_self;
else if (.@r == 8)
npctalk "Hey, how'd you like to buy some bread?", "", bc_self;
else if (.@r == 9)
npctalk "I sell bread, and nothing else.", "", bc_self;
end;
}
harboro1,282,201,3 script Rock Ridge Tiger#srdg01 4_CAT_REST,{
emotion ET_SLEEPY;
end;
}
harboro1,302,175,7 script Sammy#srdg01 4_DOG01,{
emotion ET_THROB;
npctalk "Woof, woof! Woof, woof!";
end;
}
harboro1,312,173,8 script Bounty Hunter#rockn18 8_F_GIRL,{
mes "[Bounty Hunter]";
mes "What am I looking at? Ah, those buffaloes. There's a large sum of money offered for their heads.";
next;
mes "[Bounty Hunter]";
mes "The Vigilantes and the Sheriff have had enough with them, now that they started robbing the train.";
next;
mes "[Bounty Hunter]";
mes "But thanks to them, I've got a lucrative job.";
close;
}
harboro1,301,175,7 script Shepherd#srdg01 4_F_JOB_BLACKSMITH,{
emotion ET_CRY;
mes "[Shepherd]";
mes "I'm sorry, guys. I should've never taken you here...";
next;
mes "[Shepherd]";
mes "I didn't know there was no grass here.";
next;
mes "[Shepherd]";
mes "Just hang in there. I'm growing some grass for you out there. If it grows well, you wouldn't have to be hungry anymore.";
close;
}
harboro1,303,179,3 duplicate(dummy_npc) Malnourished Sheep#srdg 4_LAM
harboro1,299,179,7 duplicate(dummy_npc) Frail Sheep#srdg01 4_LAM
harboro1,305,178,5 duplicate(dummy_npc) Coarse-haired Sheep#srd 4_LAM
harboro1,297,178,5 duplicate(dummy_npc) Dozing Sheep#srdg01 4_LAM
harboro1,311,53,5 script Joyce Leslie#rockn06 4_F_01,{
mes "[Joyce Leslie]";
mes "The houses closer to the beach have always been prone to sinking, long before the first level was buried.";
mes "This house sank little by little, until the ground couldn't hold its weight anymore.";
next;
mes "[Joyce Leslie]";
mes "What happened to its residents, you ask? You're an adventurer, why do you care?";
next;
emotion ET_OHNO;
mes "[Joyce Leslie]";
mes "I'm sorry, I didn't mean to get angry with you.";
mes "It's just that... things haven't been good.";
next;
mes "[Joyce Leslie]";
mes "But at least I have work to do and food to eat, thanks to some people.";
mes "Where do I get work and food? Head up to the eastern gate. You'll see the along the way.";
close;
}
harboro1,324,124,7 script Joe 4_MAL_CAPTAIN,{
if (BaseLevel < 100) {
mes "[Joe]";
mes "...";
next;
mes "[Joe]";
mes "You're too weak";
mes "to enter the basement.";
mes "Please leave.";
close;
}
mes "[Joe]";
mes "...";
next;
mes "[Joe]";
mes "Are you going to go in?";
next;
if (select( "Yes.", "No." ) == 2) {
mes "[Donovan]";
mes "...";
close;
}
mes "[Joe]";
mes "You'd better get out of there";
mes "as soon as you're done.";
close2;
warp "harboro2",281,104;
end;
}
harboro1,352,199,5 script Hungry Laborer#1 4W_M_03,5,5,{
end;
OnTouch:
if (isbegin_quest(12381) == 2)
end;
.@num = atoi(strnpcinfo(2));
if (.@num == 1)
npctalk "Hungry Laborer: Aww, I'm starving. Why isn't the line getting any shorter?";
else if (.@num == 5)
npctalk "Curious Person: What's this line for? Are you waiting to get event prizes?";
else if (.@num == 8)
npctalk "Hungry Laborer: This is ridiculous. I've been waiting in line for 3 hours to eat.";
else if (.@num == 11)
npctalk "Hungry Laborer: Soon it'll be my turn!";
else if (.@num == 13)
npctalk "Hungry Laborer: Hey, don't you see the line here? Get to the end of the line!";
end;
}
harboro1,352,187,5 duplicate(Hungry Laborer#1) Curious Person#5 4_M_LGTPOOR,5,5
harboro1,352,178,5 duplicate(Hungry Laborer#1) Hungry Laborer#8 4W_SAILOR,5,5
harboro1,352,169,5 duplicate(Hungry Laborer#1) Hungry Laborer#11 4_M_EINMAN,5,5
harboro1,355,164,5 duplicate(Hungry Laborer#1) Hungry Laborer#13 4W_SAILOR,5,5
harboro2,67,191,5 script Smell Maniac#srdg01 4_M_ALCHE_B,{
mes "[Smell Maniac]";
mes "*Sniff Sniff* Doesn't this place smell good to you? I love its salty, dank, musty smell! I could live here for the rest of my life!";
next;
mes "[Smell Maniac]";
mes "...If only there weren't so many bugs. I'm just going to bottle the smell and take it with me.";
close;
}
harboro2,57,239,3 script Unemployed Man#srdg01 4_M_03,{
mes "[Unemployed Man]";
mes "See those sea anemones? They keep clogging up the sewer pipes, so we get rid of them on a regular basis. I like sitting here and watching them move. And when I do, time goes by so quickly.";
next;
mes "[Unemployed Man]";
mes "At least during that time I could forget my reality, about the mine, not having jobs, you know, that sort of thing.";
next;
mes "[Unemployed Man]";
mes "I'm here because I have nowhere else to go, but I'll go back up once those who took up residence in the mine are gone.";
close;
}
harboro2,118,264,5 script Old Woman#srdg01 4_F_LGTGRAND,{
mes "[Old Woman]";
mes "This place hasn't changed at all.";
next;
mes "[Old Man]";
mes "Remember when we first came here?";
next;
mes "[Old Woman]";
mes "I do.";
next;
mes "[Old Man]";
mes "We built this house from scratch, on our own from the foundation stones to the roofing.";
next;
mes "[Old Woman]";
mes "Aww, it's getting chilly. Let's go back up.";
next;
mes "[Old Man]";
mes "My lovely Clementine... I proposed to her here.";
next;
mes "[Old Woman]";
mes "I'm here.";
next;
mes "[Old Man]";
mes "My Clementine is not so old!";
next;
mes "[Old Woman]";
mes "Grr, you senile coot!";
close;
}
harboro2,120,265,3 script Old Man#srdg01 4_M_DST_GRAND,{
mes "[Old Man]";
mes "Mm? Who's there? Is it you, Charlie?";
next;
mes "[Old Woman]";
mes "Charlie can't come here. He lives across the sea.";
next;
mes "[Old Man]";
mes "Does he? By the way, this place has changed a lot.";
next;
mes "[Old Woman]";
mes "No, it hasn't. It's just the same as when we left it.";
next;
mes "[Old Man]";
mes "Is it? I come here when I miss the old days, but it's too dark. By the way, why has it become so wet?";
next;
mes "[Old Woman]";
mes "It was flooded. That's why it had to be filled up and we had to move up. Have you gone senile? You were the one who insisted this place was too low to build houses on.";
next;
mes "[Old Man]";
mes "Was I?";
close;
}
harboro2,125,196,3 script Mom's Kid#srdg01 4_F_CHILD,{
mes "[Kid]";
mes "Mommy, when can we live above ground again?";
next;
mes "[Mom]";
mes "Soon. When Daddy can go work at the mine again. When Mommy and Daddy make enough money to buy back the house.";
next;
mes "[Kid]";
mes "I want to go home...";
close;
}
harboro2,123,195,5 script Kid's Mom#srdg01 1_M_INNKEEPER,{
mes "[Mom]";
mes "I haven't been able to feed my child well. I can't remember the last time he had a decent meal.";
next;
mes "[Kid]";
mes "Mommy, I'm okay.";
next;
mes "[Mom]";
mes "Let's wait for Daddy. He'll be back with food.";
close;
}
harboro2,142,155,7 script Buffalo Bandit#srdg01 4_M_COWRAIDERS1,{
mes "[Buffalo Bandit]";
mes "What, haven't you seen a Buffalo Bandit before?";
next;
mes "[Buffalo Bandit]";
mes "Don't give me that dirty look. We're not doing anything bad right now, now are we?";
next;
mes "[Buffalo Bandit]";
mes "You're on our turf. Don't cause trouble, and stay away from here.";
next;
mes "[Buffalo Bandit]";
mes "I'll let you come and go, if you promise me not to tell anyone above the ground about us. Promise?";
close;
}
harboro2,144,156,1 script Buffalo Bandit#srdg02 4_M_COWRAIDERS3,{
mes "[Buffalo Bandit]";
mes "Aside from the main gate, there are are a few more entrances that only we know, and we guard one of them.";
next;
mes "[Buffalo Bandit]";
mes "Why are you telling me this?";
next;
mes "[Buffalo Bandit]";
mes "So you'd be scared and want to stay away.";
close;
}
harboro2,258,117,3 script Dispatched Nun#srdg02 1_F_PRIEST,{
mes "[Dispatched Nun]";
mes "Can you believe some people actually live here? People above ground don't care about them. Officially, this place is vacant, even though it's not.";
next;
mes "[Dispatched Nun]";
mes "They don't want to know or care. You have to be in a pretty bad situation to end up here.";
close;
}
rockrdg1,310,48,3 script Erekter#rockc06 4_M_CACTUSCHILD,{
mes "[Erekter]";
mes "Erekter wants to become the best netter in the village when he grows up.";
next;
npctalk "Oh, wait.", "", bc_self;
emotion ET_THINK;
mes "[Erekter]";
mes "The best netter in the village is Mrs. Soft Feather.";
next;
emotion ET_DELIGHT;
mes "[Erekter]";
mes "Mm... Then I'll become the second-best netter in the village!";
close;
}
rockrdg1,308,49,5 script Soft Feather#rockc09 4_F_CACTUSLADY3,{
mes "[Soft Feather]";
mes "Ho ho ho, there's not a single fishing net in the village that hasn't been handled by me.";
mes "There are others who make good nets, but I'm the one who gives the nets their finishing touch.";
next;
mes "[Erekter]";
mes "I want to learn from you too! I want to become as good at netting as you!";
next;
mes "[Soft Feather]";
mes "Your hands are too soft right now. Go out and play. I'll teach you when your hands become tougher.";
next;
npctalk "Yay! I'm going to go tell my friends!", "Erekter#rockc06", bc_self;
mes "[Soft Feather]";
mes "Yes, I'll teach you how to net. For now, let me teach you how to make pretty knots with grass blades.";
close;
}
// GM npc
harboro1,1,1,3 script Manager#1 CLEAR_NPC,3,0,{
.@equip_id = getequipid(EQI_ARMOR);
if (.@equip_id == -1)
end;
if (.@equip_id != getiteminfo("Amesha_Spenta", ITEMINFO_ID)) {
mes "^0000ff[Carrying Limit Helper]^000000";
mes "^0000ffDo you want to delete all the equipment this character is wearing?^000000";
mes "^0000ffPPL Removal version.^000000";
next;
switch( select( "Quit.", "Delete all." ) ) {
case 1:
mes "Deletion aborted.";
close;
case 2:
mes "Some of the items cannot be deleted.";
close;
}
end;
}
.@i = callfunc("F_GM_NPC",1854,0);
if (.@i == -1) {
mes "The command has been cancelled.";
close;
}
else if (.@i != 0) {
setarray .@quest_id[0],
12381,
12389,
12403,
12382,
12383,
12384,
12385,
12386,
12387,
12388,
12390,
12391,
12392,
12393,
12394,
12395,
12396,
12398,
12399,
12400,
12401,
12402,
12404,
12405,
12406,
12407,
12408,
12409;
.@size = getarraysize(.@quest_id);
for ( .@i = 0; .@i < .@size; ++.@i ) {
if (isbegin_quest(.@quest_id[.@i]) > 0)
erasequest .@quest_id[.@i];
}
mes "Reset completed.";
close;
}
end;
}