1
0
1
2 46 1 73 89 91 95
11
level
(0)
1
0
0
5
.
owner
(#1)
1
0
0
5
.
pubread
(1)
1
0
0
5
.
pubwrite
(0)
1
0
0
5
.
fertile
(1)
1
0
0
5
.
name
("root")
1
0
0
5
.
aliases
(())
1
0
0
5
.
rootprop
("yes")
1
0
0
5
.
description
("The root from which all objects sprout.")
1
0
0
5
.
contents
(())
1
0
0
5
.
location
(#0)
1
0
0
5
.
10
description
self.description
.
7
0
oThis pNone oThis
5
.
name
(try self.name "Unnamed object")
.
7
0
oThis pNone oThis
5
.
@describe
(let ((new-desc iobjstr))
  (do
   (settaskperms caller)
   (setprop self "description" new-desc)
   (echo "Description of " self " changed to \"" new-desc "\"")))
.
7
0
oThis pAs oStr
5
.
look
(echo (self:description))
.
7
0
oThis pNone oNone
5
.
get
(let
  ((loc (getprop self "location" $nowhere))
   (caller-loc (getprop caller "location" $nowhere)))
   
  (if (= loc caller-loc)
      (try
        (do
          (move self caller)
          (caller-loc:announce caller (cat caller.name " gets " self.name "."))
          (echo "Taken."))

        (echo "Could not get " self.name "!"))
      (echo self.name " is not here.")))
.
7
0
oThis pNone oNone
5
.
drop
(let
  ((loc (getprop self "location" $nowhere))
   (caller-loc (getprop caller "location" $nowhere)))
   
  (if (= loc caller)
      (try
        (do
          (move self caller-loc)
          (caller-loc:announce caller (cat caller.name " drops " self.name "."))
          (echo "Dropped."))

        (echo "Could not drop " self.name "!"))
      (echo "You are not carrying " self.name ".")))
.
7
0
oThis pNone oNone
5
.
tell
(notify self (call cat args))
.
7
0
oNone pNone oNone
5
.
has-prop?
;;; Arguments: prop-ref (str)
;;; Returns 1 if this object has a property called prop-ref

(let ((prop-ref (get args 0)))
  (< -1 (in (props self) prop-ref)))
.
7
0
oNone pNone oNone
5
.
@alias
(do
 (settaskperms caller)
 (let ((cur-aliases self.aliases)
       (new-aliases (setadd cur-aliases iobjstr)))
   (do 
    (setprop self "aliases" new-aliases)
    (caller:tell "Added alias \"" iobjstr "\" to \"" ($o self) ". "
                 "This object is now also known as " new-aliases "."))))
.
7
0
oThis pAt oAny
5
.
@unalias
(echo "HI")
.
7
0
oThis pFrom oAny
5
.
