diff options
Diffstat (limited to 'npc/015-3/pot.txt')
-rwxr-xr-x | npc/015-3/pot.txt | 122 |
1 files changed, 122 insertions, 0 deletions
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; +} |