А почему поверхность при ее осмотре не выписывает список предметов, которые лежат на ней? И контейнеры тоже...
Гранд, может, доточить библиотеку? Какое-то глобальное упущение.
Пример. На столике лежит ключ. Если я напишу осмотреть столик
, то выведется ldesc
столика, но не напишется, что "на столике лежит ключ". Что, в целом, неправильно...
Неактивен
Традиционный вариант:
ldesc =
{
"Невысокий резной стол из темного дерева. ";
pass ldesc;
}
Неактивен
Не проверял, но на первый взгляд проблема в изобилии классов для сейфа. Он в первую очередь контейнер, а потом уже поверхность. В плане "нахождения" "на" и "в" реализованы одинаково, и поэтому когда кладешь что-то на сейф, оно оказывается внутри. Либо эта ситуация вообще неадекватно обрабатывается.
Неактивен
Да, нужны два объекта - "сейф" и "сейфовая ячейка". Некоторые действия над сейфом переадресовывать ячейке, а многие над ячейкой - сейфу.
Неактивен