summaryrefslogtreecommitdiff
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
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.
-rw-r--r--changelog.txt9
-rwxr-xr-xconf/map_athena.conf17
-rw-r--r--data/new_20-1.wlkbin0 -> 40004 bytes
-rw-r--r--data/resnametable.txt2
-rwxr-xr-xdb/item_db.txt5
-rw-r--r--db/mob_db.txt3
-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
12 files changed, 485 insertions, 8 deletions
diff --git a/changelog.txt b/changelog.txt
index 18eac873..9780affb 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -24,10 +24,15 @@
* Umperio: Updated barber script.
10.03.06: * Platyna: Added eathena-monitor daemon for better control of eAthena processes.
- * Platyna: Adopted athena.sh script to locally control eAthena processes
- (start/stop/restart the eathena-monitor when needed so there is no need
+ * Platyna: Adopted athena.sh script to locally control eAthena processes
+ (start/stop/restart the eathena-monitor when needed so there is no need
of root access anymore).
* Platyna: Added more Red Scorpions on Western Desert.
* Platyna: Removed Fire Goblins from the Hermit's Cave and added Bats.
12.06.07: * Trapdoor: Updated casino script to allow for aces to be 1 and 11.
+
+06.08.07: * Crush: Enabled woodland village maps.
+ * Crush: Added woodland village indoor passages and NPCs.
+ * Crush: Added tree stump monster.
+ * Crush: Added chainmail and platemail armor. \ No newline at end of file
diff --git a/conf/map_athena.conf b/conf/map_athena.conf
index a0c812fe..a65e41e8 100755
--- a/conf/map_athena.conf
+++ b/conf/map_athena.conf
@@ -29,6 +29,9 @@ mapreg_txt: save/mapreg.txt
// Maps
+map: new_20-1.gat
+map: new_19-1.gat
+map: new_18-1.gat
map: new_17-1.gat
map: new_16-1.gat
map: new_15-1.gat
@@ -53,7 +56,7 @@ npc: npc/pvp/maps.txt
// NPCs (ordered in alphabetical order by name).
-// Tulimshar 3-1
+// Tulimshar 3-1
npc: npc/tulimshar/banker.txt
npc: npc/tulimshar/barber.txt
npc: npc/tulimshar/children.txt
@@ -141,6 +144,15 @@ npc: npc/cave-big/passages.txt
npc: npc/arena/guards.txt
npc: npc/arena/monsters.txt
+// Woodland village 19-1
+npc: npc/woodland-village/monsters.txt
+npc: npc/woodland-village/passages.txt
+npc: npc/woodland-village/pirate.txt
+npc: npc/woodland-village/villagers.txt
+npc: npc/woodland-village/shops.txt
+npc: npc/woodland-village/forestbowquest.txt
+npc: npc/woodland-village/scythequest.txt
+
// Christmas 2006
//npc: npc/xmas/xmas1.txt
//npc: npc/xmas/xmas2.txt
@@ -161,5 +173,4 @@ npc: npc/arena/monsters.txt
//npc: npc/xmas/xmas17.txt
//npc: npc/xmas/xmas18.txt
//npc: npc/xmas/xmas19.txt
-//npc: npc/xmas/xmas20.txt
-
+//npc: npc/xmas/xmas20.txt \ No newline at end of file
diff --git a/data/new_20-1.wlk b/data/new_20-1.wlk
new file mode 100644
index 00000000..4e31e360
--- /dev/null
+++ b/data/new_20-1.wlk
Binary files differ
diff --git a/data/resnametable.txt b/data/resnametable.txt
index b6b38e8a..8411c5e2 100644
--- a/data/resnametable.txt
+++ b/data/resnametable.txt
@@ -73,6 +73,7 @@ new_16-1.gat#new_16-1.wlk#
new_17-1.gat#new_17-1.wlk#
new_18-1.gat#new_18-1.wlk#
new_19-1.gat#new_19-1.wlk#
+new_20-1.gat#new_20-1.wlk#
new_1-2.gat#new_zone02.gat#
new_2-2.gat#new_zone02.gat#
new_3-2.gat#new_zone02.gat#
@@ -613,4 +614,3 @@ job_cru.rsw#job_prist.rsw#
job_cru.gat#job_prist.gat#
job_cru.gnd#job_prist.gnd#
À¯ÀúÀÎÅÍÆäÀ̽º\map\job_cru.bmp#À¯ÀúÀÎÅÍÆäÀ̽º\map\job_prist.bmp#
-
diff --git a/db/item_db.txt b/db/item_db.txt
index 3adf24d1..b27b0294 100755
--- a/db/item_db.txt
+++ b/db/item_db.txt
@@ -99,7 +99,10 @@
620, Circlet, Circlet, 5, 2000, 1000, 10, , 4, , 0, 10477567, 2, 256, , 0, 16, {}, {}
621, Eyepatch, Eyepatch, 5, 1000, 500, 10, , 3, , 0, 10477567, 2, 256, , 0, 17, {}, {}
622, Bandana, Bandana, 5, 1000, 500, 10, , 3, , 0, 10477567, 2, 256, , 0, 18, {}, {}
+623, Scythe, Scythe, 4, 100, 50, 400, 75, , 1, 0, 10477567, 2, 2, 1, 1, 3, {}, {}
624, VNeckSweater, V Neck Sweater, 5, 6000, 3000, 10, , 8, , 0, 10477567, 2, 512, , 0, 19, {}, {}
+625, ChainmailShirt, Chainmail Shirt, 5, 20000, 10000, 120, , 12, , 0, 10477567, 2, 512, , 0, 25, {}, {}
+626, LightPlate, Light Platemail, 5, 50000, 25000, 240, , 14, , 0, 10477567, 2, 512, , 0, 26, {}, {}
1199, Arrow, Arrow, 10, 3, 1, 1, 25, 0, 0, 0, 10477567, 2, 32768, , , , {}, {}
1200, Bow, Bow, 4, 1000, 500, 200, 20, , 5, 0, 10477567, 2, 34, 1, 4, 11, {}, {}
1201, Knife, Knife, 4, 50, 25, 100, 5, , 1, 0, 10477567, 2, 2, 1, 1, 1, {}, {}
@@ -109,4 +112,4 @@
1205, ChristmasTreeHat, Christmas Tree Hat, 5, 2000, 1000, 10, , 2, , 0, 10477567, 2, 256, , 0, 23, {}, {}
1206, SantaBeardHat, Santa Beard Hat, 5, 1000, 500, 10, , 5, , 0, 10477567, 2, 256, , 0, 24, {}, {}
1207, RedStocking, Red Stocking, 3, 80, 40, 10, , , , , , , , , , , {}, {}
-1208, ChainmailChestArmor, Chainmail Chest Armor, 5, 15000, 1500, 250, , 20, , 0, 10477567, 2, 512, , 0, 25, {}, {}
+1208, ChainmailChestArmor, Chainmail Chest Armor, 5, 15000, 1500, 250, , 20, , 0, 10477567, 2, 512, , 0, 25, {}, {} \ No newline at end of file
diff --git a/db/mob_db.txt b/db/mob_db.txt
index 7ed090eb..2e53b541 100644
--- a/db/mob_db.txt
+++ b/db/mob_db.txt
@@ -1,5 +1,5 @@
# ID, Name, JName, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element, Mode, Speed, ADelay, AMotion, DMotion, Drop1id, Drop1per, Drop2id, Drop2per, Drop3id, Drop3per, Drop4id, Drop4per, Drop5id, Drop5per, Drop6id, Drop6per, Drop7id, Drop7per, Drop8id, Drop8per, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per, MVP2id, MVP2per, MVP3id, MVP3per
-1002, Maggot, Maggot, 5, 50, 0, 5, 2, 1, 5, 10, 0, 5, 1, 1, 1, 0, 6, 30, 1, 1, 1, 3, 21, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 502, 70, 522, 1, 909, 0, 0, 0, 0, 0, 0, 0, , , , , ,
+1002, Maggot, Maggot, 5, 50, 0, 5, 2, 1, 5, 10, 0, 5, 1, 1, 1, 0, 6, 30, 1, 1, 1, 3, 21, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 502, 70, 522, 1, 909, 0, 0, 0, 0, 0, 0, 0, , , , , ,
1003, Scorpion, Scorpion, 10, 100, 0, 15, 4, 1, 10, 15, 0, 5, 1, 1, 1, 0, 15, 30, 1, 1, 1, 3, 21, 129, 2000, 1872, 672, 480, 507, 700, 510, 100, 509, 50, 518, 700, 909, 0, 909, 0, 909, 0, 0, 0, 0, 0, 0, 0, , , , , ,
1004, RedScorpion, Red Scorpion, 90, 550, 0, 180, 145, 1, 50, 55, 4, 6, 10, 10, 10, 10, 30, 10, 1, 1, 1, 0, 20, 129, 1000, 1872, 672, 480, 517, 2000, 509, 100, 518, 500, 1200, 10, 1199, 760, 1201, 540, 524, 5, 0, 0, 0, 0, 0, 0, , , , , ,
1005, GreenSlime, Green Slime, 40, 300, 0, 60, 8, 1, 25, 30, 2, 7, 1, 30, 1, 0, 30, 30, 1, 1, 1, 0, 20, 131, 1500, 1872, 672, 480, 502, 200, 513, 100, 501, 100, 521, 100, 522, 190, 526, 10, 503, 500, 535, 750, 0, 0, 0, 0, , , , , ,
@@ -21,3 +21,4 @@
1021, LampSnake, Lamp Snake, 30, 1000, 0, 90, 5, 1, 20, 15, 1, 5, 10, 1, 1, 0, 10, 10, 1, 1, 1, 3, 21, 129, 800, 1872, 672, 480, 612, 800, 610, 10, 0, 400, 0, 150, 0, 70, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, , , , , ,
1023, FireSkull, Fire Skull, 30, 500, 0, 55, 2, 1, 10, 12, 0, 5, 1, 1, 1, 0, 15, 10, 1, 1, 1, 3, 21, 129, 800, 1872, 672, 480, 621, 10, 540, 150, 0, 400, 0, 150, 0, 70, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, , , , , ,
1024, PoisonSkull, Poison skull, 30, 1000, 0, 75, 5, 1, 20, 20, 0, 5, 1, 1, 1, 0, 15, 10, 1, 1, 1, 3, 21, 129, 800, 1872, 672, 480, 621, 10, 540, 150, 0, 400, 0, 150, 0, 70, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, , , , , ,
+1025, Stumpy, Stumpy, 30, 500, 0, 65, 30, 1, 7, 10, 50, 5, 1, 1, 1, 0, 20, 25, 1, 1, 1, 3, 21, 129, 800, 1872, 672, 480, 569, 2000, 0, 150, 0, 400, 0, 150, 0, 70, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, , , , , ,
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