Open eriktorbjorn opened 5 years ago
"CLIMB DOWN" from the Cliff in Zork III also prints "The object#226 doesn't lead downward."
Considering the sheer number of cases, I'd say it's probably best to fix V-CLIMB-UP
to print something sensible. (Or set a sensible description on ROOMS
, but I have a hard time thinking of any that fits the "The object do[es]'nt lead [up|down]ward." message.
Actually, simply changing the <COND (.OBJ
to test that there is an object that isn't the ROOMS
object might be the most appropriate fix. Then the player will try to walk in the direction instead, which should print the appropriate message.
I tried this in East of Chasm:
I think "object#248" is the
ROOMS
object. There is a case inGWIM
where it apparently checks if the syntax usesFIND MUNGBIT
, in which case it returnsROOMS
:And one of the syntaxes for "CLIMB DOWN" is:
Apparently this is the standard way of defining an action that can, but doesn't have to, take an object. I.e. you can both "CLIMB DOWN" and "CLIMB DOWN LADDER". (Though the actual bit may differ between games.)
V-CLIMB-DOWN
simply calls<V-CLIMB-UP ,P?DOWN ,PRSO>
.If there is an
NEXIT
in the direction, or if there is aCEXIT
,DEXIT
orUEXIT
in that direction the object you're trying to climb is not a local global object in the room, it prints a message that the object doesn't lead that way.The
ROOMS
object does not have aDESC
property, so there is no object name to print.So the problem should actually happen in any room where the up or down exit is a
NEXIT
, i.e. simply prints a string, if it goes through the default code. It does not happen if you try to "CLIMB UP" in the forest, but that's probably because ofFOREST-ROOM
: