Can't remove an object after pushing it?

This seems so odd it looks like a bug, but more probably I’m missing something.

"Example" by Zyzzyva

Cold Room is a room. "A very cold room, with a door to the south." 

Hot Room is south of Cold Room. "A very hot room, with a door to the north." 

A giant ice cube is in Cold Room. It is fixed in place and pushable between rooms.

After going with the ice cube to Hot Room:
	say "The ice melts as you push it.";
	now the ice cube is nowhere;
	continue the action.

The ice cube… isn’t removed from play properly? But even weirder, it doesn’t show up on the first, implicit, look action.

Cold Room
A very cold room, with a door to the south.
You can see a giant ice cube here.

push ice cube south
The ice melts as you push it.
Hot Room
A very hot room, with a door to the north.

look
Hot Room
A very hot room, with a door to the north.
You can see a giant ice cube here.

My guess, based on the observed behaviour, is the standard rules move a pushed object after the regular going action completes (thereby allowing the first look to correctly not see the ice cube), but that seems odd. RULES didn’t help much: there’s nothing in there that looks like a “move pushed object” rule.

Anybody know what’s going on?

I haven’t looked into the rules, but I’m sure that’s right.

You might want to write an “every turn” rule that melts the ice cube if it’s in the hot room, regardless of how it got there.

You could also try removing the cube during the CARRY OUT phase.

After a quick look: Yeah, it’s not very clear. The relevant rule is the “standard pushing in directions” rule, which invokes an I6 template routine.

The implementation looks roughly like this:

  • secretly move pushed-object to the player’s inventory;
  • try going direction;
  • secretly move pushed-object to the player’s location.

Your “after going” rule happens during step 2, so yes, the object gets shifted after that.

2 Likes

Ugh, but clear enough, I guess. Might as well move the melting text to Report while I’m at it, then.