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; }