diff options
author | Jesusaves <cpntb1@ymail.com> | 2021-04-09 13:33:57 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2021-04-09 13:33:57 -0300 |
commit | cf18ce071c79ae37e14ea38943e0b1d88da70a7b (patch) | |
tree | f9159c9b60b3018300dd22ffba0d797bc5e828e5 /npc/015-3 | |
parent | 8a4bf716002a017de77fe7df301ef8e4aaf00a2e (diff) | |
download | serverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.tar.gz serverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.tar.bz2 serverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.tar.xz serverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.zip |
Override
Diffstat (limited to 'npc/015-3')
-rw-r--r-- | npc/015-3/_import.txt | 8 | ||||
-rw-r--r-- | npc/015-3/_mobs.txt | 6 | ||||
-rw-r--r-- | npc/015-3/_warps.txt | 3 | ||||
-rwxr-xr-x | npc/015-3/barrier.txt | 38 | ||||
-rwxr-xr-x | npc/015-3/katze.txt | 185 | ||||
-rwxr-xr-x | npc/015-3/mapflags.txt | 2 | ||||
-rwxr-xr-x | npc/015-3/pot.txt | 122 |
7 files changed, 364 insertions, 0 deletions
diff --git a/npc/015-3/_import.txt b/npc/015-3/_import.txt new file mode 100644 index 00000000..fedbd433 --- /dev/null +++ b/npc/015-3/_import.txt @@ -0,0 +1,8 @@ +// Map 015-3: Cat's Cave +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/015-3/_mobs.txt", +"npc/015-3/_warps.txt", +"npc/015-3/barrier.txt", +"npc/015-3/katze.txt", +"npc/015-3/mapflags.txt", +"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..0e700948 --- /dev/null +++ b/npc/015-3/_mobs.txt @@ -0,0 +1,6 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 015-3: Cat's Cave mobs +015-3,22,25,1,2 monster Manana Tree 1017,2,100000,30000 +015-3,29,31,1,1 monster Piou 1002,2,100000,30000 +015-3,23,19,0,0 monster Piou 1002,1,100000,30000 +015-3,40,19,0,0 monster Frostiana 1012,1,100000,30000 diff --git a/npc/015-3/_warps.txt b/npc/015-3/_warps.txt new file mode 100644 index 00000000..a9ba28a6 --- /dev/null +++ b/npc/015-3/_warps.txt @@ -0,0 +1,3 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 015-3: Cat's Cave warps +015-3,31,43,0 warp #015-3_31_43 0,0,015-1,59,32 diff --git a/npc/015-3/barrier.txt b/npc/015-3/barrier.txt new file mode 100755 index 00000000..320025f6 --- /dev/null +++ b/npc/015-3/barrier.txt @@ -0,0 +1,38 @@ + +015-3,31,42,0 script #CatCaveBarrier NPC45,1,1,{ + @Hiss = ((Katze & NIBBLE_1_MASK) >> NIBBLE_1_SHIFT); + 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 (@Hiss != 2) + mes "\"Hissss...\""; + @Hiss = 2; + callsub S_Update_Hiss; + goto L_close; + +L_Not_Naked: + warp "015-1", 60, 32; + @Hiss = 1; + callsub S_Update_Hiss; + mes "\"GRAAUWL! Hissss...\""; + mes "Scared of what you hear, you flee back outside."; + goto L_close; + +L_close: + @Hiss = 0; + close; + +S_Update_Hiss: + Katze = (Katze & ~(NIBBLE_1_MASK)) | (@Hiss << NIBBLE_1_SHIFT); + return; +} diff --git a/npc/015-3/katze.txt b/npc/015-3/katze.txt new file mode 100755 index 00000000..0647abc6 --- /dev/null +++ b/npc/015-3/katze.txt @@ -0,0 +1,185 @@ + +015-3,32,25,0 script Katze NPC172,{ + @cat = ((Katze & NIBBLE_0_MASK) >> NIBBLE_0_SHIFT); + + if (@cat == 1 && @catNeedsAlone == 0) goto L_NeedsFood; + if (@cat == 1) goto L_NeedsFood; + if (@cat == 2 && @catNeedsAlone == 0) goto L_NeedsFur; + if (@cat == 2) goto L_NeedsFur; + if (@cat == 3) goto L_NeedsWood; + if (@cat == 4 && @catNeedsAlone == 0) goto L_NeedsStuff; + if (@cat == 4) goto L_PreNeedsStuff; + if (@cat == 5) goto L_NeedsStuff2; + if (@cat == 6 && @catNeedsAlone == 0) goto L_GainEars; + if (@cat == 6) goto L_PreGainEars; + if (@cat == 7) goto L_Finished; + goto L_NeedsMilk; + +L_NeedsMilk: + mes "[Katze]"; + mes "\"Meow.\""; + next; + menu "Throw a stone at the cat.", L_ThrowStone, + "Leave the cat alone.", L_close; + +L_ThrowStone: + @cat = 0; + callsub S_Update_Katze; + heal ((MaxHp/100) * -30), 0; + warp "015-1", 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..."; + goto L_close; + +L_NeedsFood: + mes "[Katze]"; + mes "\"Meow, prrrr...\""; + next; + menu + "Throw a stone at the cat.", L_ThrowStone, + "Leave the cat alone.", L_close; + +L_NeedsFur: + mes "[Katze]"; + mes "\"Prrr. Meow, prrr...\""; + next; + if (countitem("WhiteFur") > 0) + menu + "Make funny movements with the fur near the ground.", L_MoveFur, + "Throw a stone at the cat.", L_ThrowStone, + "Leave the cat alone.", L_close; + if (countitem("WhiteFur") == 0) + menu + "Throw a stone at the cat.", L_ThrowStone, + "Leave the cat alone.", L_close; + goto L_close; + +L_MoveFur: + delitem "WhiteFur", 1; + @cat = 3; + callsub S_Update_Katze; + 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."; + goto L_close; + +L_NeedsWood: + mes "[Katze]"; + mes "\"Prrrr, now I'd like something to sharpen my claws on.\""; + next; + + if (countitem("RawLog") > 0) + menu + "Want this piece of wood?", L_GiveWood, + "Ok, see you later.", L_close; + goto L_close; + +L_GiveWood: + mes "[Katze]"; + mes "\"Sure! Please put it next to the pot.\""; + goto L_close; + +L_PreNeedsStuff: + mes "The cat is still eyeing the piece of wood. She probably needs to be left alone for a bit again."; + goto L_close; + +L_NeedsStuff: + @cat = 5; + callsub S_Update_Katze; + 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.\""; + goto L_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.", L_close; + +L_WhatsNeeded: + mes "[Katze]"; + mes "\"Actually, you should have remembered yourself.\""; + next; + menu + "Please tell me.", L_Please, + "Never mind.", L_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.\""; + goto L_close; + +L_CatChecksStuff: + if (countitem("SnakeSkin") > 1 + && countitem("SnakeTongue") > 1 + && countitem("MaggotSlime") > 1 + && countitem("WhiteFur") > 1 + && countitem("HardSpike") > 1 + && countitem("TinyHealingPotion") > 1) + goto L_GiveStuff; + mes "[Katze]"; + mes "\"You don't seem to have everything yet. Come back later when you do.\""; + goto L_close; + +L_GiveStuff: + delitem "SnakeSkin", 2; + delitem "SnakeTongue", 2; + delitem "MaggotSlime", 2; + delitem "WhiteFur", 2; + delitem "HardSpike", 2; + delitem "TinyHealingPotion", 2; + @cat = 6; + callsub S_Update_Katze; + @catNeedsAlone = 1; + mes "[Katze]"; + mes "\"Nicely done! Now leave me alone for a while, I need some time to prepare your present.\""; + goto L_close; + +L_PreGainEars: + mes "[Katze]"; + mes "\"Please leave me alone for a while, so I can prepare your present.\""; + goto L_close; + +L_GainEars: + getitem "CatEars", 1; + @xpval = 5000; + getexp @xpval, 0; + @cat = 7; + callsub S_Update_Katze; + 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]"; + goto L_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?\""; + goto L_close; + +L_close: + @cat = 0; + close; + +S_Update_Katze: + Katze = (Katze & ~(NIBBLE_0_MASK)) | (@cat << NIBBLE_0_SHIFT); + return; +} diff --git a/npc/015-3/mapflags.txt b/npc/015-3/mapflags.txt new file mode 100755 index 00000000..049e6274 --- /dev/null +++ b/npc/015-3/mapflags.txt @@ -0,0 +1,2 @@ +015-3 mapflag nosave 015-1,59,32 +//015-3 mapflag resave 010-1,27,97 diff --git a/npc/015-3/pot.txt b/npc/015-3/pot.txt new file mode 100755 index 00000000..4516c13f --- /dev/null +++ b/npc/015-3/pot.txt @@ -0,0 +1,122 @@ + +015-3,37,29,0 script Pot NPC400,{ + @cat = ((Katze & NIBBLE_0_MASK) >> NIBBLE_0_SHIFT); + + if (@cat > 0) + mes "It's that old pot again."; + if (@cat == 0) + mes "It's a pot."; + next; + + if (@cat == 1 && @catNeedsAlone == 0) + goto L_NeedsFood; + if (@cat == 1) + goto L_HasMilk; + if (@cat == 2 && @catNeedsAlone == 0) + goto L_NeedsFur; + if (@cat == 2) + goto L_HasFood; + if (@cat == 3) + goto L_NeedsWood; + if (@cat == 4 && @catNeedsAlone == 1) + goto L_HasWood; + if (@cat >= 4) + goto L_close; + goto L_NeedsMilk; + +L_NeedsMilk: + if (countitem("Milk") > 0) + menu + "Pour in some milk.", L_GiveMilk, + "Leave it alone.", L_close; + goto L_close; + +L_GiveMilk: + delitem "Milk", 1; + @cat = 1; + callsub S_Update_Katze; + @catNeedsAlone = 1; + goto L_close; + +L_HasMilk: + mes "There is milk in it."; + goto L_close; + +L_NeedsFood: + mes "The milk is gone!"; + next; + + if (countitem("ChickenLeg") > 0 && countitem("Steak") > 0) + menu + "Put in a chicken leg.", L_GiveChicken, + "Put in a steak.", L_GiveSteak, + "Leave it alone.", L_close; + if (countitem("ChickenLeg") > 0 && countitem("Steak") == 0) + menu + "Put in a chicken leg.", L_GiveChicken, + "Leave it alone.", L_close; + if (countitem("ChickenLeg") == 0 && countitem("Steak") > 0) + menu + "Put in a steak.", L_GiveSteak, + "Leave it alone.", L_close; + goto L_close; + +L_GiveChicken: + delitem "ChickenLeg", 1; + @cat = 2; + callsub S_Update_Katze; + @catNeedsAlone = 1; + goto L_close; + +L_GiveSteak: + delitem "Steak", 1; + @cat = 2; + callsub S_Update_Katze; + @catNeedsAlone = 1; + goto L_close; + +L_HasFood: + mes "There is some food in it."; + goto L_close; + +L_NeedsFur: + mes "And it's empty!"; + next; + + if (countitem("WhiteFur") > 0) + menu + "Put a white fur next to the pot.", L_GiveFur, + "Leave it alone.", L_close; + goto L_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."; + goto L_close; + +L_NeedsWood: + if (countitem("RawLog") > 0) + menu + "Put a wooden log next to the pot.", L_GiveWood, + "Leave it alone.", L_close; + goto L_close; + +L_GiveWood: + delitem "RawLog", 1; + @cat = 4; + callsub S_Update_Katze; + @catNeedsAlone = 1; + mes "You put the wooden log next to the pot. The cat eyes it suspiciously, but remains on her spot."; + goto L_close; + +L_HasWood: + mes "A wooden log is patiently lying next to it."; + goto L_close; + +L_close: + @cat = 0; + close; + +S_Update_Katze: + Katze = (Katze & ~(NIBBLE_0_MASK)) | (@cat << NIBBLE_0_SHIFT); + return; +} |