diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2009-01-11 21:32:46 +0100 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2009-01-11 21:35:37 +0100 |
commit | 4366a268eef0dcb1cc823596add73c83d2984914 (patch) | |
tree | 3e02466a7c55a5bada9a140ede76b57c3c62cb4e /npc/015-3 | |
parent | 10ee468a1f3b73f867a1496fb4e9d0b7b274f3b9 (diff) | |
download | serverdata-4366a268eef0dcb1cc823596add73c83d2984914.tar.gz serverdata-4366a268eef0dcb1cc823596add73c83d2984914.tar.bz2 serverdata-4366a268eef0dcb1cc823596add73c83d2984914.tar.xz serverdata-4366a268eef0dcb1cc823596add73c83d2984914.zip |
Added quest to get the cat ears
Done together with Katze
Diffstat (limited to 'npc/015-3')
-rw-r--r-- | npc/015-3/_import.txt | 6 | ||||
-rw-r--r-- | npc/015-3/_mobs.txt | 27 | ||||
-rw-r--r-- | npc/015-3/_warps.txt | 3 | ||||
-rw-r--r-- | npc/015-3/barrier.txt | 29 | ||||
-rw-r--r-- | npc/015-3/katze.txt | 207 | ||||
-rw-r--r-- | npc/015-3/pot.txt | 111 |
6 files changed, 383 insertions, 0 deletions
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..7ed7bc67 --- /dev/null +++ b/npc/015-3/_mobs.txt @@ -0,0 +1,27 @@ +// 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,29,35,2,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..90107d63 --- /dev/null +++ b/npc/015-3/_warps.txt @@ -0,0 +1,3 @@ +// 015-3 warps + +015-3.gat,31,37 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..d532a473 --- /dev/null +++ b/npc/015-3/barrier.txt @@ -0,0 +1,29 @@ +// You can only enter the cat cave naked, otherwise the cat's reaction scares +// you away. Wearing a ring or amulet should be ok, but no checks are in for +// that yet. + +015-3.gat,31,36,0 script #CatCaveBarrier 127,1,1,{ + + if ((getequipid(equip_head) > 0 && getequipid(equip_head) != 1217) || + 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; +} |