summaryrefslogtreecommitdiff
path: root/npc/015-3/pot.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/015-3/pot.txt')
-rw-r--r--npc/015-3/pot.txt122
1 files changed, 122 insertions, 0 deletions
diff --git a/npc/015-3/pot.txt b/npc/015-3/pot.txt
new file mode 100644
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;
+}