summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorPhilipp Sehmisch <tmw@crushnet.org>2007-08-07 19:41:56 +0000
committerPhilipp Sehmisch <tmw@crushnet.org>2007-08-07 19:41:56 +0000
commit8b26f55af13b0e9e00d44809911fb6f811349ea8 (patch)
tree9f9cea7591644d56175e706d099a6807dba1ca3d /npc
parent7e9642b522f9776d705e7c66b9a79a3756d111f2 (diff)
downloadserverdata-8b26f55af13b0e9e00d44809911fb6f811349ea8.tar.gz
serverdata-8b26f55af13b0e9e00d44809911fb6f811349ea8.tar.bz2
serverdata-8b26f55af13b0e9e00d44809911fb6f811349ea8.tar.xz
serverdata-8b26f55af13b0e9e00d44809911fb6f811349ea8.zip
Scripts and config updates for woodland village update.
Diffstat (limited to 'npc')
-rw-r--r--npc/woodland-village/forestbowquest.txt191
-rw-r--r--npc/woodland-village/monsters.txt2
-rw-r--r--npc/woodland-village/passages.txt35
-rw-r--r--npc/woodland-village/scythequest.txt64
-rw-r--r--npc/woodland-village/shops.txt76
-rw-r--r--npc/woodland-village/villagers.txt89
6 files changed, 457 insertions, 0 deletions
diff --git a/npc/woodland-village/forestbowquest.txt b/npc/woodland-village/forestbowquest.txt
new file mode 100644
index 00000000..679084df
--- /dev/null
+++ b/npc/woodland-village/forestbowquest.txt
@@ -0,0 +1,191 @@
+//#################################################################################
+//# #
+//# This script file contains the npc scripts for the quest to obtain a forestbow #
+//# #
+//# Needed: 10 Raw Logs, 5000gp, some chatting and running. #
+//# #
+//# Reward: Forest Bow #
+//#################################################################################
+
+// Archer Shop Master
+new_20-1.gat,99,23,0 script Master 125, {
+ if (QUEST_Forestbow_state == 1) goto L_State_1;
+ if (QUEST_Forestbow_state == 2) goto L_State_2;
+ if (QUEST_Forestbow_state == 3) goto L_State_3;
+ if (QUEST_Forestbow_state == 4) goto L_State_4;
+ if (QUEST_Forestbow_state == 5) goto L_State_5;
+
+ mes "[Bowyer Master]";
+ mes "When you want to buy something then please speak to my apprentice. I am only doing special requests.";
+ next;
+ menu "OK, thanks",-,"Can you make me a really good bow?", L_State_0_1;
+ close;
+
+ L_State_0_1:
+ mes "[Bowyer Master]";
+ mes "You mean like one of my legendary forest bows?";
+ next;
+ menu "Yes, that would be nice.",-;
+ mes "Sorry, I am not making these anymore.";
+ next;
+ menu "Oh, too bad.",-,"What? Why that?", L_State_0_2;
+ close;
+ L_State_0_2:
+ mes "[Bowyer Master]";
+ mes "The problem is that I am short of material. My forestbows are not made of regular wood, you know.";
+ mes "They are made of special living wood. And only the best logs of living wood are good enough for them.";
+ mes "I used to get these logs from Jack, the lumberjack. But the last time I asked him for a new delivery he said that he would never again get any for me.";
+ set QUEST_Forestbow_state, 1;
+ next;
+ menu "Too bad.",-,"Did you ask him why?", L_State_0_3;
+ close;
+ L_State_0_3:
+ mes "[Bowyer Master]";
+ mes "Sure I did. But he just told me to leave him alone. Maybe you could ask him what's wrong?";
+ next;
+ menu "OK, I'll ask him.",-,"I am sure he got his reasons.",-;
+ close;
+
+
+ L_State_1:
+ mes "[Bowyer Master]";
+ mes "Did you already ask Jack why he won't deliver me any more living wood?";
+ next;
+ menu "No, I didn't found the time yet",-,"No, I didn't found him yet.",L_State_1_1;
+ close;
+ L_State_1_1:
+ mes "[Bowyer Master]";
+ mes "When you leave my shop just go southwest over the village plaza. You can't miss it.";
+ close;
+
+ L_State_2:
+ mes "[Bowyer Master]";
+ mes "Did you already ask Jack why he won't deliver me any more wood?";
+ next;
+ menu "Yes, I did. He said that the trees turned into dangerous monsters.",-;
+ mes "[Bowyer Master]";
+ mes "Oh, that's really bad news. Maybe you can do his job?";
+ mes "When you kill some of these tree monsters and bring me their wood I can take a look at them.";
+ mes "Maybe you will find a piece of wood that is strong enough to become one of my forest bows.";
+ set QUEST_Forestbow_state, 3;
+ close;
+
+ L_State_3:
+ mes "[Bowyer Master]";
+ mes "How is the hunt going? Did you bring me any wood?";
+ if (countitem(569) < 1) close;
+ next;
+ menu "Here, take a look!",L_State_3_try, "Yes, but I need it for something else.",-;
+ close;
+ L_State_3_try:
+ mes "[Bowyer Master]";
+ mes "Hmmm... looks ok, but is it strong enough?";
+ mes "*bends the log over his knee*";
+ next;
+ delitem 569, 1;
+ set @Temp1,rand(20);
+ if (@Temp1 == 0) goto L_State_3_success;
+ mes "(The log breaks with a loud crack)";
+ next;
+ mes "[Bowyer Master]";
+ mes "Sorry, this log was too weak for one of my forest bows. Now it is junk. Give me another.";
+ if (countitem(569) < 1) close;
+ next;
+ menu "Sure, here you go.",L_State_3_try, "Hey! Stop breaking my stuff!",-;
+ close;
+
+ L_State_3_success:
+ mes "(The bowyer master tries as hard as he can but the log won't bend.)";
+ next;
+ mes "[Bowyer Master]";
+ mes "Aaah! Yes! That is a really fine piece of wood you bought me. It will make an excelent bow!";
+ next;
+ set QUEST_Forestbow_state, 4;
+
+ L_State_4:
+ mes "I can make you a really nice forest bow out of this. I just need 10.000 gp for material and work time.";
+ next;
+ menu "10.000??? What a ripoff!",-,"Sure, here you go!", L_State_4_pay;
+ close;
+ L_State_4_pay:
+ if (zeny < 10000) goto L_State_4_nocash;
+ set zeny, zeny-10000;
+ getitem 545, 1;
+ set QUEST_Forestbow_state, 5;
+ mes "Here you go - have fun with it.";
+ close;
+ L_State_4_nocash:
+ mes "Seems like you are out of cash.";
+ close;
+ L_State_5:
+ mes "I hope you are statisfied with your forest bow. It is one of my best works.";
+
+}
+
+
+// Lumberjack
+new_19-1.gat,40,45,0 script Jack 141, {
+
+ if (QUEST_Forestbow_state > 1) goto L_State_2;
+
+ mes "[Jack Lumber]";
+ mes "Hello there, my name is Jack Lumber, the enemy of all trees. When you need some firewood just let me know.";
+ if (QUEST_Forestbow_state < 1) close;
+
+ next;
+ menu "I heard you aren't delivering any more living wood. Why that?",-;
+
+ mes "[Jack Lumber]";
+ mes "Why not?! I value my life, that's why!.";
+
+ next;
+ menu "What do you mean?",-;
+
+ mes "[Jack Lumber]";
+ mes "A week ago I was going to chop down one of those twigleaf trees in the forest to the southwest. These twigleafs are the trees that give me the living wood you speak of. I was just chopping away with my axe and what happened? One of its branches hit me! I thought it fell down or the wind blew it. It hurt! I shook it off and struck it again with my axe and another branch hit me! I got angry and started to chop off all the branches near the ground so this couldn't happen anymore. But I still can't believe what happened next.";
+
+ next;
+ menu "What happened? ",-;
+
+ mes "[Jack Lumber]";
+ mes "You'll think I am insane when I tell you.";
+
+ next;
+ menu "I won't. I promise.",-;
+
+ mes "[Jack Lumber]";
+ mes "OK. After I chopped off a few branches the whole tree started to move. Its roots tore out of the earth, all the branches started to wave around and a face appeared on the trunk. The whole tree CAME TO LIFE! It was mad!";
+ next;
+ menu "Did you run away?",-,"Did you fight it?",-;
+
+ mes "[Jack Lumber]";
+ mes "I fought, of course! I took my axe and attacked the beast! It hit me here *points at a bruise at his shoulder*, here *lifts his trouser leg to show another bruise* and here *lifts his shirt and reveals some even worse bruises*. But i didn't give up. I chopped away at it, branch after branch, and in the end I chopped off its roots and it fell to the ground motionless. ";
+
+ next;
+ menu "So you beat the monster? Then why are you so scared?";
+
+ mes "[Jack Lumber]";
+ mes "Well, I was exhausted and had to rest. A few minutes passed and suddenly I was surrounded by a dozen or more of these living trees!";
+
+ next;
+ menu "Did you fight them, too? ",-;
+
+ mes "[Jack Lumber]";
+ mes "Are you crazy? I barely destroyed one of those beasts. I was in no shape to fight again. I ran away as fast as i could. Lucky for me the monsters aren't that fast on their tiny root legs. Ha! ";
+
+ next;
+ menu "So you aren't chopping down trees anymore? ",-;
+
+ mes "[Jack Lumber]";
+ mes "I still do. It's my job. But I no longer chop those twigleafs, I'll tell you that. I know the bowyer master wants some wood from them, but I don't care. I won't risk my life for a few gold pieces. If you want to, just go to the southwest. But i won't go there ever again.";
+
+ next;
+ menu "Southwest you say? OK, thank you.",-;
+
+ set QUEST_Forestbow_state, 2;
+ close;
+
+ L_State_2:
+ mes "Good luck hunting those tree monsters - you will need it.";
+ close;
+} \ No newline at end of file
diff --git a/npc/woodland-village/monsters.txt b/npc/woodland-village/monsters.txt
new file mode 100644
index 00000000..cc2fac69
--- /dev/null
+++ b/npc/woodland-village/monsters.txt
@@ -0,0 +1,2 @@
+new_18-1.gat,0,0,0,0 monster Violet 1018,20,0,0,0
+new_18-1.gat,0,0,0,0 monster Shroom 1019,20,0,0,0 \ No newline at end of file
diff --git a/npc/woodland-village/passages.txt b/npc/woodland-village/passages.txt
index f2060c71..0eddcdeb 100644
--- a/npc/woodland-village/passages.txt
+++ b/npc/woodland-village/passages.txt
@@ -23,3 +23,38 @@ new_16-1.gat,122,21 warp warp2 1,1,new_18-1.gat,132,98
new_9-1.gat,124,61 warp warp1 1,3,new_18-1.gat,27,61
new_18-1.gat,25,61 warp warp2 1,3,new_9-1.gat,122,61
+
+// indoor <-> outdoor and indoor <-> indoor
+
+// Inn
+new_19-1.gat,35,29 warp out-in 1,1,new_20-1.gat,50,55
+new_20-1.gat,50,56 warp in-out 1,1,new_19-1.gat,35,31
+new_20-1.gat,73,45 warp in-1f 2,1,new_20-1.gat,74,23
+new_20-1.gat,74,24 warp 1f-in 2,1,new_20-1.gat,73,46
+
+// Archer Shop
+new_19-1.gat,59,33 warp out-in 0,0,new_20-1.gat,95,29
+new_20-1.gat,95,31 warp in-out 0,0,new_19-1.gat,59,34
+
+// Potion Shop
+new_19-1.gat,71,30 warp out-in 0,0,new_20-1.gat,130,25
+new_20-1.gat,130,27 warp in-out 0,0,new_19-1.gat,71,31
+
+// Doctor
+new_19-1.gat,80,31 warp out-in 0,0,new_20-1.gat,149,66
+new_20-1.gat,149,68 warp in-out 0,0,new_19-1.gat,80,32
+new_20-1.gat,154,62 warp in-1f 1,0,new_20-1.gat,154,46
+new_20-1.gat,154,47 warp 1f-in 1,0,new_20-1.gat,154,63
+new_20-1.gat,143,43 warp 1f-2f 1,0,new_20-1.gat,143,24
+new_20-1.gat,143,26 warp 2f-1f 1,0,new_20-1.gat,143,44
+
+// Blacksmith
+new_19-1.gat,91,46 warp out-in 0,0,new_20-1.gat,181,66
+new_20-1.gat,181,68 warp in-out 1,0,new_19-1.gat,91,47
+
+// Mayor
+new_19-1.gat,72,44 warp out-in 0,0,new_20-1.gat,113,77
+new_20-1.gat,113,79 warp in-out 1,0,new_19-1.gat,72,45
+new_20-1.gat,113,68 warp in-1f 1,0,new_20-1.gat,113,46
+new_20-1.gat,113,47 warp 1f-in 1,0,new_20-1.gat,113,69
+
diff --git a/npc/woodland-village/scythequest.txt b/npc/woodland-village/scythequest.txt
new file mode 100644
index 00000000..cc950cd2
--- /dev/null
+++ b/npc/woodland-village/scythequest.txt
@@ -0,0 +1,64 @@
+//#################################################################################
+//# #
+//# this script file contains the npc scripts for the quest to obtain a scythe. #
+//# #
+//# Needed: 10 Pink Antenna #
+//# #
+//# Reward: Scythe #
+//# #
+//#################################################################################
+
+//Farmer
+
+new_18-1.gat,101,30,0 script Farmer 125, {
+ if (QUEST_Scythe_state == 1) goto L_Exchange;
+ if (QUEST_Scythe_state == 2) goto L_ThanksAgain;
+ mes "[Farmer Hinnak]";
+ mes "Argh! I hate them! I @#$% hate them! I @#$% hate these @#$% pinkies!";
+ next;
+
+ menu "You need some anger control therapy.",-,"Why do you hate them?", L_Reason;
+ close;
+ L_Reason:
+ mes "These @#$% beasts are jumping around in my fields destroying all my harvest.";
+ mes "But they are too fast. I can't catch them.";
+ next;
+
+ menu "Want me to help you?",L_Help,"Well, life ain't fair.",-;
+ close;
+ L_Help:
+ mes "Yes, you look quite fast. Maybe you can catch some of them. That will pay them a lesson.";
+ mes "Slay some of them and bring me 10 of their antennae.";
+ set QUEST_Scythe_state, 1;
+ next;
+
+ menu "Sure, I'm on my way",-,"How much is this worth to you?", L_Reward;
+ close;
+ L_Reward:
+ mes "Well, I can't offer you much. But I got an old scythe laying around. Maybe you can use it as a weapon.";
+ close;
+
+ L_Exchange:
+ mes "Have you got the 10 antennae?";
+ next;
+
+ if (countitem(614) < 10) goto L_Exchange_Notenough;
+
+ menu "Not yet, but I am working on it.",-,"Sure, here they are!",L_Exchange_Exchange;
+ close;
+
+ L_Exchange_Exchange:
+ delitem 614,10;
+ getitem 623,1;
+ set QUEST_Scythe_state, 2;
+ mes "Thank you very much. I've got something for you. My old scythe. Maybe you can use it as a weapon. It is a bit cumbersome but its strikes are deadly.";
+ close;
+
+ L_Exchange_Notenough:
+ menu "Not yet, but I am working on it.",-;
+ close;
+
+ L_ThanksAgain:
+ mes "Thanks again for helping me with the pinkies.";
+ close;
+} \ No newline at end of file
diff --git a/npc/woodland-village/shops.txt b/npc/woodland-village/shops.txt
new file mode 100644
index 00000000..a3b8117c
--- /dev/null
+++ b/npc/woodland-village/shops.txt
@@ -0,0 +1,76 @@
+//#################################################################################
+//# #
+//# This script file contains all shops and other NPCs with important functions. #
+//# #
+//#################################################################################
+//Bartender
+// sells beer and cake
+new_20-1.gat,65,49,0 shop Barkeeper 112,539:175,513:20,519
+
+//Receptionist
+// Offers the player to rest at the inn for 100gp
+new_20-1.gat,50,48,0 script Receptionist 108,{
+ if (zeny < 100) goto L_NoMoney;
+ mes "[Receptionist]";
+ mes "Would you like to rest? It's only 100 gp.";
+ next;
+
+ menu "Yes",-,"No",L_No;
+ mes "Sleep well!";
+ next;
+
+ set zeny,zeny-100;
+ heal 10000,10000;
+ close;
+
+ L_No:
+ mes "See you.";
+ close;
+
+ L_NoMoney:
+ mes "Would you like to rest? Come back if you have at least 100 gp.";
+ close;
+}
+
+//Archer Shop
+// sells bow, short bow, arrows and iron arrows
+new_20-1.gat,97,24,0 shop Apprentice 120,1199:3,529:5,1200:1000,530:3000
+
+//Potion Shop
+// sells cactus drink, cactus potion, iron potion and concentration potion
+new_20-1.gat,121,26,0 shop Witch 103,501:50,502:70,567:500,568:500
+
+//Nurse
+// heals player below level 10 for free and tells players about the doctor on the 2nd floor.
+new_20-1.gat,147,65,0 script Nurse 119,{
+
+ mes "[Nurse]";
+ mes "Can I help you?";
+ next;
+
+ menu "Oooh, these wounds! They hurts so much!",L_Heal,"I don't feel so well, I might be sick.",L_Doctor,"No, I'm fine.",-;
+ mes "Then I would ask you to leave. There are people who really need our help.";
+ close;
+
+ L_Doctor:
+ mes "Then you should better see the doctor. He is usually in his office on the 2nd floor.";
+ close;
+
+ L_Heal:
+ if (baselevel > 10) goto L_NoHeal;
+ mes "Here, let me heal you.";
+ next;
+ heal 10000,10000;
+ close;
+
+ L_NoHeal:
+ mes "I'm sorry but I'm here only to help young people.";
+ mes "Your level is already higher than 10.";
+ mes "You can get some rest in the inn near here.";
+ close;
+}
+
+
+//Blacksmith
+// Sells all knives, chainmail armor, light platemail
+new_20-1.gat,183,57,0 shop Blacksmith 135,625:20000,626:50000,1201:25,522:100,521:1000; \ No newline at end of file
diff --git a/npc/woodland-village/villagers.txt b/npc/woodland-village/villagers.txt
new file mode 100644
index 00000000..044877a9
--- /dev/null
+++ b/npc/woodland-village/villagers.txt
@@ -0,0 +1,89 @@
+//#################################################################################
+//# #
+//# This script file contains NPCs with less vital functions that are mainly for #
+//# ambient purpose. #
+//# #
+//#################################################################################
+// Girl sitting on bench
+new_19-1.gat,89,27,0 script Sabine 106,{
+ mes "[Sabine]";
+ mes "Isn't this place pretty? I love hanging out here!";
+ close;
+}
+
+// Waitress
+new_20-1.gat,60,52,0 script Melinda 140,{
+ if (zeny < 180) goto L_NoMoney;
+ mes "[Melinda]";
+ mes "Hi sweety! Want a fresh beer for 170gp?";
+ next;
+
+ menu "Sure! [don't tip]",-,"Sure! [tip 5gp]",L_5Tip,"Sure! [tip 10gp]",L_10Tip,"Nah, maybe later.",L_No;
+ mes "Pff... nickel nurser!";
+ next;
+ set zeny,zeny-170;
+ getitem 539,1;
+ close;
+
+ L_5Tip:
+ mes "Here you go, sweethearth!";
+ next;
+ set zeny,zeny-175;
+ getitem 539,1;
+ close;
+
+ L_10Tip:
+ mes "Thank you, sweety! Want me to tell you something?";
+ next;
+ set zeny,zeny-180;
+ getitem 539,1;
+ menu "What's it, darling?",-,"Nah, I don't feel like chatting.",L_No;
+ mes "The bowmaking master in this village used to construct exceptional bows. When you want one you should go and ask him.";
+ close;
+ L_No:
+ mes "Just call me when you've changed your mind.";
+ close;
+
+ L_NoMoney:
+ mes "You look broke. Don't think that you can dine and dash here!";
+ close;
+}
+
+// Doctor
+new_20-1.gat,148,25,0 script Doctor 107,{
+ mes "[Doctor]";
+ mes "Hello, can I help you?";
+ next;
+ menu "I think I am sick!",L_Cure,"No, I feel fine.",-;
+ mes "Then please stop wasting my precious time.";
+ close;
+ L_Cure:
+ mes "That is impossible. Status ailments aren't ingame yet!";
+ close;
+}
+
+//Note in bar
+new_20-1.gat,54,49,0 script Note 127, {
+ mes "[Note]";
+ mes "We refuse service to anyone who:";
+ mes "-Has a bubblehead";
+ mes "-Is not properly shaded";
+ mes "-Can't walk without stopping after every step";
+ close;
+ // In case you don't get the joke - it's a parody on Illutia.
+}
+
+//Left drinking contest guy
+new_20-1.gat,65,55,0 script Drinker 121, {
+ mes "[Binge Drinker]";
+ mes "Ha! I'll drink muuuch mo.. more than you! Im not ooone biiit dr...dr..unk!";
+ close;
+}
+
+//Right drinking contest guy
+new_20-1.gat,68,55,0 script Drinker 121, {
+ mes "[Binge Drinker]";
+ mes "I can still drink more! Better give up you... you... teelotaler! MORE BEER MELINDA!";
+ //I know it's called "teetotaler". That error is on purpose.
+ close;
+} \ No newline at end of file