There is a bug in GetRoomDescription or ShowRoomDescription that it will not run a room description that is a script. I was looking at how this might be fixed, and it is quite complicated deciding what you want it to do. The problem is that GetRoomDescription returns a string with the description in it, so the script cannot be inside there (as scripts do not return a value; it will send output straight to the screen).
This means that scripts in rooms are pretty much incompatible with autodescriptions - was this always the case maybe? Also, as GetRoomDescription handles the room being dark, your script must check this.
The end of ShowRoomDescription would then be like this, I think:
else {
// This part modified to get scripts to display
if (HasScript(game.pov.parent, "description")) {
do (game.pov.parent, "description")
}
else {
fulldesc = GetRoomDescription()
if (LengthOf(fulldesc) > 0) {
Print (fulldesc)
}
}
if (not GetBoolean (game, "noobjectlist")) {
objects = FormatObjectList(game.pov.parent.objectslistprefix, GetNonTransparentParent(game.pov.parent), Template("And"), ".", false)
if (LengthOf(objects) > 0) {
Print (objects)
}
}
}
Oh, I sneaked in an extra option for game, noobjectlist, allowing you to suppress the list of visible objects (there are listed in the pane on the right anyway).
I am asking this because how this is implemented will affect my games, and I do not want to go too far don the wrong road, so a prompt authorative answer (or new release) would be appreciated.