
- Attempts to save player progress when quest npcs are talked too. This is Untested. - Talking to any quest related NPC will remove all out-dated quest vars. * Fixed incorrect sprite ID used in some Niflheim quest npcs. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13878 54d463be-8e91-2dee-dedb-b68131a5f0ec
548 lines
14 KiB
Plaintext
548 lines
14 KiB
Plaintext
//===== eAthena Script =======================================
|
|
//= Alberta Town
|
|
//===== By: ==================================================
|
|
//= DZeroX
|
|
//===== Current Version: =====================================
|
|
//= 1.4
|
|
//===== Compatible With: =====================================
|
|
//= eAthena 1.0
|
|
//===== Description: =========================================
|
|
//= Town-specific Alberta NPCs
|
|
//===== Additional Comments: =================================
|
|
//= 1.0 Converted from Aegis 10.4 [DZeroX]
|
|
//= 1.1 Optimized, missing next, REMOVED .GATs! again [Lupus]
|
|
//= 1.2 Implemented progression fixes provided by $ephiroth. [L0ne_W0lf]
|
|
//= 1.2b More pregression clean up provided by Barron-Monster. [L0ne_W0lf]
|
|
//= 1.3 Removed npc "Tourist#al" as it's a quest NPC. [L0ne_W0lf]
|
|
//= 1.4 Removed "Fastidious Old Man" duplicate. [L0ne_W0lf]
|
|
//============================================================
|
|
|
|
alberta,97,51,0 script Fabian 84,{
|
|
mes "[Fabian]";
|
|
mes "Man... When you travel all around";
|
|
mes "the world, you'll hear of some";
|
|
mes "crazy things.";
|
|
next;
|
|
mes "[Fabian]";
|
|
mes "Once, I heard that there are Cards";
|
|
mes "which contain the power of";
|
|
mes "monsters. If someone happens to get";
|
|
mes "their hands on a card, they'll be";
|
|
mes "able to use that monster's power.";
|
|
next;
|
|
mes "[Fabian]";
|
|
mes "I'm guessing it's some sort of fad";
|
|
mes "or scam, where they make you";
|
|
mes "collect all the cards or whatever.";
|
|
mes "I mean, how can a card really hold";
|
|
mes "the power of a monster?!";
|
|
next;
|
|
mes "[Fabian]";
|
|
mes "Seriously...";
|
|
close;
|
|
}
|
|
|
|
alberta,53,39,0 script Steiner 100,{
|
|
mes "[Steiner]";
|
|
mes "Oh...!";
|
|
mes "Welcome to Alberta,";
|
|
mes "young adventurer!";
|
|
next;
|
|
mes "[Steiner]";
|
|
mes "Pardon me if I seem distracted.";
|
|
mes "I'm milling about, trying to";
|
|
mes "make a plan.";
|
|
mes" You see, I hear that there is";
|
|
mes "a store in Geffen that sells";
|
|
mes "armour that is resistant to magic.";
|
|
next;
|
|
mes "[Steiner]";
|
|
mes "If I buy a lot of them in bulk,";
|
|
mes "and then resell them here for a";
|
|
mes "higher price...";
|
|
close;
|
|
}
|
|
|
|
alberta,20,183,0 script Chad 49,{
|
|
mes "[Chad]";
|
|
mes "People say the legendary weapon";
|
|
mes "Gungnir never misses its target. I";
|
|
mes "wonder if it's possibly true...";
|
|
next;
|
|
mes "[Chad]";
|
|
mes "People also say that babies are";
|
|
mes "assembled by the storks before";
|
|
mes "delivery, girls dig guys who act";
|
|
mes "like jerks, and that Santa Claus";
|
|
mes "exists! But only in Lutie.";
|
|
next;
|
|
mes "[Chad]";
|
|
mes "I wonder...";
|
|
mes "If any of that";
|
|
mes "is possibly";
|
|
mes "true...";
|
|
close;
|
|
}
|
|
|
|
alberta,189,151,5 script Fisk 100,{
|
|
mes "[Fisk]";
|
|
mes "Ahoy mate,";
|
|
mes "where'd ya";
|
|
mes "wanna go?";
|
|
next;
|
|
switch(select("Sunken Ship -> 250 zeny.","Izlude Marina -> 500 zeny.","Never mind.")) {
|
|
case 1:
|
|
if (Zeny < 250) {
|
|
mes "[Fisk]";
|
|
mes "Hey now, don't try to cheat me!";
|
|
mes "I said 250 zeny!";
|
|
close;
|
|
}
|
|
set Zeny,Zeny - 250;
|
|
warp "alb2trea",43,53;
|
|
end;
|
|
case 2:
|
|
if (Zeny < 500) {
|
|
mes "[Fisk]";
|
|
mes "Ain't no way yer getting there";
|
|
mes "without the 500 zeny first!";
|
|
close;
|
|
}
|
|
set Zeny,Zeny - 500;
|
|
warp "izlude",176,182;
|
|
end;
|
|
case 3:
|
|
mes "[Fisk]";
|
|
mes "Alright...";
|
|
mes "Landlubber.";
|
|
close;
|
|
}
|
|
}
|
|
|
|
alb2trea,39,50,6 script Fisk#a2t 100,{
|
|
mes "[Fisk]";
|
|
mes "So you wanna head back to the";
|
|
mes "mainland in Alberta, eh?";
|
|
next;
|
|
if(select("Yes please.","I changed my mind.")==1)
|
|
warp "alberta",192,169;
|
|
close;
|
|
}
|
|
|
|
alberta,131,139,2 script Drunken Old Man 54,{
|
|
mes "[Deagle]";
|
|
mes "*^CCCCCCHiccup^000000*";
|
|
mes "Wh-what are you";
|
|
mes "staring at? Get lost!!";
|
|
next;
|
|
switch(select("Say nothing.","Leave him alone.")) {
|
|
case 1:
|
|
mes "[Deagle]";
|
|
mes "Hahahahaha *^CCCCCChiccup^000000*... You've got";
|
|
mes "some nerve. I may look worthless";
|
|
mes "now, but I used to be a sailor on";
|
|
mes "the 'Going Mary.'";
|
|
next;
|
|
switch(select("Never heard of it.","Really? No kidding!")) {
|
|
case 1:
|
|
mes "[Deagle]";
|
|
mes "Never heard of it?! Everybody knows";
|
|
mes "th'notorious pirate ship 'Going";
|
|
mes "Mary!' *^CCCCCCHiccup~^000000*";
|
|
next;
|
|
mes "[Deagle]";
|
|
mes "Ah~ The ol'days. If only... if only";
|
|
mes "we hadn't run into that";
|
|
mes "STORM... *^CCCCCChiccup^000000*";
|
|
next;
|
|
mes "[Deagle]";
|
|
mes "AH~ Captain. I miss our cap'n more";
|
|
mes "than anything... No foe survived";
|
|
mes "before cap'n's sword.";
|
|
close;
|
|
case 2:
|
|
mes "[Deagle]";
|
|
mes "That's right! NOBODY meshes with";
|
|
mes "the crew of the 'Going Mary!' And";
|
|
mes "nobody can beat our cap'n in a";
|
|
mes "sword fight!";
|
|
next;
|
|
mes "[Deagle]";
|
|
mes "CAPTAIN~!!! *^CCCCCCHICCUP~^000000* He would";
|
|
mes "swing his sword like this, then";
|
|
mes "THEN!!";
|
|
next;
|
|
mes "[Deagle]";
|
|
mes "The bastard the captain was";
|
|
mes "fighting, and anyone of his friends";
|
|
mes "near him, were surrounded in";
|
|
mes "flame!";
|
|
next;
|
|
mes "[Deagle]";
|
|
mes "Man, that sword must have had some";
|
|
mes "sort of mysterious power, or the";
|
|
mes "captain was just that good...!";
|
|
next;
|
|
mes "[Deagle]";
|
|
mes "Phew~~ *^CCCCCCSob^000000* *^CCCCCCSob...^000000* God, I miss";
|
|
mes "everyone! Now I'm depressed!";
|
|
mes "Please, go away now.";
|
|
close;
|
|
}
|
|
case 2:
|
|
mes "[Deagle]";
|
|
mes "That's right!";
|
|
mes "Go AWAY~";
|
|
close;
|
|
}
|
|
}
|
|
|
|
alberta,58,80,2 script Shakir 99,{
|
|
mes "[Shakir]";
|
|
if (rand(2)) {
|
|
mes "We Merchants have our own";
|
|
mes "negotiating skill when we sell";
|
|
mes "goods. This skill can get us more";
|
|
mes "money than when other people sell";
|
|
mes "goods.";
|
|
next;
|
|
mes "[Shakir]";
|
|
mes "It's more than just yelling 'You'll";
|
|
mes "have to give more money please!'";
|
|
mes "You need to have charisma, and";
|
|
mes "master rhetoric!";
|
|
next;
|
|
mes "[Shakir]";
|
|
mes "We can get up to 24% more zeny";
|
|
mes "with this incredible skill. But";
|
|
mes "remember to train hard to acquire";
|
|
mes "it!";
|
|
} else {
|
|
mes "We Merchants can";
|
|
mes "open roadside stands";
|
|
mes "to do business.";
|
|
next;
|
|
mes "[Shakir]";
|
|
mes "With the Discount skill, we can buy";
|
|
mes "goods really cheap from the stores";
|
|
mes "in towns and load them into the";
|
|
mes "cart we rent.";
|
|
next;
|
|
mes "[Shakir]";
|
|
mes "Then afterwards, we can travel";
|
|
mes "anywhere, and sell our goods to";
|
|
mes "make a profit!";
|
|
next;
|
|
mes "[Shakir]";
|
|
mes "This way, business is more";
|
|
mes "convenient and safe. Don't fall";
|
|
mes "asleep, although it's too easy to";
|
|
mes "do that.";
|
|
}
|
|
close;
|
|
}
|
|
|
|
alberta,62,156,2 script Sonya 102,{
|
|
mes "[Sonya]";
|
|
switch(rand(3)){
|
|
case 0:
|
|
mes "You know those lazy looking bears";
|
|
mes "that live in the forest on the way";
|
|
mes "to Payon?";
|
|
next;
|
|
mes "[Sonya]";
|
|
mes "Just for fun, I threw a rock at it";
|
|
mes "and all of a sudden it rushed at me!";
|
|
mes "I was soooooo scared, I started to";
|
|
mes "run away, then BAM!!!";
|
|
next;
|
|
mes "[Sonya]";
|
|
mes "It ran into a low tree branch and";
|
|
mes "knocked itself out! I swear, I'll";
|
|
mes "never provoke an animal for fun";
|
|
mes "again!";
|
|
close;
|
|
case 1:
|
|
mes "Hey, you know, this one time I was";
|
|
mes "walking through the forest and I";
|
|
mes "saw this little green stem moving";
|
|
mes "around.";
|
|
next;
|
|
mes "[Sonya]";
|
|
mes "I went to see what it was and when";
|
|
mes "I went to touch it, the stem";
|
|
mes "actually slapped my hand!";
|
|
next;
|
|
mes "[Sonya]";
|
|
mes "It startled me, so I jumped back a";
|
|
mes "bit and then I realised it wasn't a";
|
|
mes "stem, but a very small animal.";
|
|
next;
|
|
mes "[Sonya]";
|
|
mes "I was lucky I didn't upset it. Even";
|
|
mes "the smallest animal can be";
|
|
mes "dangerous if angered.";
|
|
close;
|
|
case 2:
|
|
mes "I once saw a pack of wolves take on";
|
|
mes "one of those huge, lazy bears!";
|
|
next;
|
|
mes "[Sonya]";
|
|
mes "Wolves are much more cooperative";
|
|
mes "than they may seem. If one of them";
|
|
mes "is attacked, then any nearby wolves";
|
|
mes "will run to help.";
|
|
next;
|
|
mes "[Sonya]";
|
|
mes "I'd think twice if you ever want to";
|
|
mes "fight one when others of its kind";
|
|
mes "are around. Be careful: don't get";
|
|
mes "ganged up on!";
|
|
close;
|
|
}
|
|
}
|
|
|
|
alberta,93,174,2 script Grandmother Alma 103,{
|
|
mes "[Grandmother Alma]";
|
|
mes "Some time ago,";
|
|
mes "a derelict ship";
|
|
mes "drifted into";
|
|
mes "Alberta harbour.";
|
|
next;
|
|
mes "[Grandmother Alma]";
|
|
mes "Hoping to save any survivors, some";
|
|
mes "of the townspeople ventured into";
|
|
mes "the ship. However, they all ran out";
|
|
mes "terrified, saying that corpses were";
|
|
mes "walking around inside the ship.";
|
|
next;
|
|
mes "[Grandmother Alma]";
|
|
mes "The ship was also packed with";
|
|
mes "dangerous marine organisms, and";
|
|
mes "they couldn't get inside, even if";
|
|
mes "they wanted to.";
|
|
next;
|
|
mes "[Grandmother Alma]";
|
|
mes "We couldn't do anything about that";
|
|
mes "ominous looking ship, and just left";
|
|
mes "it as it was. Nowadays, exploration";
|
|
mes "teams try to enter that ship and";
|
|
mes "wipe out its monsters.";
|
|
next;
|
|
mes "[Grandmother Alma]";
|
|
mes "So it might be a good experience";
|
|
mes "for a young person like yourself to";
|
|
mes "be a recruit. But, it's still not";
|
|
mes "worth risking your life if you're";
|
|
mes "not strong enough.";
|
|
close;
|
|
}
|
|
|
|
alberta,195,151,2 script Paul 86,{
|
|
mes "[Paul]";
|
|
mes "Good day~";
|
|
mes "Would you like";
|
|
mes "to join the";
|
|
mes "exploration team";
|
|
mes "of the Sunken Ship?";
|
|
next;
|
|
mes "[Paul]";
|
|
mes "Oh! Before you join, I must warn";
|
|
mes "you. If you're not that strong, you";
|
|
mes "may not want to go.";
|
|
next;
|
|
mes "[Paul]";
|
|
mes "So, want";
|
|
mes "to sign up?";
|
|
mes "The admission";
|
|
mes "fee is only";
|
|
mes "200 Zeny.";
|
|
next;
|
|
switch(select("Sign me up!","Uh, no thanks.")) {
|
|
case 1:
|
|
if (Zeny < 200) {
|
|
mes "[Paul]";
|
|
mes "It seems you don't have the money,";
|
|
mes "my friend. But please come back";
|
|
mes "when you're able to pay.";
|
|
close;
|
|
} else {
|
|
set Zeny,Zeny - 200;
|
|
warp "alb2trea",62,69;
|
|
close;
|
|
}
|
|
case 2:
|
|
mes "[Paul]";
|
|
mes "Alright, well...";
|
|
mes "I'll be around";
|
|
mes "if you change";
|
|
mes "your mind.";
|
|
close;
|
|
}
|
|
}
|
|
|
|
alberta,190,173,4 script Phelix 85,{
|
|
set .@weight,MaxWeight-Weight;
|
|
mes "[Phelix]";
|
|
if ((.@weight) < 10000) {
|
|
mes "Wait a moment!!";
|
|
mes "You have brought too many things!";
|
|
mes "You cannot accept any more items!";
|
|
mes "Please reduce the amount of items,";
|
|
mes "then come see me again.";
|
|
close;
|
|
}
|
|
if (@event_zelopy == 0) {
|
|
mes "The hell are you doing here?";
|
|
mes "There is nothing you can get for";
|
|
mes "free on this ship, if you want";
|
|
mes "somethin', work for it!!";
|
|
next;
|
|
mes "[Phelix]";
|
|
mes "Hmm, so why don't you bring me";
|
|
mes "10 jellopies and I will give 1";
|
|
mes "potion. How's that sound?";
|
|
mes "Or if that's too hard for your";
|
|
mes "pansy ass, 3 jellopies for 1";
|
|
mes "Carrot.";
|
|
next;
|
|
mes "[Phelix]";
|
|
mes "If you're interested in my offer,";
|
|
mes "get me the stuff I mentioned.";
|
|
set @event_zelopy,1;
|
|
close;
|
|
} else {
|
|
mes "Hmm... you want to exchange";
|
|
mes "jellopies for Red Potions or some";
|
|
mes "Carrots eh? Well... which one?";
|
|
next;
|
|
switch(select("Red Potions please.","Carrots please.")) {
|
|
case 1:
|
|
mes "[Phelix]";
|
|
mes "Alright...";
|
|
mes "Let's see";
|
|
mes "what'cha got...";
|
|
next;
|
|
mes "[Phelix]";
|
|
if (countitem(909) < 10) {
|
|
mes "Hey! Weren't you listening? I said";
|
|
mes "10 jellopies for 1 Red Potion.. are";
|
|
mes "ya deaf?";
|
|
close;
|
|
} else {
|
|
set .@max,countitem(909)/10;
|
|
mes "Hmm, not bad...";
|
|
mes "How many potions";
|
|
mes "do you want to get?";
|
|
next;
|
|
switch(select("As many as I can, please.","I want this many.","Never mind, I like my jellopy.")) {
|
|
case 1:
|
|
delitem 909,.@max*10;
|
|
getitem 501,.@max;
|
|
mes "[Phelix]";
|
|
mes "There you go! As I promised. Don't";
|
|
mes "go suckin' them all down at once.";
|
|
close;
|
|
case 2:
|
|
mes "[Phelix]";
|
|
mes "I'm not giving you more than 100";
|
|
mes "at a time so don't bother, OK? If";
|
|
mes "you don't want any, just say '0'.";
|
|
mes "Right now, the most you can get is";
|
|
mes ""+.@max+" but remember, 100 at most,";
|
|
mes "you want to break my back?";
|
|
input .@amount;
|
|
next;
|
|
mes "[Phelix]";
|
|
if (.@amount <= 0) {
|
|
mes "Much obliged, come again anytime.";
|
|
close;
|
|
}
|
|
if (.@amount > 100) {
|
|
mes "Hey, what'd I say? 100 at a time at";
|
|
mes "most, you're trying to kill me";
|
|
mes "aren't you!";
|
|
close;
|
|
}
|
|
if (countitem(909) < .@amount*10) {
|
|
mes "Hmmm, it looks like you don't have";
|
|
mes "enough. Go get more jellopies if";
|
|
mes "you want anything else from me.";
|
|
close;
|
|
}
|
|
delitem 909,.@amount*10;
|
|
getitem 501,.@amount;
|
|
mes "[Phelix]";
|
|
mes "There you go! As I promised. Don't";
|
|
mes "go suckin' them all down at once.";
|
|
close;
|
|
case 3:
|
|
mes "[Phelix]";
|
|
mes "No problem,";
|
|
mes "see you next time.";
|
|
close;
|
|
}
|
|
}
|
|
case 2:
|
|
mes "[Phelix]";
|
|
mes "Alright, let's see what ya got...";
|
|
next;
|
|
mes "[Phelix]";
|
|
if (countitem(909) < 3) {
|
|
mes "Hmm, look pansy ass, I said 3";
|
|
mes "jellopies for 1 Carrot.. got it?";
|
|
close;
|
|
} else {
|
|
set .@max,countitem(909)/3;
|
|
mes "Not too bad pansy...";
|
|
mes "How many do you want?";
|
|
next;
|
|
switch(select("As many as I can get, please","I want this many.","Never mind, I like my jellopy.")) {
|
|
case 1:
|
|
delitem 909,.@max*3;
|
|
getitem 515,.@max;
|
|
mes "[Phelix]";
|
|
mes "There you go~! As I promised. Try";
|
|
mes "not to stuff yer face.";
|
|
close;
|
|
case 2:
|
|
mes "[Phelix]";
|
|
mes "Right I'm not giving you more than";
|
|
mes "100 at a time so don't bother,";
|
|
mes "okay? If you don't want any, just";
|
|
mes "say '0'.";
|
|
input .@amount;
|
|
next;
|
|
mes "[Phelix]";
|
|
if (.@amount == 0) {
|
|
mes "Alright then, see you next time.";
|
|
close;
|
|
}
|
|
if (.@amount > 100) {
|
|
mes "Hey pansy ass, I said 100 at most,";
|
|
mes "no more than that! I'm not going to";
|
|
mes "break my back for the likes of you!";
|
|
close;
|
|
}
|
|
if (countitem(909) < .@amount*10) {
|
|
mes "Seems you don't have enough. Go get";
|
|
mes "some more if you want anything";
|
|
mes "else.";
|
|
close;
|
|
}
|
|
delitem 909,.@amount*3;
|
|
getitem 515,.@amount;
|
|
mes "[Phelix]";
|
|
mes "There you go~! As I promised. Try";
|
|
mes "not to stuff yer face.";
|
|
close;
|
|
case 3:
|
|
mes "[Phelix]";
|
|
mes "Catch'ya later.";
|
|
close;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|