MantisBT - Core Inform
View Issue Details
0002073Core InformActivitiespublic2018-09-07 00:552018-09-11 01:48
Eleas 
 
normalcosmeticalways
newopen 
x86Windows7
6M62 
 
(serious/mild) Game compiles but misbehaves
0002073: Both examine containers and examine supporters rules inconsistent when contents are concealed
When a container or supporter holds nothing but concealed things, a spurious message ("In [the container] is nothing.") is printed on examination.

a box is a kind of container. some mud is a kind of thing.
some mud is in every box.

box1, box2, box3, box4 are boxes.
The description of the box1 is "Papery."
The description of the box3 is "Papery."

every box is here.
Rule for deciding the concealed possessions of box3: yes.
Rule for deciding the concealed possessions of box4: yes.

test me with "x box1 / x box2 / x box3 / x box4".
Suggested fix:

Carry out examining (this is the tweaked examine containers rule):
	if the noun is a container:
		if the noun is open or the noun is transparent and the noun holds a not concealed thing:
			if something described which is not scenery is in the noun and something which
				is not the player is in the noun:
				say "In [the noun] " (A);
				list the contents of the noun, as a sentence, tersely, not listing
					concealed items, prefacing with is/are;
				say ".";
				now examine text printed is true;
			otherwise if examine text printed is false:
				if the player is in the noun:
					make no decision;
				say "[The noun] [are] empty." (B);
				now examine text printed is true.


and

Carry out examining (this is the tweaked examine supporters rule):
	if the noun is a supporter and the noun supports a not concealed thing:
		if something described which is not scenery is on the noun and something which is
			not the player is on the noun:
			say "On [the noun] " (A);
			list the contents of the noun, as a sentence, tersely, not listing
				concealed items, prefacing with is/are, including contents,
				giving brief inventory information;
			say ".";
			now examine text printed is true.
No tags attached.
related to 0002083new  Containers holding concealed items do not show the " (empty)" detail text. 
Issue History
2018-09-07 00:55EleasNew Issue
2018-09-07 02:55EleasNote Added: 0004802
2018-09-07 02:57EleasNote Edited: 0004802bug_revision_view_page.php?bugnote_id=0004802#r1427
2018-09-07 03:15EleasNote Edited: 0004802bug_revision_view_page.php?bugnote_id=0004802#r1428
2018-09-08 21:03zarfNote Added: 0004803
2018-09-08 21:07zarfNote Added: 0004804
2018-09-08 21:08zarfNote Edited: 0004803bug_revision_view_page.php?bugnote_id=0004803#r1430
2018-09-10 01:09EleasNote Added: 0004805
2018-09-10 01:16EleasNote Edited: 0004805bug_revision_view_page.php?bugnote_id=0004805#r1432
2018-09-10 01:48EleasNote Edited: 0004805bug_revision_view_page.php?bugnote_id=0004805#r1433
2018-09-10 20:37zarfNote Added: 0004806
2018-09-11 01:48EleasNote Added: 0004808
2018-12-16 15:58zarfRelationship addedrelated to 0002083

Notes
(0004802)
Eleas   
2018-09-07 02:55   
(edited on: 2018-09-07 03:15)
Another instance of this bug is found in the you-can-also-see rule (evidenced by starting the game with the player inside box3).

Also, the logical precedence of my tweak to the examine containers rule is unclear. That probably ought to be simplified:

Carry out examining (this is the examine containers rule):
	if the noun is a container and an unconcealed thing is in the noun:
		if the noun is open or the noun is transparent:
			if something described which is not scenery is in the noun and something which
				is not the player is in the noun:
				say "In [the noun] " (A);
				list the contents of the noun, as a sentence, tersely, not listing
					concealed items, prefacing with is/are;
				say ".";
				now examine text printed is true;
			otherwise if examine text printed is false:
				if the player is in the noun:
					make no decision;
				say "[The noun] [are] empty." (B);
				now examine text printed is true.


(0004803)
zarf   
2018-09-08 21:03   
(edited on: 2018-09-08 21:08)
Note: this is about the I7 "deciding the concealed possessions" rulebook, not the I6 "concealed" ("described") property.

(The proposed fix tests "described", but only because the existing Standard Rules code does. This confused me briefly.)

(0004804)
zarf   
2018-09-08 21:07   
As to your fix: I think that if all the contents are concealed, it should fall into the existing "[The noun] [are] empty" case. That is, undescribed and concealed objects should be equivalent in the logic.
(0004805)
Eleas   
2018-09-10 01:09   
(edited on: 2018-09-10 01:48)
I'm slightly confused. When a container is described but empty, the "[The noun] [are] empty" case does not trigger. Is that behavior as intended? If so, would

Carry out examining (this is the examine containers rule):
	if the noun is a container:
		if the noun is open or the noun is transparent:
			if something described which is not scenery is in the noun and something unconcealed which
				is not the player is in the noun:
				say "In [the noun] " (A);
				list the contents of the noun, as a sentence, tersely, not listing
					concealed items, prefacing with is/are;
				say ".";
				now examine text printed is true;
			otherwise if examine text printed is false:
				if the player is in the noun:
					make no decision;
				say "[The noun] [are] empty." (B);
				now examine text printed is true.


do the trick?

(0004806)
zarf   
2018-09-10 20:37   
I was thinking of

if something for-real-visible is in the noun and something which is not the player is in the noun:

...where "for-real-visible" is true if the object is described and unconcealed and not-scenery.
(0004808)
Eleas   
2018-09-11 01:48   
Fair enough. Anyway, bug confirmed?