From 8b26f55af13b0e9e00d44809911fb6f811349ea8 Mon Sep 17 00:00:00 2001 From: Philipp Sehmisch Date: Tue, 7 Aug 2007 19:41:56 +0000 Subject: Scripts and config updates for woodland village update. --- npc/woodland-village/forestbowquest.txt | 191 ++++++++++++++++++++++++++++++++ npc/woodland-village/monsters.txt | 2 + npc/woodland-village/passages.txt | 35 ++++++ npc/woodland-village/scythequest.txt | 64 +++++++++++ npc/woodland-village/shops.txt | 76 +++++++++++++ npc/woodland-village/villagers.txt | 89 +++++++++++++++ 6 files changed, 457 insertions(+) create mode 100644 npc/woodland-village/forestbowquest.txt create mode 100644 npc/woodland-village/monsters.txt create mode 100644 npc/woodland-village/scythequest.txt create mode 100644 npc/woodland-village/shops.txt create mode 100644 npc/woodland-village/villagers.txt (limited to 'npc') 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 -- cgit v1.2.3-70-g09d2