Personally, I think adding a SURFACE type where the contents are listed to the room seems like the most interesting.
Main chamber
The room is lit by a bright light coming from the altar along one wall, so you are easily able to make out every fold of the flesh-like walls, the dripping viscera and the blood pools along the walls.
A bloody alter is here, stained by apparent decades of sacrifices ...It glows with a bright light
On the bloody altar you see a constrained, heartless body, a still-beating heart and a blood-dripping desert kris.
> examine altar
The altar seems to be made from a white stone, with grooves leading down to the blood pools on the floor.
It looks extremely heavy.
It glows with a bright light.
On it, you see:
- The constrained body of a willing peon, with its heart removed
- A still-beating heart, now just pumping air
- A desert kris, bloodied and left behind.
> get kris
You get the blood-dripping desert kris from the altar.
> get heart from altar
You get the still-beating heart from the altar.
In this example, the altar is a surface, with three items. The items are easily visible, and you can interact directly with them.
To make this work, there's quite a lot of code that needs to be adjusted, but it's a possible way to go.