curiousdannii-testing / inform7-imported-bugs

0 stars 0 forks source link

[I7-2056] [Mantis 2093] Entering a door that lacks a "door_dir" property sends player to limbo. #28

Closed curiousdannii-testing closed 2 years ago

curiousdannii-testing commented 2 years ago

Reported by : DavidG

Description :

This was sent to me by Jason Self.

Suppose we have an object with a door property, but no door_dir property. If you try to ENTER the object (or SIT or STAND ON), the result is something like this:


>sit
(on top of the door)

[** Programming error: Room (object number 37) has no property 0> to read **]

[** Programming error: tried to "move" yourself to Class **]

[** Programming error: tried to find the "child" of Class **]

Darkness
It is pitch dark, and you can't see a thing.

The Room

[** Programming error: tried to "give" an attribute to Class **]

Steps to reproduce :


Additional information :

Also reported at https://gitlab.com/DavidGriffith/inform6lib/issues/57

imported from: [Mantis 2093] Entering a door that lacks a "door_dir" property sends player to limbo.
  • status: Closed
  • resolution: Resolved
  • resolved: 2022-04-07T05:02:48+10:00
  • imported: 2022/01/10
curiousdannii-testing commented 2 years ago

557058:4c095ffd-6d6f-47ce-9e73-77c613347b86:

Comment by DavidG :


Constant Story "DOOR BUGS";
Constant Headline "An Interactive Bug Reproduction";
Constant DEBUG;
!Constant NO_SCORE;

Include "parser.h";
Include "verblib.h";

!statusline time;

Object Start_Room "Somewhere"
with description "You're not sure where you are.",
has light;

Object -> mysteriousdoor "mysterious door"
with name 'mysterious' 'door',
description "A huge and mysterious door just standing in the middle
of the room.",
with_key onyxkey,
has static door openable locked;

Object -> onyxkey "onyx key"
with namy 'onyx' 'key',
description "An old-fashioned warded key with a handle of black
onyx. It is inscribed with PROPERTY OF MANGAR.";

[ Initialise;
location = Start_Room;
! sys_statusline_flag = true;
! the_time = 45;

"It is time to do some bugfixing...";
];

Include "grammar.h";

curiousdannii-testing commented 2 years ago

557058:4c095ffd-6d6f-47ce-9e73-77c613347b86:

Comment by DavidG :
Fascinating. This bug goes at least as far back as 6/11 (6.11)

curiousdannii-testing commented 2 years ago

557058:4c095ffd-6d6f-47ce-9e73-77c613347b86:

Comment by DavidG :
If an object has the "door" attribute but lacks a "door_dir" property, then attempting to enter the door, the player will be sent to some sort of limbo where it's dark, but the outside room is still visible. This happens whether or not the door is closed.

curiousdannii-testing commented 2 years ago

557058:4c095ffd-6d6f-47ce-9e73-77c613347b86:

Comment by DavidG :
Fixed in https://gitlab.com/DavidGriffith/inform6lib/commit/c38dc2d958a76194b7482642794b656c1223505e