10 name "Generic builder" / clone-object-cmd (method (inline) (if (= player this) (ignore E_PERM (var ob (if (set ob (std-match (index 2 inline))) (if (set ob (ob:copy)) (tell (+ "Successfully cloned to make object " (tostr ob) ": " (ob:get-name) "\n")) (tell "That object refuses to be cloned\n")) (tell "I don't see that here!\n")))))) / clone-syntax (method (ignored) (if (= player this) (tell-line "Syntax: @clone <object>"))) / exit-syntax (method (inline) (if (= player this) (tell-line "Syntax: @exit <name> to <destination>"))) / exit-cmd (method (inline) (if (= player this) (var new-exit (if (set new-exit ($exit:copy)) (begin (new-exit:set-name (index 2 inline)) (if (new-exit:move-to location) (var dest (if (set dest (std-match (index 4 inline))) (ignore E_PERM (if (new-exit:link dest) (tell "Exit created, linked\n") (begin (new-exit:destroy) (tell "You can't link an exit to there\n")))) (begin (new-exit:destroy) (tell "I don't see that destination\n")))) (begin (new-exit:destroy) (tell "This room doesn't allow the new exit\n")))) (tell "You cannot create a new exit\n"))))) / dig-syntax (method (inline) (if (= player this) (tell-line "Syntax: @dig <roomname>"))) / dig-cmd (method (inline) (if (= player this) (var new-room (if (= (typeof (set new-room ($room:copy))) 'OBJECT) (tell (+ "Room " (tostr new-room) " dug, named " (new-room:set-name (index 2 inline)) "\n")) (tell "Sorry, you can't create a new room\n"))))) / rename-syntax (method (ignored) (if (= player this) (tell-line "Syntax: @rename <object> to <name>"))) / rename-cmd (method (inline) (if (= player this) (var match (if (set match (std-match (index 2 inline))) (ignore E_PERM (if (match:set-name (index 4 inline)) (tell "Name changed\n") (tell "You cannot change that object\n"))) (tell "I don't see that here\n"))) (rename-syntax inline))) / set-name (method (newname) (if (std-match newname) (begin (player:tell-line "That name is already in use.") '()) (pass newname))) / alias-syntax (method (ignored) (if (= player this) (tell-line "Syntax: @alias <object> to <name>"))) / alias-cmd (method (inline) (if (= player this) (var match (if (set match (std-match (index (if (= (index 3 inline) "=") 4 2) inline))) (ignore E_PERM (if (match:add-alias (index (if (= (index 3 inline) "=") 2 4) inline)) (tell "Alias added\n") (tell "You cannot change that object\n"))) (tell "I don't see that here\n"))) (alias-syntax inline))) / rmalias-syntax (method (ignored) (if (= player this) (tell-line "Syntax: @rmalias <name> on <object>"))) / rmalias-cmd (method (inline) (if (= player this) (var match (if (set match (std-match (index (if (= (index 3 inline) "=") 2 4) inline))) (ignore E_PERM (if (match:rm-alias (index (if (= (index 3 inline) "=") 4 2) inline)) (tell-line "Alias removed") (tell-line "You cannot change that object"))) (tell-line "I don't see that here"))) (rmalias-syntax inline))) / recycle-syntax (method (ignored) (if (= player this) (tell-line "Syntax: @recycle <object>"))) / recycle-cmd (method (inline) (if (= player this) (var match (if (set match (std-match (index 2 inline))) (handle E_PERM (method (en es) (tell-line "You cannot recycle that object")) (begin (match:destroy) (tell-line "Object recycled"))) (tell-line "I don't see that here"))))) / list-helper (method (objname pname) (var on (if (set on (std-match objname)) (tell-line (on:list-method (tosym pname))) (tell "I don't see that here\n")))) / list-command (method (inline) (if (write-ok? caller) (if (= (index 3 inline) "=") (list-helper (index 2 inline) (index 4 inline)) (if (= (index 3 inline) "on") (list-helper (index 4 inline) (index 2 inline)) (ignore E_VAR_NOT_FOUND (if (eval (set inline (tosym (index 4 inline)))) (tell (list-method inline)) (tell "That variable does not exist on you.\n"))))))) / list-syntax (method (unused) (if (= player this) (tell "Syntax: @list <variable name> [on <object>]\n"))) / show-syntax (method (unused) (if (= player this) (tell "Syntax: @show <object>\n"))) / show-command (method (inline) (if (= player this) (var match (if (set match (std-match (index 2 inline))) (match:~show-this) (tell "I don't see that here.\n"))))) / / '("@clone" SOME) clone-object-cmd '("@clone") clone-syntax '("@rename") rename-syntax '("@name") rename-syntax '("@rename" (or (before "=") (before " as ") (before " to ") WORD) (or "=" "as" "to" "") REST) rename-cmd '("@name" (or (before "=") (before " as ") (before " to ") WORD) (or "=" "as" "to" "") REST) rename-cmd '("@addalias") alias-syntax '("@addalias" (or (before "=") (before " to ") WORD) (or "=" "to" "") SOME) alias-cmd '("@alias") alias-syntax '("@alias" (or (before "=") (before " to ") WORD) (or "=" "to" "") SOME) alias-cmd '("@rmalias" (or (before "=") (before " on ") (before " from ") WORD) (or "=" "on" "from" "") SOME) rmalias-cmd '("@rmalias") rmalias-syntax '("@recycle") recycle-syntax '("@recycle" SOME) recycle-cmd '("@dig") dig-syntax '("@dig" SOME) dig-cmd '("@exit") exit-syntax '("@exit" (or (before "=") (before " to ")) (or "=" "to") SOME) exit-cmd '("@list") list-syntax '("@list" (or (before "=") (before " on ") "") (or "=" "on" "") SOME) list-command '("@show") show-syntax '("@show" REST) show-command /+++++++++ end of object #11 ... no lines after this ++++++++++