Builder Options (#117)

(an instance of Generic Option Package made by Dred)

     Option package for $builder commands. See `help @build-options'.

Go to location of this object, Cluttered Closet.



VERB SOURCE CODE:

check_create_flags:
value = args[1];
if (m = match(value, "[^rwf]"))
    return tostr("Unknown object flag:  ", value[m[1]]);
else
    return {tostr(index(value, "r") ? "r" | "", index(value, "w") ? "w" | "", index(value, 
"f") ? "f" | "")};
endif
.


show_create_flags:
if (value = this:get(@args))
    return {value, {tostr("Object flags for @create:  ", value)}};
else
    return {0, {tostr("@create leaves all object flags reset")}};
endif
.


parse_create_flags:
raw = args[2];
if (raw == 1)
    "...+create_flags => create_flags=r";
    return {args[1], "r"};
elseif (typeof(raw) == STR)
    return args[1..2];
elseif (typeof(raw) != LIST)
    return "???";
elseif (length(raw) > 1)
    return tostr("I don't understand \"", $string_utils:from_list(listdelete(raw, 
1), " "), "\"");
else
    return {args[1], raw[1]};
endif
.


show_dig_room show_dig_exit:
name = args[2];
what = (verb == "show_dig_room") ? "room" | "exit";
if ((value = this:get(args[1], name)) == 0)
    return {0, {tostr("@dig ", what, "s are children of $", what, ".")}};
else
    return {value, {tostr("@dig ", what, "s are children of ", value, " (", valid(value) 
? value.name | "invalid", ").")}};
endif
.


parse_dig_room parse_dig_exit:
oname = args[1];
raw = args[2];
if (typeof(raw) == LIST)
    if (length(raw) > 1)
        return tostr("I don't understand \"", $string_utils:from_list(listdelete(raw, 
1), " "), "\".");
    endif
    raw = raw[1];
endif
if (typeof(raw) != STR)
    return "You need to give an object id.";
elseif ($command_utils:object_match_failed(value = player:my_match_object(raw), raw))
    return "Option unchanged.";
endif
what = (verb == "parse_dig_room") ? "room" | "exit";
generic = #0.(what);
if (value == generic)
    return {oname, 0};
else
    if (!$object_utils:isa(value, generic))
        player:tell("Warning: ", value, " is not a descendant of $", what, ".");
    endif
    return {oname, value};
endif
.



PROPERTY DATA:
      show_bi_create
      type_dig_room
      type_dig_exit