You can put very small objects in non-containers
Opened this issue · 0 comments
>PUT SMALL COIN ON ROCKER SWITCH
There's no good surface on the rocker switch.
>PUT SMALL COIN IN ROCKER SWITCH
You put the small coin on the rocker switch.
>TAKE SMALL COIN FROM ROCKER SWITCH
You can't see any small coin here.
First of all, the small coin (SCOIN
) is indeed very small:
<OBJECT SCOIN
(DESC "small coin")
(FLAGS TAKEABLE)
(SIZE 0)
(MASS 0)
(VALUE 0)
(SYNONYM COIN P PENCE MONEY CHANGE)
(ADJECTIVE MY SMALL TINY TWENTY)
(ACTION SCOIN-F)>
Other objects I've found that also have 0 both as SIZE
and MASS
:
COIN
CREDIT-CARD
BCOIN
PHOTO
The rocker switch (RSWITCH
) isn't a CONTAINER
, nor is it a SURFACE
, but it is OPENED
:
<OBJECT WSWITCH
(LOC WTK)
(DESC "rocker switch")
(FLAGS NODESC TRYTAKE NOALL OPENED)
(SYNONYM SWITCH)
(ADJECTIVE ROCKER)
(ACTION WSWITCH-F)>
And that is enough for V-PUT
to allow it.
This is going to be awful, isn't it? Other objects I was able to put the coin in:
LWDOOR
(which, unlike other such doors, does not put the object on the other side)TSWITCH
IBUTTON
OBUTTON
SDOORS
COTTAGE-DOOR
GARDEN-DOOR
ANTENNA
JDOOR
RSWITCH
SEGATE
BROOM-DOOR
NROOM-DOOR
LEFT-DOOR
RIGHT-DOOR
NEROOM-DOOR
SEROOM-DOOR
CLOSET-DOOR
SWROOM-DOOR
NWGATE
SWGATE
And I may still have missed a couple. (I was looking for any DOORLIKE
object, and any that uses OPENED
to keep track of its status.) It's possible to retrieve the object from most of these, but for some it seems to be impossible.
I don't know what's the best approach here is. The simplest way, by far, is probably to give the sizeless, massless objects a size. But then maybe the player won't be able to carry as much as he could before, and that could be bad.