In addition to the command verbs described under `help containers'
and the _msg properties described in `help container-messages',
the following verbs and properties are available for use within programs
.opened == TRUE iff the container is open
.dark == TRUE iff the contents of the container may be seen
.opaque -- describes the correlation between .open and .dark
== 0 container is always !dark
== 1 container is dark iff it is closed
== 2 container is always dark
:set_opaque(newvalue)
changes the .opaque value for the container
=> newvalue or E_PERM or E_INVARG
:set_opened(newvalue)
opens/closes the container (updates .open and .dark) according to newvalue
=> newvalue or E_PERM
:is_openable_by(player)
what the :open command uses to test whether the player should be able to open
the container. By default this refers to .open_key (set by
@(un)lock_for_open), but the object owner is free to customize this.
N.B.: There is no way to directly set .dark; .dark can be changed only by
changing one of .opaque or .opened. Use :set_opaque(0) and :set_opaque(2)
to have .dark change independently of the value of .opened.