Matching Room #3879

Parent #27777Owner Flags Source rpg_march_2006/Dependencies/3879.txt

Aliases: Matching Room

6 verbs · 6 properties · 1 children

Verbs

VerbSpecFlagsDefinerLines
matchthis none thisrxd#38791
huh2this none thisrx#387927
visiblethis none this#38792
sub_announce_all_butthis none thisrxd#387910
sub_announce*_allthis none thisrxd#38790
here_huhthis none thisrx#387927

Properties

PropertyDefinerFlagsOwnerValue
entrances#3879not readable (E_PERM)
exits#3879not readable (E_PERM)
key#3879not readable (E_PERM)
aliases#3879{"Matching Room"}
description#3879
value (646 chars)"This room optionally keeps itself relatively free of garbage. If this.self_cleaning is set, nonplayer objects which are not present in .residents are only allowed to remain for this.delay seconds (default one hour). This is not perfect; it uses :enterfunc as its trigger instead of forking. Messages: @remove_object gets printed to everyone in the room when an object is ejected. [Note kluge: instead of %n to describe the object being removed, use %[tcurrent_names]; this is so multiple items will be mentioned correctly in one message.]. @self-clean commandline verb toggles self cleaning, :set_self_cleaning permits programmatic shift."
object_size#3879{3829, 1141286552}

Ancestry

Ancestors (nearest first): #27777 Self-Cleaning Room

Children: #6792 Generic Integrating Description Room

Call graph

calls n3879_0 #3879:match n3879_2 #3879:visible n3879_0->n3879_2 n3879_1 #3879:huh2 n3879_1->n3879_0 n3879_1->n3879_2 n3879_5 #3879:here_huh n3879_5->n3879_0 n3879_5->n3879_2

Source

match

Spec this none thisFlags rxdOwner #15Definer #3879

Referenced by

Source

1return $match_utils:match(args[1], this:visible());

huh2

Spec this none thisFlags rxDefiner #3879

Referenced by

none

Source

1set_task_perms(caller_perms());
2verb = args[1];
3arg = args[2];
4places = {};
5if (!valid(iobj))
6  iobj = this:match(iobjstr);
7endif
8if (dobj == $failed_match)
9  dobj = this:match(dobjstr);
10  if (valid(dobj) && $match_utils:match_verb(verb, dobj, arg))
11    return;
12  endif
13endif
14if (valid(iobj) && $match_utils:match_verb(verb, iobj, arg))
15  return;
16endif
17if ((((length(dobjstr) > 1) && (dobjstr[length(dobjstr)] == "s")) && ({} != (r = $match_utils:match_list(dobjstr[1..length(dobjstr) - 1], this:visible())))) || ((dobjstr in {"all", "everything"}) && (r = this:visible())))
18  done = 0;
19  for k in (r)
20    dobj = k;
21    done = $match_utils:match_verb(verb, k, arg) || done;
22  endfor
23  if (done)
24    return;
25  endif
26endif
27pass(@args);

visible

Spec this none thisDefiner #3879

Referenced by

Source

1who = (args == {}) ? player | args[1];
2return setremove({@who.contents, @this.contents, @this.exits}, who);

sub_announce_all_but

Spec this none thisFlags rxdOwner #15Definer #3879

Referenced by

none

Source

1"Automatically pronoun-substituting form of the $room:announce*_all() verbs (see also :sub_announce_all_but())";
2"pronoun substitution object is player by default, if the first argument is an object use that instead. The rest of the objects are made into a message and pronoun_subbed";
3verb = verb[5..length(verb)];
4if (!args)
5  this:(verb)();
6elseif (typeof(args[1]) == OBJ)
7  this:(verb)($string_utils:pronoun_sub(tostr(@listdelete(args, 1)), args[1]));
8else
9  this:(verb)($string_utils:pronoun_sub(tostr(@args), player));
10endif

sub_announce*_all

Spec this none thisFlags rxdOwner #15Definer #3879

Referenced by

none

Source

No program (verb defined but unprogrammed).

here_huh

Spec this none thisFlags rxDefiner #3879

Referenced by

none

Source

1set_task_perms(caller_perms());
2verb = args[1];
3arg = args[2];
4places = {};
5if (!valid(iobj))
6  iobj = this:match(iobjstr);
7endif
8if (dobj == $failed_match)
9  dobj = this:match(dobjstr);
10  if (valid(dobj) && $match_utils:match_verb(verb, dobj, arg))
11    return 1;
12  endif
13endif
14if (valid(iobj) && $match_utils:match_verb(verb, iobj, arg))
15  return 1;
16endif
17if ((((length(dobjstr) > 1) && (dobjstr[length(dobjstr)] == "s")) && ({} != (r = $match_utils:match_list(dobjstr[1..length(dobjstr) - 1], this:visible())))) || ((dobjstr in {"all", "everything"}) && (r = this:visible())))
18  done = 0;
19  for k in (r)
20    dobj = k;
21    done = $match_utils:match_verb(verb, k, arg) || done;
22  endfor
23  if (done)
24    return 1;
25  endif
26endif
27return pass(@args);