Suppose I have some object that will resist attempts to pick it up unless certain conditions are met – for instance, a water wiggle:
Object -> WaterWiggle "water wiggle"
with name "water" "wiggle",
description "It's a slippery and rubbery bundle of fun.",
before [;
Take:
if (self hasnt general) {
give self general;
"You try to pick up ", (the) self, " but it
slips out of your fingers.";
}
print "Carefully, you pick up ", (the) self, ".^";
AttemptToTakeObject(self);
rtrue;
];
If you just try “TAKE WATER WIGGLE”, the take attempt fails the first time, then succeeds thereafter – correct behavior. However if I try “PUT WATER WIGGLE IN BOX”, the before property never runs and the water wiggle ends up in the box.
What am I doing wrong?