As for Tanga's broomstick game:
The creating of the broom handle needs to be bi-directional:
Quote:
>tie string to straw
You weave the string through and around one end, forming a rough broom head.
>undo
The Tower
[Previous turn undone.]
>tie straw to string
You loop the piece of string around the straw and knot firmly.
Combining objects with string is mechanically very fiddly, and your interpretation goes a long way to ameliorating much of that fiddliness (but I do note many of the dreaded excess-line breaks!). The similar string dynamics in
Mammal were definitely the weak point of that game. Another way to combine things is to use a table of combinable objects, but then you don't have the joy of yanking things on leads and so on.
Some of the code didn't work exactly how you want it to. This:
Code:
Instead of attacking the witch finder:
if the witch finder is normal:
say "You swoop towards him but he ducks. As he stands he begins to shake, but not with fear. With anger. Oh, oh. Maybe that wasn't such a good idea.";
now the witch finder is angry;
if the witch finder is angry:
say "He seems on his guard. Perhaps you'd better leave.";
stop the action.
Gives the result:
Quote:
>hit witch
(the Witch Finder.)
You swoop towards him but he ducks. As he stands he begins to shake, but not with fear. With anger. Oh, oh. Maybe that wasn't such a good idea.
He seems on his guard. Perhaps you'd better leave.
Giving the secondary message after the first. This is because your instead rule runs through both section, with both firing. What you want is to throw an 'otherwise' in there, like so:
Code:
Instead of attacking the witch finder:
if the witch finder is normal:
say "You swoop towards him but he ducks. As he stands he begins to shake, but not with fear. With anger. Oh, oh. Maybe that wasn't such a good idea.";
now the witch finder is angry;
otherwise if the witch finder is angry:
say "He seems on his guard. Perhaps you'd better leave.";
stop the action.
Of course, I'd use check/carry/report rules nowadays rather than instead rules, but in general if something works in all ways that you want it to work, it doesn't really matter how you do it!