diff options
author | Jared Adams <jaxad0127@gmail.com> | 2009-01-18 16:27:13 +0000 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2009-01-18 16:27:13 +0000 |
commit | 6a92fbc8e20a211d85e0656cc86bb3569389b85b (patch) | |
tree | 2c209e08298c90c31c0bd9323043cc3d8f80c440 | |
parent | bb203b7c602ae52111828c7f89a5c10cd8e7a206 (diff) | |
parent | d66e5af9f0024f897a8d239aa5100b30c487a45b (diff) | |
download | serverdata-6a92fbc8e20a211d85e0656cc86bb3569389b85b.tar.gz serverdata-6a92fbc8e20a211d85e0656cc86bb3569389b85b.tar.bz2 serverdata-6a92fbc8e20a211d85e0656cc86bb3569389b85b.tar.xz serverdata-6a92fbc8e20a211d85e0656cc86bb3569389b85b.zip |
Merge commit 'mainline/master'
-rw-r--r-- | conf/battle_athena.conf | 2 | ||||
-rw-r--r-- | data/015-1.wlk | bin | 16804 -> 16804 bytes | |||
-rw-r--r-- | data/015-3.wlk | bin | 0 -> 4100 bytes | |||
-rw-r--r-- | data/resnametable.txt | 1 | ||||
-rw-r--r-- | db/item_db.txt | 15 | ||||
-rw-r--r-- | eathena-monitor.c | 2 | ||||
-rwxr-xr-x | eathena.sh | 2 | ||||
-rw-r--r-- | news.txt | 28 | ||||
-rw-r--r-- | npc/001-1_Tulimshar/bleacher.txt | 6 | ||||
-rw-r--r-- | npc/001-1_Tulimshar/sandra.txt | 56 | ||||
-rw-r--r-- | npc/009-1_Hurnscald/milly.txt | 2 | ||||
-rw-r--r-- | npc/009-2_Hurnscald/selim.txt | 7 | ||||
-rw-r--r-- | npc/015-1_Woodland/_import.txt | 1 | ||||
-rw-r--r-- | npc/015-1_Woodland/_warps.txt | 1 | ||||
-rw-r--r-- | npc/015-1_Woodland/alice.txt | 51 | ||||
-rw-r--r-- | npc/015-1_Woodland/barrier.txt | 7 | ||||
-rw-r--r-- | npc/015-3/_import.txt | 6 | ||||
-rw-r--r-- | npc/015-3/_mobs.txt | 26 | ||||
-rw-r--r-- | npc/015-3/_warps.txt | 3 | ||||
-rw-r--r-- | npc/015-3/barrier.txt | 28 | ||||
-rw-r--r-- | npc/015-3/katze.txt | 207 | ||||
-rw-r--r-- | npc/015-3/pot.txt | 111 | ||||
-rw-r--r-- | npc/_import.txt | 1 | ||||
-rw-r--r-- | npc/functions/barber.txt | 20 | ||||
-rw-r--r-- | tools/tmwcon/README | 27 | ||||
-rw-r--r-- | tools/tmwcon/usage | 16 |
26 files changed, 542 insertions, 84 deletions
diff --git a/conf/battle_athena.conf b/conf/battle_athena.conf index f40d2b7d..2b5a208a 100644 --- a/conf/battle_athena.conf +++ b/conf/battle_athena.conf @@ -149,7 +149,7 @@ pvp_exp: yes // 0 = No penalty. // 1 = Lose % of current level when killed. // 2 = Lose % of total experience when killed. -death_penalty_type: 1 +death_penalty_type: 0 // Base exp. penalty rate (Each 100 is 1% of their exp) death_penalty_base: 100 diff --git a/data/015-1.wlk b/data/015-1.wlk Binary files differindex f3e7bbc9..8d13a5b3 100644 --- a/data/015-1.wlk +++ b/data/015-1.wlk diff --git a/data/015-3.wlk b/data/015-3.wlk Binary files differnew file mode 100644 index 00000000..25ef46b1 --- /dev/null +++ b/data/015-3.wlk diff --git a/data/resnametable.txt b/data/resnametable.txt index c7c65430..02c33d6d 100644 --- a/data/resnametable.txt +++ b/data/resnametable.txt @@ -30,6 +30,7 @@ 014-1.gat#014-1.wlk# 014-3.gat#014-3.wlk# 015-1.gat#015-1.wlk# +015-3.gat#015-3.wlk# 016-1.gat#016-1.wlk# 017-1.gat#017-1.wlk# 018-1.gat#018-1.wlk# diff --git a/db/item_db.txt b/db/item_db.txt index 721db3ee..4cce8027 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -219,6 +219,9 @@ 727, Iten, Iten, 3, 0, 0, 100, , , , , , , , , , , , {}, {} // RESERVED 731, AssassinPants, Assassin Pants, 5, 10000, 3000, 10, , 5, , -5, 0, 10477567, 2, 1, , 0, 0, {}, {} +// RESERVED +734, BlackBoots, Black Boots, 5, 20000, 3000, 35, , 4, , -10, 0, 10477567, 2, 64, , 0, 0, {}, {} +735, WhiteCottonBoots, WhiteCottonBoots, 5, 2000, 500, 10, , 1, , 1, 0, 10477567, 2, 64, , 0, 0, {}, {} #ID, Name, Label, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Job, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} 1198, JackOSoul, Jack O Soul, 3, 100000, 1, 1, , , , , , , , , , , , {}, {} @@ -361,3 +364,15 @@ 2147, OrangeCottonHeadBand, Orange Cotton Head Band, 5, 3000, 500, 5, , 2, , 0, 0, 10477567, 2, 256, , 0, 0, {}, {} 2148, PurpleCottonHeadBand, Purple Cotton Head Band, 5, 3000, 500, 5, , 2, , 0, 0, 10477567, 2, 256, , 0, 0, {}, {} 2149, DarkGreenCottonHeadBand, Dark Green Cotton Head Band, 5, 3000, 500, 5, , 2, , 0, 0, 10477567, 2, 256, , 0, 0, {}, {} + +#ID, Name, Label, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Job, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} +2150, RedCottonBoots, Red Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 10477567, 2, 64, , 0, 0, {}, {} +2151, GreenCottonBoots, Green Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 10477567, 2, 64, , 0, 0, {}, {} +2152, DarkBlueCottonBoots, Dark Blue Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 10477567, 2, 64, , 0, 0, {}, {} +2153, YellowCottonBoots, Yellow Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 10477567, 2, 64, , 0, 0, {}, {} +2154, LightBlueCottonBoots, Light Blue Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 10477567, 2, 64, , 0, 0, {}, {} +2155, PinkCottonBoots, Pink Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 10477567, 2, 64, , 0, 0, {}, {} +2156, BlackCottonBoots, Black Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 10477567, 2, 64, , 0, 0, {}, {} +2157, OrangeCottonBoots, Orange Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 10477567, 2, 64, , 0, 0, {}, {} +2158, PurpleCottonBoots, Purple Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 10477567, 2, 64, , 0, 0, {}, {} +2159, DarkGreenCottonBoots, Dark Green Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 10477567, 2, 64, , 0, 0, {}, {}
\ No newline at end of file diff --git a/eathena-monitor.c b/eathena-monitor.c index 3ab7f0f2..8e9d985c 100644 --- a/eathena-monitor.c +++ b/eathena-monitor.c @@ -79,7 +79,7 @@ int read_config(char *filename) { int errors = 0; if ( !(input = fopen(filename,"r")) && !(input = fopen (config, "r"))) { - fprintf (stderr, "ERROR: Config file doesn't exist (%s and %s), using builtin defaults\n",filename,CONFIG); + fprintf (stderr, "ERROR: Config file doesn't exist (%s and %s), using builtin defaults\n", filename, config); return -1; } @@ -20,7 +20,7 @@ cd ${SRVHOMEDIR} eathena_start() { if [ -x ${SRVHOMEDIR}/eathena-monitor ]; then echo "Starting eathena monitor..." - ${SRVHOMEDIR}/eathena-monitor + ${SRVHOMEDIR}/eathena-monitor ${SRVHOMEDIR}/conf/eathena-monitor.conf else echo "Eathena monitor binary is not executable or not found." fi } @@ -1,6 +1,6 @@ ##3 Open Testing on Official Test Server ##3 2009-01-04 through 2009-01-11 - + ##0 A testing period on enigma (our official test ##0 server) has started. Experience and drop rates ##0 are 10 times higher than normal during this @@ -10,31 +10,31 @@ ##0 currently supported clients are welcome. Please ##0 direct all feedback to the appropriate thread on ##0 the forums. - + ##0 To participate in this testing, set your server ##0 to enigma.dy.fi. Enigma shouldn't be used between ##0 open test periods, as the content may be in an ##0 unusable state. Characters and accounts may be ##0 wiped at any time between testing periods. - + ##3 Monster Mutations and Experience Point Changes ##3 2008-12-10 - + ##0 We have rebalanced monster experience points -##0 and added two new mechanisms to make the game -##0 more challenging: monster mutations, by which -##0 monster attributes (and experience points) are -##0 slightly modified for each individual monster, -##0 and increased boni for shared kills: killing a -##0 monster with a group of fighters now yields -##0 significantly more experience points than -##0 killing it alone. To adjust for the latter +##0 and added two new mechanisms to make the +##0 game more challenging: monster mutations, by +##0 which monster attributes (and experience points) +##0 are slightly modified for each individual +##0 monster, and increased boni for shared kills: +##0 killing a monster with a group of fighters now +##0 yields significantly more experience points than +##0 killing it alone. To adjust for the latter ##0 increase, we have reduced base experience points ##0 for low and medium-level monsters, though we ##0 expect levelling to be easier overall. - + ##2 The TMW development team - + ##3 Mines and weddings! ##3 2008-10-11 diff --git a/npc/001-1_Tulimshar/bleacher.txt b/npc/001-1_Tulimshar/bleacher.txt index 48b5c6c6..67ea1497 100644 --- a/npc/001-1_Tulimshar/bleacher.txt +++ b/npc/001-1_Tulimshar/bleacher.txt @@ -29,6 +29,7 @@ L_bleach_menu: "Silk robe", L_robe, "Cotton headband", L_cotton_headband, "Desert hat", L_desert_hat, + "Cotton boots", L_cotton_boots, "Nevermind", -; goto L_close; @@ -74,6 +75,11 @@ L_desert_hat: set @normal, 723; set @dyeBase, 2130; goto L_choose_color; + +L_cotton_boots: + set @normal, 735; + set @dyeBase, 2150; + goto L_choose_color; L_choose_color: mes "[Candide]"; diff --git a/npc/001-1_Tulimshar/sandra.txt b/npc/001-1_Tulimshar/sandra.txt index 048bfa19..314e009a 100644 --- a/npc/001-1_Tulimshar/sandra.txt +++ b/npc/001-1_Tulimshar/sandra.txt @@ -4,31 +4,31 @@ if(Scorp == 2) goto L_Done; if(Scorp == 1) goto L_Progress; - set @TEMP,rand(3); + set @TEMP, rand(4); + if(@TEMP == 0) goto L_Opening0; if(@TEMP == 1) goto L_Opening1; if(@TEMP == 2) goto L_Opening2; if(@TEMP == 3) goto L_Opening3; - if(@TEMP == 0) goto L_Opening4; -L_Opening1: +L_Opening0: mes "[Sandra]"; - mes "\"In the outskirts of Tulimshar, there wanders a red scorpion. I need a favor, please help me. Will you?\""; + mes "\"In the outskirts of Tulimshar, there are some scorpions. I need a favor, please help me. Will you?\""; next; goto L_Ask; -L_Opening2: +L_Opening1: mes "[Sandra]"; - mes "\"When you venture in the outskirts of Tulimshar, you can spot a red scorpion. Will you help me kill one?\""; + mes "\"When you venture in the outskirts of Tulimshar, you can spot scorpions. Will you help me kill some?\""; next; goto L_Ask; -L_Opening3: +L_Opening2: mes "[Sandra]"; - mes "\"The red scorpion stinger carries many properties used in potions. Will you get some for me?\""; + mes "\"The scorpion stinger carries many properties used in potions. Will you get some for me?\""; next; goto L_Ask; -L_Opening4: +L_Opening3: mes "[Sandra]"; mes "\"You look sturdy enough, will you help me get something?\""; next; @@ -40,26 +40,26 @@ L_Ask: "No", L_No; L_Yes: - if(@TEMP == 1) goto L_Req1; - if(@TEMP == 2) goto L_Req2; - if(@TEMP == 3) goto L_Req3; + set @TEMP, rand(3); if(@TEMP == 0) goto L_Req1; + if(@TEMP == 1) goto L_Req2; + if(@TEMP == 2) goto L_Req3; -L_Req1: +L_Req0: mes "[Sandra]"; - mes "\"I need you to slaughter the red scorpion found outside of Tulimshar and bring me 5 [Red Stingers].\""; + mes "\"I need 5 [Scorpion Stingers] and 1 [Red Scoprion Stinger].\""; next; goto L_Set; -L_Req2: +L_Req1: mes "[Sandra]"; - mes "\"I heard a while ago that the stinger of a red scorpion can be used for medical purposes. I need you to help me get 5 [Red Stingers].\""; + mes "\"I heard a while ago that scorpion stingers can be used for medical purposes. I need you to help me get 5 [Scorpion Stingers] and 1 [Red Scoprion Stinger].\""; next; goto L_Set; -L_Req3: +L_Req2: mes "[Sandra]"; - mes "\"Bring me 5 [Red Stingers] and i will reward you greatly.\""; + mes "\"Bring me 5 [Scorpion Stingers] and 1 [Red Scoprion Stinger]. I'll give you something if you do.\""; next; goto L_Set; @@ -70,23 +70,25 @@ L_Set: close; L_Progress: - if (countitem(517) >= 5) goto L_Have; - mes "[Sandra]"; - mes "\"Please hurry and bring me 5 [Red Stingers].\""; - close; - -L_Have: + if (countitem(507) < 5) goto L_NotEnough; + if (countitem(517) < 1) goto L_NotEnough; mes "[Sandra]"; mes "\"Excellent!"; - mes "You brought me 5 [Red Stingers]!\""; + mes "You brought me 5 [Scorpion Stingers] and 1 [Red Scoprion Stinger]!\""; getinventorylist; - if (@inventorylist_count == 100 && countitem(517) > 5) goto L_TooMany; - delitem 517, 5; + if ((@inventorylist_count - (countitem(507) == 5) - (countitem(517) == 1)) > 99 - (countitem(1199) == 0)) goto L_TooMany; + delitem 507, 5; + delitem 517, 1; getitem 1200, 1; getitem 1199, 100; set Scorp, 2; close; +L_NotEnough: + mes "[Sandra]"; + mes "\"Please hurry and bring me 5 [Scorpion Stingers] and 1 [Red Scoprion Stinger].\""; + close; + L_Done: mes "[Sandra]"; mes "\"Thank you for all your help!\""; diff --git a/npc/009-1_Hurnscald/milly.txt b/npc/009-1_Hurnscald/milly.txt index 82b5cb6a..2935d314 100644 --- a/npc/009-1_Hurnscald/milly.txt +++ b/npc/009-1_Hurnscald/milly.txt @@ -9,7 +9,7 @@ L_NohMask: menu "Have you seen anything strange lately?", L_NohMask_Strange, "Do you know anything about the recent robberies?", L_NohMask_Robbery, - "Yes, it is.", -; + "Hello", -; close; L_NohMask_Strange: diff --git a/npc/009-2_Hurnscald/selim.txt b/npc/009-2_Hurnscald/selim.txt index cc7a8863..14eac5b9 100644 --- a/npc/009-2_Hurnscald/selim.txt +++ b/npc/009-2_Hurnscald/selim.txt @@ -28,6 +28,7 @@ L_clothes_choice: "Silk robe", L_robe, "Cotton headband", L_headband, "Desert hat", L_desert_hat, + "Cotton boots", L_cottonboots, "I'm fine for now, thanks.", -; close; @@ -93,6 +94,12 @@ L_desert_hat: set @name$, "desert hat"; goto L_picked_item; +L_cottonboots: + set @del, 735; + set @new, 2150; + set @name$, "cotton boots"; + goto L_picked_item; + L_picked_item: if (countitem(@del) == 0) goto L_havenone; L_colour: diff --git a/npc/015-1_Woodland/_import.txt b/npc/015-1_Woodland/_import.txt index d92e0749..b7b63b22 100644 --- a/npc/015-1_Woodland/_import.txt +++ b/npc/015-1_Woodland/_import.txt @@ -2,4 +2,5 @@ map: 015-1.gat npc: npc/015-1_Woodland/_mobs.txt npc: npc/015-1_Woodland/_warps.txt npc: npc/015-1_Woodland/alice.txt +npc: npc/015-1_Woodland/barrier.txt npc: npc/015-1_Woodland/monsters.txt diff --git a/npc/015-1_Woodland/_warps.txt b/npc/015-1_Woodland/_warps.txt index c6ca1856..75e377a4 100644 --- a/npc/015-1_Woodland/_warps.txt +++ b/npc/015-1_Woodland/_warps.txt @@ -1,3 +1,4 @@ // 015-1 Woodland warps 015-1.gat,93,55 warp ToWoodland -1,0,010-1.gat,15,55 +015-1.gat,59,31 warp to 015_3 -1,-1,015-3.gat,31,42 diff --git a/npc/015-1_Woodland/alice.txt b/npc/015-1_Woodland/alice.txt index b9ce5831..629cfed5 100644 --- a/npc/015-1_Woodland/alice.txt +++ b/npc/015-1_Woodland/alice.txt @@ -1,16 +1,23 @@ -//################################################################################# -//# # -//# A herb collector giving the players some hints about finding and brewing # -//# herbs # -//# # -//################################################################################# - +// A herb collector giving the players some hints about finding and brewing +// herbs. 015-1.gat,52,53,0 script Alice 106, { mes "[Alice]"; mes "\"Greeting, fellow wanderer."; mes "Are you collecting herbs, too?\""; next; + if (LastHiss == 2 && Katze < 4) + menu + "Yes, sure.", L_findmany, + "Herbs?", L_herbs, + "Nope, just enjoying the scenery.", close, + "I saw the cat, but it doesn't like me.", L_cat; + if (LastHiss == 1) + menu + "Yes, sure.", L_findmany, + "Herbs?", L_herbs, + "Nope, just enjoying the scenery.", close, + "There is a monster in that cave!", L_cave; menu "Yes, sure.", L_findmany, "Herbs?", L_herbs, @@ -35,7 +42,6 @@ L_plenty: mes "Good brewers get much better healing potions from them."; mes "The most important characteristic of a good brewer is intelligence.\""; close; - L_herbs: mes "[Alice]"; @@ -43,4 +49,33 @@ L_herbs: mes "Caul in Hurnscald found a way to brew magical healing potions from them, and I have heard a rumor that they may also be good for making colors."; mes "Now everyone is running around in the woods to harvest the herbs.\""; close; + +L_cave: + mes "[Alice]"; + mes "\"Haha, that is no monster! It's just a sweet little cat.\""; + next; + menu + "But it wanted to kill me!", -, + "A cat!? I'll go and kill it!", -; + mes "[Alice]"; + mes "\"No no, I'm sure it was only frightened. It gets upset when you've got clothes or weapons on you.\""; + next; + menu + "Ok, let's try it without clothes then", -, + "What a stupid cat!", -; + mes "[Alice]"; + mes "\"Please don't do her any harm. See you later!\""; + next; + close; + +L_cat: + mes "[Alice]"; + mes "\"You would have to tame her first. Maybe she's thirsty or hungry. Cats also tend to get bored without something to play with. Good luck!\""; + next; + menu "Thank you so much!", close, + "Are you crazy? Taming a cat?", -; + mes "[Alice]"; + mes "\"Well, it's up to you.\""; + next; + close; } diff --git a/npc/015-1_Woodland/barrier.txt b/npc/015-1_Woodland/barrier.txt new file mode 100644 index 00000000..beeeb976 --- /dev/null +++ b/npc/015-1_Woodland/barrier.txt @@ -0,0 +1,7 @@ +// This barrier is for checking whether the player went outside after +// progressing with the cat quest. + +015-1.gat,59,32,0 script #CatOutsideBarrier 127,1,1,{ + set KatzeBeenOutside, 1; + close; +} diff --git a/npc/015-3/_import.txt b/npc/015-3/_import.txt new file mode 100644 index 00000000..ad76971d --- /dev/null +++ b/npc/015-3/_import.txt @@ -0,0 +1,6 @@ +map: 015-3.gat +npc: npc/015-3/_mobs.txt +npc: npc/015-3/_warps.txt +npc: npc/015-3/barrier.txt +npc: npc/015-3/katze.txt +npc: npc/015-3/pot.txt diff --git a/npc/015-3/_mobs.txt b/npc/015-3/_mobs.txt new file mode 100644 index 00000000..1c1d9941 --- /dev/null +++ b/npc/015-3/_mobs.txt @@ -0,0 +1,26 @@ +// 015-3 mobs + +015-3.gat,21,25,3,4 monster Bats 1017,2,0,0,Mob015-3::On1017 +015-3.gat,29,31,2,2 monster Maggots 1002,2,0,0,Mob015-3::On1002 +015-3.gat,23,19,1,1 monster Maggots 1002,1,0,0,Mob015-3::On1002 +015-3.gat,40,19,1,1 monster Spider 1012,1,0,0,Mob015-3::On1012 + + +015-3.gat,0,0,0 script Mob015-3 -1,{ +On1002: + set @mobID, 1002; + callfunc "MobPoints"; + break; + +On1012: + set @mobID, 1012; + callfunc "MobPoints"; + break; + +On1017: + set @mobID, 1017; + callfunc "MobPoints"; + break; + + end; +} diff --git a/npc/015-3/_warps.txt b/npc/015-3/_warps.txt new file mode 100644 index 00000000..8b8a83d7 --- /dev/null +++ b/npc/015-3/_warps.txt @@ -0,0 +1,3 @@ +// 015-3 warps + +015-3.gat,31,43 warp to 015-1 -1,-1,015-1.gat,59,32 diff --git a/npc/015-3/barrier.txt b/npc/015-3/barrier.txt new file mode 100644 index 00000000..3abffbb1 --- /dev/null +++ b/npc/015-3/barrier.txt @@ -0,0 +1,28 @@ +// You can only enter the cat cave naked, otherwise the cat's reaction scares +// you away. You can also get in while wearing the cat ears. + +015-3.gat,31,42,0 script #CatCaveBarrier 127,1,1,{ + + if (getequipid(equip_head) != 1217 && (getequipid(equip_head) > 0 || + getequipid(equip_shield) > 0 || + getequipid(equip_hand1) > 0 || + getequipid(equip_hand2) > 0 || + getequipid(equip_gloves) > 0 || + getequipid(equip_shoes) > 0 || + getequipid(equip_misc1) > 0 || + getequipid(equip_misc2) > 0 || + getequipid(equip_torso) > 0 || + getequipid(equip_legs) > 0)) goto L_Not_Naked; + + if (LastHiss != 2) mes "\"Hissss...\""; + set LastHiss, 2; + close; + +L_Not_Naked: + warp "015-1.gat", 60, 32; + set LastHiss, 1; + mes "\"GRAAUWL! Hissss...\""; + mes "Scared of what you hear, you flee back outside."; + next; + close; +} diff --git a/npc/015-3/katze.txt b/npc/015-3/katze.txt new file mode 100644 index 00000000..c24a9f80 --- /dev/null +++ b/npc/015-3/katze.txt @@ -0,0 +1,207 @@ +// Katze doesn't like the player at first, needs following: +// +// 1. Some milk +// 2. Some steak or chicken leg +// 3. Some fur +// +// Now the cat starts to speak, still needs: +// +// 4. Some wood for scratching +// 5. Some stuff for making somethings nice for the player: +// +// * 2 Snake skins +// * 2 Snake tongues +// * 2 Maggot slimes +// * 2 White furs +// * 2 Hard spikes +// * 2 Tiny potions + +015-3.gat,32,25,0 script Katze 172, { + + if (Katze == 1 && KatzeBeenOutside == 1) goto L_NeedsFood; + if (Katze == 1) goto L_PreNeedsFood; + + if (Katze == 2 && KatzeBeenOutside == 1) goto L_NeedsFur; + if (Katze == 2) goto L_PreNeedsFur; + + if (Katze == 3) goto L_NeedsWood; + + if (Katze == 4 && KatzeBeenOutside == 1) goto L_NeedsStuff; + if (Katze == 4) goto L_PreNeedsStuff; + + if (Katze == 5) goto L_NeedsStuff2; + + if (Katze == 6 && KatzeBeenOutside == 1) goto L_GainEars; + if (Katze == 6) goto L_PreGainEars; + + if (Katze == 7) goto L_Finished; + +L_NeedsMilk: + mes "[Katze]"; + mes "\"Meow.\""; + next; + menu "Throw a stone at the cat", L_ThrowStone, + "Leave the cat alone", -; + close; + +L_ThrowStone: + set Katze, 0; + // Maybe make sure not to kill the player, since this has an issue. The + // text below will remain in the NPC dialog until it is used again. + heal -100,0; + warp "015-1.gat", 60, 32; + mes "\"GRAAUWL! Hissss...\""; + mes "Yikes, the cat attacked you! Your whole body is scratched. Maybe throwing a stone wasn't such a great idea..."; + next; + close; + +L_PreNeedsFood: +L_NeedsFood: + mes "[Katze]"; + mes "\"Meow, prrrr...\""; + next; + menu "Throw a stone at the cat", L_ThrowStone, + "Leave the cat alone", -; + close; + +L_PreNeedsFur: +L_NeedsFur: + mes "[Katze]"; + mes "\"Prrr. Meow, prrr...\""; + next; + + if (countitem(611) > 0) // White Fur + menu "Make funny movements with the fur near the ground", L_MoveFur, + "Throw a stone at the cat", L_ThrowStone, + "Leave the cat alone", -; + if (countitem(611) == 0) + menu "Throw a stone at the cat", L_ThrowStone, + "Leave the cat alone", -; + close; + +L_MoveFur: + delitem 611, 1; // Cat takes the white fur + set Katze, 3; + mes "The cat jumps at the fur! You quickly let go of it. The cat happily returns to its spot, carrying the fur in its mouth."; + next; + mes "The cat drops the fur and looks at you with half opened eyes. Suddenly she starts talking, and says: \"That was very kind of you.\" She seems to be smiling."; + next; + close; + +L_NeedsWood: + mes "[Katze]"; + mes "\"Prrrr, now I'd like something to sharpen my claws on.\""; + next; + + if (countitem(569) > 0) // Raw log + menu "Want this piece of wood?", L_GiveWood, + "Ok, see you later", -; + close; + +L_GiveWood: + mes "[Katze]"; + mes "\"Sure! Please put it next to the pot.\""; + next; + close; + +L_PreNeedsStuff: + mes "The cat is still eyeing the piece of wood. She probably needs to be left alone for a bit again."; + next; + close; + +L_NeedsStuff: + set Katze, 5; + mes "[Katze]"; + mes "\"You've been really kind to me. I can make you something nice, but I will need"; + mes "2 snake skins,"; + mes "2 snake tongues,"; + mes "2 maggot slimes,"; + mes "2 white furs,"; + mes "2 hard spikes and"; + mes "2 tiny healing potions.\""; + next; + close; + +L_NeedsStuff2: + mes "[Katze]"; + mes "\"Did you bring what I asked you for?\""; + next; + menu "Look here", L_CatChecksStuff, + "What do you need again?", L_WhatsNeeded, + "No, I haven't got everything yet", -; + close; + +L_WhatsNeeded: + mes "[Katze]"; + mes "\"Actually, you should have remembered yourself.\""; + next; + menu "Please tell me", L_Please, + "Never mind", -; + close; + +L_Please: + mes "[Katze]"; + mes "\"Alright... [the cat glares at you] it was"; + mes "2 snake skins,"; + mes "2 snake tongues,"; + mes "2 maggot slimes,"; + mes "2 white furs,"; + mes "2 hard spikes and"; + mes "2 tiny healing potions.\""; + next; + close; + +L_CatChecksStuff: + if (countitem(641) > 1 && // Snake skin + countitem(710) > 1 && // Snake tongue + countitem(505) > 1 && // Maggot slime + countitem(611) > 1 && // White fur + countitem(613) > 1 && // Hard spike + countitem(684) > 1) // Tiny healing potion + goto L_GiveStuff; + mes "[Katze]"; + mes "\"You don't seem to have everything yet. Come back later when you do.\""; + next; + close; + +L_GiveStuff: + delitem 641, 2; + delitem 710, 2; + delitem 505, 2; + delitem 611, 2; + delitem 613, 2; + delitem 684, 2; + set Katze, 6; + set KatzeBeenOutside, 0; + mes "[Katze]"; + mes "\"Nicely done! Now leave me alone for a while, I need some time to prepare your present.\""; + next; + close; + +L_PreGainEars: + mes "[Katze]"; + mes "\"Please leave me alone for a while, so I can prepare your present.\""; + next; + close; + +L_GainEars: + getitem 1217, 1; // Cat ears + set @xpval, 5000; + getexp @xpval, 0; + set Katze, 7; + mes "[Katze]"; + mes "\"Look what I made for you! It makes you look a bit like me! Maybe it will give you a feeling of what it is like to be a cat.\""; + mes "The cat winks at you."; + mes "[You gain " + @xpval + " experience points]"; + next; + close; + +L_Finished: + mes "[Katze]"; + if (getequipid(equip_head) == 1217) // Cat ears + mes "\"Meow, fellow cat.\""; + if (getequipid(equip_head) != 1217) + mes "\"Meow. Lost your ears?\""; + next; + close; +} diff --git a/npc/015-3/pot.txt b/npc/015-3/pot.txt new file mode 100644 index 00000000..bf3bd945 --- /dev/null +++ b/npc/015-3/pot.txt @@ -0,0 +1,111 @@ +// The pot where the player can deposit stuff for the cat. + +015-3.gat,37,29,0 script Pot 127, { + + if (Katze > 0) + mes "It's that old pot again."; + if (Katze == 0) + mes "It's a pot."; + next; + + if (Katze == 1 && KatzeBeenOutside == 1) goto L_NeedsFood; + if (Katze == 1) goto L_HasMilk; + + if (Katze == 2 && KatzeBeenOutside == 1) goto L_NeedsFur; + if (Katze == 2) goto L_HasFood; + + if (Katze == 3) goto L_NeedsWood; + + if (Katze == 4 && KatzeBeenOutside == 0) goto L_HasWood; + if (Katze >= 4) goto L_Finished; + +L_NeedsMilk: + if (countitem(527) > 0) + menu + "Pour in some milk", L_GiveMilk, + "Leave it alone", -; + close; + +L_GiveMilk: + delitem 527, 1; + set Katze, 1; + set KatzeBeenOutside, 0; + close; + +L_HasMilk: + mes "There is milk in it."; + next; + close; + +L_NeedsFood: + mes "The milk is gone!"; + next; + + if (countitem(562) > 0 && countitem(676) > 0) + menu + "Put in a chicken leg", L_GiveChicken, + "Put in a steak", L_GiveSteak, + "Leave it alone", -; + if (countitem(562) > 0 && countitem(676) == 0) + menu + "Put in a chicken leg", L_GiveChicken, + "Leave it alone", -; + if (countitem(562) == 0 && countitem(676) > 0) + menu + "Put in a steak", L_GiveSteak, + "Leave it alone", -; + close; + +L_GiveChicken: + delitem 562, 1; + set Katze, 2; + set KatzeBeenOutside, 0; + close; + +L_GiveSteak: + delitem 676, 1; + set Katze, 2; + set KatzeBeenOutside, 0; + close; + +L_HasFood: + mes "There is some food in it."; + next; + close; + +L_NeedsFur: + mes "And it's empty!"; + next; + + if (countitem(611) > 0) // White Fur + menu "Put a white fur next to the pot", L_GiveFur, + "Leave it alone", -; + close; + +L_GiveFur: + mes "You put down the fur, but the cat doesn't seem to take any notice. Maybe there's something else you could do. You pick the fur up again."; + next; + close; + +L_NeedsWood: + if (countitem(569) > 0) // Raw log + menu "Put a wooden log next to the pot", L_GiveWood, + "Leave it alone", -; + close; + +L_GiveWood: + delitem 569, 1; + set Katze, 4; + set KatzeBeenOutside, 0; + mes "You put the wooden log next to the pot. The cat eyes it suspiciously, but remains on her spot."; + next; + close; + +L_HasWood: + mes "A wooden log is patiently lying next to it."; + next; + close; + +L_Finished: + close; +} diff --git a/npc/_import.txt b/npc/_import.txt index 626ecc37..142fd3ec 100644 --- a/npc/_import.txt +++ b/npc/_import.txt @@ -29,6 +29,7 @@ import: npc/013-3_Cave/_import.txt import: npc/014-1_Woodland/_import.txt import: npc/014-3_Cave/_import.txt import: npc/015-1_Woodland/_import.txt +import: npc/015-3/_import.txt import: npc/016-1_Woodland/_import.txt import: npc/017-1_Woodland_hills/_import.txt import: npc/018-1_Woodland_mining_camp/_import.txt diff --git a/npc/functions/barber.txt b/npc/functions/barber.txt index 0edaab73..57c3c598 100644 --- a/npc/functions/barber.txt +++ b/npc/functions/barber.txt @@ -6,10 +6,9 @@ function script Barber { "Change my color", L_Color, "Nah, I'm fine", L_Done; + goto L_Done; + L_Style: - if (Sex == 0) goto L_Style_Female; - -L_Style_Male: menu "Bald", -, "Ponytail", -, @@ -18,27 +17,18 @@ L_Style_Male: "Emo", -, "Mohawk", -, "Pompadour", -, - "Center parting", -, - "Supprise me", -, - "Nah, I'm fine", close; - goto L_Process_Style; - -L_Style_Female: - menu - "Bald", -, + "Center parting/Short and slick", -, "Long and slick", -, "Short and curly", -, - "Ponytail", -, - "Pigtails", -, "Long and curly", -, + "Pigtails", -, "Parted", -, - "Short and slick", -, "Supprise me", -, "Nah, I'm fine", L_Done; L_Process_Style: set @style, @menu - 1; - if (@style == 8) set @style, rand(8); + if (@style == 13) set @style, rand(13); setlook 1, @style; return; diff --git a/tools/tmwcon/README b/tools/tmwcon/README new file mode 100644 index 00000000..a48fc836 --- /dev/null +++ b/tools/tmwcon/README @@ -0,0 +1,27 @@ +Dependencies: + + * ant (recent version) + * J2SE 5 or higher (or equivalent) + * Tiled or Tiled core jar file (in this directory) + * TMW Tiled plugin jar (in this directory or the plugins directory) + +Compilation: + + Run ant from this directory. + +Usage: + + * Create a directory called tmwdata containing the client data + (can be symlink) + + * Output will be in a directory called server-data + (usually you make this a symlink to eathena-data) + + * If the aforementioned jar files are in class path you can run the + converter jar file directly: + + java -jar converter.jar + + Otherwise, the Converter class can handle that for you: + + java Converter diff --git a/tools/tmwcon/usage b/tools/tmwcon/usage deleted file mode 100644 index f8fc8d8b..00000000 --- a/tools/tmwcon/usage +++ /dev/null @@ -1,16 +0,0 @@ -Dependancies: - ant (recent version) - J2SE 5 or higher (or equivalent) - Tiled or Tiled core jar file (in this directory) - TMW Tiled plugin jar (in this directory or the plugins directory) - -Compilation: - Run ant from this directory. - -Usage: - a directory called tmwdata containing the client data - output will be in a directory called server-data - if the aforementioned jar files are in class path you can run the converter jar file directly: - java jar converter.jar - otherwise, the Converter class can handle that for you: - java Converter |