johanberntsson / PunyInform

A fast and compact library for writing text adventure games for the Z-machine running on 8-bit computers as well as other platforms.
MIT License
176 stars 17 forks source link

Open container indication missing in tall inventory #131

Closed auraes closed 2 weeks ago

auraes commented 2 weeks ago

With tall inventory, a container object will only indicate that it is open if it also has the transparent attribute:

Object -> Chest "chest"
  with name 'chest',
  has container open openable;

> i                                                                             
You're carrying:                                                                
  a chest                                                  
    a coin

Object -> Chest "chest"
  with name 'chest',
  has container open openable transparent;

> i                                                                             
You're carrying:                                                                
  a chest (which is open)                                                       
    a coin
fredrikr commented 2 weeks ago

Thanks for giving this changed functionality a whirl!

The example you show works just the way we intended.

We want to print these pieces of text to give the player extra information. In the case where they can see that a non-transparent container holds an item, they already know the container is open, so there's no need to tell them. However, if the container is transparent, just seeing the contents doesn't mean the player knows whether the container is open or not.

fredrikr commented 2 weeks ago

(We expect the player to know which containers are transparent, either because it's obvious from the object name, or because the game has told them)

fredrikr commented 2 weeks ago

You have a point in that we say "(which is open and contains a coin)" in wide format.

We'll discuss it and decide on what to do, if anything.

fredrikr commented 2 weeks ago

We decided to remove "which is open" for an openable, open, non-transparent, non-empty container for wide listing too.