Closed curiousdannii-testing closed 2 years ago
557058:4c095ffd-6d6f-47ce-9e73-77c613347b86:
Comment by zarf :
Confirmed.
The obvious soution is to add a check in TestConcealment() to make sure IndirectlyContains(A, B) before proceeding to the activity.
Fixed via this commit: https://github.com/ganelson/inform/commit/4a6c65d0117815d1611ba5ffb2c736d719f8d6dc
Comment by Graham Nelson:
Using Zarf's proposed fix. This is a change I make with some little trepidation, since it does change the definition of "concealment" in a fundamental way. But I agree that (a) this is better, (b) this is what the documentation implied all along, and (c) it is unlikely that anyone relied on the previous behaviour.
Reported by : DrFell
Description :
The relation "X conceals Y" does not imply "X encloses Y".
Steps to reproduce :
Additional information :
Test me produces...
Yourself, Mr Smith and some contraband
It may be that this is intended behaviour; if so then Section 3.24 of Writing with Inform and Example 225 in the Recipe Book are both rather misleading.
Section 3.24 says:
Here we make the Cloaked Villain invariably conceal anything she is holding or wearing:
Rule for deciding the concealed possessions of the Cloaked Villain: yes.
(In fact this makes the Cloaked Villain conceal every thing in the entire game.)
Example 225 "Interrogation" is too simple (just one room) to throw up problems in play, but we only need to modify it by adding a second room with an NPC in it to break the mechanics.
Add to the source:
The Antechamber is south of the Interrogation Chamber.
Dana is a person in the antechamber.
Test Dana with "go south / wave wand".
>Test Dana
(Testing.)
>[1] go south
anteroom
You can see Dana here.
>[2] wave wand
imported from: [Mantis 1999] concealment relation encompasses too muchThe wand glows green. Immediately you see on the monitor a quantity of plastic explosive (carried by Brian) and a microfilm (carried by Janine).