Climbing a backdrop

Programming right now in Inform 7.
My goal is to have mounds which can be created dynamically within the game, and which can be climbed upon. My initial approach was to create mounds as a backdrop (instead of creating a unique mound object for every room in the game) then turn the mound on or off in particular rooms. I’d like to avoid having player put things on the mound (because the mound is everywhere) That’s easy (see code below). But I’m having more trouble preventing the player from dropping objects onto the mound when that is already the player’s location (the dropped object ends up in the mound.

Or have I already opened up a can of worms by defining the mound as a backdrop? I already see a whole lot more problems I need to solve (like changing the default messages to read “on the mound” instead of “in the mound”)

A room can be flat or mounded. A room is usually flat.

a mound is backdrop. "An earthen mound has been constructed here; several meters high with genrly sloping sides.". a mound is not scenery.

instead of climbing a mound:
	now player is on the mound;
	say "I'm on top of the world.".

instead of putting something (called thisobject) on a mound:
	say "[The (thisobject)] slides off onto the more level surroundings.";
	now thisobject is in location of the player.

instead of dropping something (called thisobject) when player is on the mound:
	say "[The (thisobject)] slides off onto the more level surroundings.";
	now thisobject is in the location of the player;

For taking care of the dropping case, you could try this:

instead of dropping something (called thisobject) when the holder of the player is the mound:
	say "[The (thisobject)] slides off onto the more level surroundings.";
	now thisobject is in the location of the player;

It might also be a good idea to do an Every Turn rule that moves anything other than the player that’s on the mound to the location, in case there’s some other way for things to wind up on the mound that you haven’t thought of.

As for the “in the mound”/“on the mound” messages, one thing I can think of–which is probably gratuitously overcomplicating things even more–is to make a moundtop enterable supporter which is part of the mound, and have climbing the mound move the player to the moundtop.

But if the issue is that you don’t want to define every mound by hand, you can take care of that without backdrops by defining mounded rooms as a kind of room rather than a property of rooms, and using a declaration to put one mound in every mounded room:

A mounded room is a kind of room.

a mound is a kind of supporter. The initial appearance of a mound is usually "An earthen mound has been constructed here; several meters high with genrly sloping sides.". a mound is usually enterable.

One mound is in every mounded room. 

instead of climbing a mound:
	now player is on the noun;
	say "I'm on top of the world.".

instead of putting something (called thisobject) on a mound:
	say "[The (thisobject)] slides off onto the more level surroundings.";
	now thisobject is in location of the player.

instead of dropping something (called thisobject) when the holder of the player is a mound:
	say "[The (thisobject)] slides off onto the more level surroundings.";
	now thisobject is in the location of the player;


Ledges is a mounded room. Cliff is a mounded room, south of Ledges. Plains is south of Cliff. The player carries a rock.

(And the mounds automatically get made fixed in place–I forget whether that’s a default for all supporters or just enterable ones.) Then you don’t necessarily need to have things slide off the mounds, though you can.

fascinating idea… gives a new twist to the late and unlamented mazes: climb mound, look around, get bearings, descend mound, move in the right direction.

Best regards from Italy,
dott. Piergiorgio.