root #1

Parent #-1Owner #361Flags obsolete1, read, fertileSource hellcore/hellcore.db

Aliases: root

69 verbs · 10 properties · 74 children

Verbs

VerbSpecFlagsDefinerLines
initializethis none thisrx#16
recyclethis none thisrxd#113
set_namethis none thisrxd#17
titlethis none thisrxd#11
set_aliasesthis none thisrxd#120
matchthis none thisrxd#11
match_objectthis none thisrxd#13
set_descriptionthis none thisrxd#110
descriptionthis none thisrxd#15
look_selfthis none thisrxd#115
notifythis none thisrxd#16
tell_linesthis none thisrxd#16
acceptthis none thisrxd#12
movetothis none thisrxd#18
huhthis none thisrxd#12
set_messagethis none thisrxd#113
do_examinethis none thisrxd#116
examine_namesthis none thisrxd#111
examine_descthis none thisrxd#112
examine_contentsthis none thisrxd#111
get_messagethis none thisrxd#114
room_announce*_all_butthis none thisrxd#14
init_for_corethis none thisrxd#116
contentsthis none thisrxd#13
examine_verb_okthis none thisrxd#110
is_listeningthis none thisrxd#12
hidden_verbsthis none thisrxd#120
announce*_all_butthis none thisrxd#19
tell_lines_suspendedthis none thisrxd#19
acceptablethis none thisrxd#13
namethis none thisrxd#11
dnamethis none thisrxd#11
inamethis none thisrxd#18
areathis none thisrxd#111
tell_statthis none thisrxd#11
aliasesthis none thisrxd#11
examine_verbsthis none thisrxd#150
weightthis none thisrx#19
controlled_bythis none thisrxd#12
dnamecthis none thisrxd#11
inamecthis none thisrxd#11
plural_name pnamethis none thisrxd#18
occupantsthis none thisrxd#145
look_place_msgthis none thisrxd#116
_www _htmlthis none thisrxd#132
namedthis none thisrxd#16
roomthis none thisrxd#110
tree_tagthis none thisrxd#11
client_tellthis none thisrxd#11
client_infothis none thisrxd#14
client_inventorythis none thisrxd#17
chill_factorthis none thisrxd#11
real_namethis none thisrxd#11
regionthis none thisrxd#110
occupants_suspendedthis none thisrxd#129
number_ofthis none thisrxd#11
tellthis none thisrxd#18
occupantsesthis none thisrxd#113
junk_okthis none thisrxd#112
is_inthis none thisrxd#18
holderthis none thisrxd#17
is_junkablethis none thisrxd#11
action_namethis none thisrxd#11
verb_subthis none thisrxd#118
classthis none thisrxd#111
hint_msgthis none thisrxd#11
announce_action_text aatthis none thisrxd#11
list_hint_msgthis none thisrxd#116
entombthis none thisrxd#10

Properties

PropertyDefinerFlagsOwnerValue
aliases#1rc#361{"root"}
description#1rc#361""
object_size#1r#29{37394, 1298433815}
hidden_verbs#1rc#361{}
phelp_msg#1rc#361{}
weight#1rc#3610
owner_verbs#1rc#361{}
plural_name#1rc#361""
client_image#1rc#361""
listening#1rc#3610

Ancestry

Ancestors (nearest first): none

Children: #0 The System Object, #3 generic room, #4 Login Commands, #5 generic thing, #10 Limbo, #24 Generic Help Database, #26 Object #32, #30 Generic Database Tree, #37 Generic Mail Recipient, #38 Mail Distribution Center, #55 generic exit, #62 Generic Option Package, #63 Error Generator, #67 Generic BigList Resident, #72 Generic Utilities Package, #76 Server Options, #88 Object #88, #90 web server, #91 HTML, #92 generic actor, #93 Generic Action, #96 generic skill, #102 damage, #103 RPG Utilities, #109 generic cover, #110 body, #112 Time, #114 generic area, #117 generic building, #120 Player Help, #121 generic messages, #122 ANSI Database, #125 generic drug, #141 generic decal, #156 generic party, #165 generic weather, #166 generic quest, #179 Moo Stats Collector, #181 generic window, #189 generic region, #192 Drug Repository, #202 big map, #204 generic interface, #205 interfaces registry, #215 generic weather object, #216 faction, #231 generic noise, #247 explosion, #248 generic subarea, #253 changelog, #268 random number generator, #269 default tactics, #271 drug_vector, #272 drug_vectors, #287 jobs database, #291 generic forum, #292 generic event, #294 generic database of objnums, #296 task scheduler, #301 MCP 2.1, #305 generic item spawner, #306 generic invasion, #308 generic file, #309 generic db object, #311 hints DB, #312 MCP package registry, #316 quest data storage, #325 JSON Utils, #326 MySQL proxy, #336 Player Last_huh Verbs, #342 generic data, #345 generic holding tank, #355 generic message dispatch object, #369 drug_vector

Call graph

calls n1_1 #1:recycle n42_0 #42:controls n1_1->n42_0 n103_24 #103:report_error n1_1->n103_24 n1_3 #1:title n1_30 #1:name n1_3->n1_30 n1_4 #1:set_aliases n1_4->n42_0 n47_7 #47:remove_duplicates n1_4->n47_7 n1_5 #1:match n44_0 #44:match n1_5->n44_0 n1_6 #1:match_object n20_19 #20:match_object n1_6->n20_19 n1_7 #1:set_description n1_7->n42_0 n1_9 #1:look_self n1_8 #1:description n1_9->n1_8 n1_11 #1:tell_lines n1_9->n1_11 n107_43 #107:tell n1_9->n107_43 n1_32 #1:iname n1_9->n1_32 n1_65 #1:hint_msg n1_9->n1_65 n6_54 #6:check_pref n1_9->n6_54 n1_46 #1:room n1_9->n1_46 n6_180 #6:systell n1_9->n6_180 n1_67 #1:list_hint_msg n1_9->n1_67 n20_59 #20:name_and_number n1_11->n20_59 n1_32->n1_30 n98_1 #98:article_for n1_32->n98_1 n1_67->n1_32 n1_67->n1_65 n1_67->n1_46 n1_10 #1:notify n1_10->n20_59 n1_12 #1:accept n1_29 #1:acceptable n1_12->n1_29 n1_14 #1:huh n48_11 #48:do_huh n1_14->n48_11 n1_15 #1:set_message n1_15->n42_0 n1_16 #1:do_examine n1_16->n1_9 n1_17 #1:examine_names n1_16->n1_17 n1_36 #1:examine_verbs n1_16->n1_36 n20_6 #20:english_list n1_17->n20_6 n48_8 #48:suspend_if_needed n1_36->n48_8 n20_39 #20:words n1_36->n20_39 n122_0 #122:reset n1_36->n122_0 n1_18 #1:examine_desc n1_18->n1_8 n1_20 #1:get_message n1_20->n42_0 n1_22 #1:init_for_core n1_22->n48_8 n1_24 #1:examine_verb_ok n1_24->n42_0 n1_26 #1:hidden_verbs n1_26->n42_0 n1_27 #1:announce*_all_but n1_27->n20_59 n103_37 #103:log_callers n1_27->n103_37 n1_28 #1:tell_lines_suspended n1_28->n48_8 n1_56 #1:tell n1_28->n1_56 n1_56->n20_59 n1_31 #1:dname n1_31->n1_30 n1_34 #1:tell_stat n1_34->n107_43

Showing 48 of 75 verbs; 27 not shown.

Source

initialize

Spec this none thisFlags rxOwner #361Definer #1

Referenced by

Source

1if (this.owner != #984)
2if (typeof(this.owner.owned_objects) == LIST)
3this.owner.owned_objects = setadd(this.owner.owned_objects, this);
4endif
5this.object_size = {0, 0};
6endif

recycle

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1if ((caller == this) || $perm_utils:controls(caller_perms(), this))
2try
3if ((typeof(this.owner.owned_objects) == LIST) && (!is_clear_property(this.owner, "owned_objects")))
4this.owner.owned_objects = setremove(this.owner.owned_objects, this);
5endif
6except e (ANY)
7"Oy, doesn't have a .owned_objects??, or maybe .owner is $nothing";
8"Should probably do something...like send mail somewhere.";
9$rpg:report_error(e);
10endtry
11else
12return E_PERM;
13endif

set_name

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1"set_name(newname) attempts to change this.name to newname";
2"  => E_PERM   if you don't own this or aren't its parent, or are a player trying to do an end-run around $player_db...";
3if ((!caller_perms().wizard) && (is_player(this) || ((caller_perms() != this.owner) && (this != caller))))
4return E_PERM;
5else
6return (typeof(e = `this.name = args[1] ! ANY') != ERR) || e;
7endif

title

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1return this:name();

set_aliases

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1"set_aliases(alias_list) attempts to change this.aliases to alias_list";
2"  => E_PERM   if you don't own this or aren't its parent";
3"  => E_TYPE   if alias_list is not a list";
4"  => E_INVARG if any element of alias_list is not a string";
5"  => 1        if aliases are set exactly as expected (default)";
6"  => 0        if aliases were set differently than expected";
7"              (children with custom :set_aliases should be aware of this)";
8if (!($perm_utils:controls(caller_perms(), this) || (this == caller)))
9return E_PERM;
10elseif (typeof(aliases = args[1]) != LIST)
11return E_TYPE;
12else
13for s in (aliases)
14if (typeof(s) != STR)
15return E_INVARG;
16endif
17endfor
18this.aliases = $lu:remove_duplicates(aliases);
19return 1;
20endif

match

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

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

match_object

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1":match_object(string [,who])";
2args[2..1] = {this};
3return $string_utils:match_object(@args);

set_description

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1"set_description(newdesc) attempts to change this.description to newdesc";
2"  => E_PERM   if you don't own this or aren't its parent";
3if (!($perm_utils:controls(caller_perms(), this) || (this == caller)))
4return E_PERM;
5elseif (typeof(desc = args[1]) in {LIST, STR})
6this.description = desc;
7return 1;
8else
9return E_TYPE;
10endif

description

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1if ((!this.description) && (!(this == #1)))
2return parent(this).description;
3else
4return this.description;
5endif

look_self

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1desc = this:description();
2if (desc)
3player:tell_lines(desc);
4else
5"player:tell(\"You see nothing special.\");";
6player:tell("It's ", this:iname(), ", fuck you.");
7endif
8if ((hint = this:hint_msg()) && player:check_pref("hints"))
9fork (1)
10(player.location == this:room()) && player:systell(hint);
11if (valid(quest = `this.hint_quest ! ANY => #-1'))
12quest:add_hint(player, this:list_hint_msg(hint));
13endif
14endfork
15endif

notify

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1{vthis, vname, vprog, vloc, vplayer, vline} = callers(1)[1];
2line = tostr("Unneccessary tell from ", vloc, ":", vname, " line ", vline, ".");
3if (vthis != vloc)
4line = tostr(line, " (this == ", $su:nn(vthis), ")");
5endif
6#196834:announce(#-1, line, 1);

tell_lines

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1{vthis, vname, vprog, vloc, vplayer, vline} = callers(1)[1];
2line = tostr("Unneccessary tell_lines on ", this, " from ", vloc, ":", vname, " line ", vline, ".");
3if (vthis != vloc)
4line = tostr(line, " (this == ", $su:nn(vthis), ")");
5endif
6#196834:announce(#-1, line, 1);

accept

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1set_task_perms(caller_perms());
2return this:acceptable(@args);

moveto

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1set_task_perms(this.owner);
2{target} = args;
3try
4move(this, target);
5return this;
6except e (ANY)
7return e[1];
8endtry

huh

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1set_task_perms((caller_perms() != #-1) ? caller_perms() | player);
2$command_utils:do_huh(verb, args);

set_message

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1":set_message(msg_name,new_value)";
2"Does the actual dirty work of @<msg_name> object is <new_value>";
3"changing the raw value of the message msg_name to be new_value.";
4"Both msg_name and new_value should be strings, though their interpretation is up to the object itself.";
5" => error value (use E_PROPNF if msg_name isn't recognized)";
6" => string error message if something else goes wrong.";
7" => 1 (true non-string) if the message is successfully set";
8" => 0 (false non-error) if the message is successfully `cleared'";
9if (!((caller == this) || $perm_utils:controls(caller_perms(), this)))
10return E_PERM;
11else
12return `this.(args[1] + "_msg") = args[2] ! ANY' && 1;
13endif

do_examine

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1"do_examine(examiner[,no_desc])";
2"the guts of examine";
3"call a series of verbs and report their return values to the player";
4who = args[1];
5no_desc = (length(args) > 1) ? args[2] | 0;
6no_desc || who:tell("");
7no_desc || who:tell_lines(this:examine_names(who) || {});
8"no_desc || who:tell_lines(this:examine_desc(who) || {});";
9if (who:check_pref("examlook"))
10no_desc || this:look_self(player = who);
11endif
12if (v = this:examine_verbs(who))
13who:tell_lines(v);
14else
15who:systell("No obvious commands.");
16endif

examine_names

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1"examine_names(examiner)";
2"Return a list of strings to be told to the player, indicating the name and aliases (and, by default, the object number) of this.";
3a = setremove(this.aliases, this.name);
4while (this.name in a)
5a = setremove(a, this.name);
6endwhile
7s = ($ansi.bold_on + this.name) + $ansi.reset;
8if (a)
9s = ((s + " (aka ") + $su:english_list(a)) + ")";
10endif
11return {s};

examine_desc

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1"examine_desc(who) - return the description, probably";
2"who is the player examining";
3"this should probably go away";
4desc = this:description();
5if (desc)
6if (typeof(desc) != LIST)
7desc = {desc};
8endif
9return desc;
10else
11return {"(No description set.)"};
12endif

examine_contents

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1"examine_contents(examiner)";
2"by default, calls :tell_contents.";
3"Should probably go away.";
4who = args[1];
5if (caller == this)
6try
7this:tell_contents(this.contents, this.ctype);
8except (ANY)
9"Just ignore it. We shouldn't care about the contents unless the object wants to tell us about them via :tell_contents ($container, $room)";
10endtry
11endif

get_message

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1":get_message(msg_name)";
2"Use this to obtain a given user-customizable message's raw value, i.e., the value prior to any pronoun-substitution or incorporation of any variant elements --- the value one needs to supply to :set_message().";
3"=> error (use E_PROPNF if msg_name isn't recognized)";
4"=> string or list-of-strings raw value";
5"=> {2, @(list of {msg_name_n,rawvalue_n} pairs to give to :set_message)}";
6"=> {1, other kind of raw value}";
7"=> {E_NONE, error message} ";
8if (!((caller == this) || $perm_utils:controls(caller_perms(), this)))
9return E_PERM;
10elseif (((t = typeof(msg = `this.(args[1] + "_msg") ! ANY')) in {ERR, STR}) || (((t == LIST) && msg) && (typeof(msg[1]) == STR)))
11return msg;
12else
13return {1, msg};
14endif

room_announce*_all_but

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1try
2this.location:(verb)(@args);
3except (ANY)
4endtry

init_for_core

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1if (caller_perms().wizard)
2vnum = 1;
3while (vnum <= length(verbs(this)))
4$command_utils:suspend_if_needed(0);
5info = verb_info(this, vnum)[3];
6if (index(info, "(old)"))
7delete_verb(this, vnum);
8else
9vnum = vnum + 1;
10endif
11endwhile
12if (this == $root_class)
13set_verb_code(this, "initialize", verb_code(this, "initialize(core)"));
14delete_verb(this, "initialize(core)");
15endif
16endif

contents

Spec this none thisFlags rxdOwner #29Definer #1

Referenced by

Source

1"Returns a list of the objects that are apparently inside this one.  Don't confuse this with .contents, which is a property kept consistent with .location by the server.  This verb should be used in `VR' situations, for instance when looking in a room, and does not necessarily have anything to do with the value of .contents (although the default implementation does).  `Non-VR' commands (like @contents) should look directly at .contents.";
2"This is reversed, because the in-server representation is newest-to-oldest, which is the opposite of what people expect.";
3return this.contents;

examine_verb_ok

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1"examine_verb_ok(loc, index, info, syntax, commands_ok, hidden_verbs)";
2"loc is the object that defines the verb; index is which verb on the object; info is verb_info; syntax is verb_args; commands_ok is determined by this:commands_ok, probably, but passed in so we don't have to calculate it for each verb.";
3"hidden_verbs is passed in for the same reasons.  It should be a list, each of whose entries is either a string with the full verb name to be hidden (e.g., \"d*rop th*row\") or a list of the form {verb location, full verb name, args}.";
4if ((caller == this) || $perm_utils:controls(caller_perms(), this))
5{loc, index, info, syntax, commands_ok, hidden_verbs} = args;
6vname = info[3];
7return (((((syntax[2..3] != {"none", "this"}) && (!index(vname, "("))) && (commands_ok || ("this" in syntax))) && `verb_code(loc, index) ! ANY') && (!(vname in hidden_verbs))) && (!({loc, vname, syntax} in hidden_verbs));
8else
9return E_PERM;
10endif

is_listening

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1"return 1 if the object can hear a :tell, or cares. Useful for active objects that want to stop when nothing is listening.";
2return 0;

hidden_verbs

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1"hidden_verbs(who)";
2"returns a list of verbs on this that should be hidden from examine";
3"the player who's examining is passed in, so objects can hide verbs from specific players";
4"verbs are returned as {location, full_verb_name, args} or just full_verb_name.  full_verb name is what shows up in verb_info(object, verb)[2], for example \"d*op th*row\".";
5if ((caller == this) || $perm_utils:controls(caller_perms(), this))
6hidden = {};
7what = this;
8while (what != $nothing)
9for i in [1..length(verbs(what))]
10info = verb_info(what, i);
11if (!index(info[2], "r"))
12hidden = setadd(hidden, {what, info[3], verb_args(what, i)});
13endif
14endfor
15what = parent(what);
16endwhile
17return hidden;
18else
19return E_PERM;
20endif

announce*_all_but

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1{vthis, vname, vprog, vloc, vplayer, vline} = callers(1)[1];
2line1 = tostr("unnecessary ", verb, " to ", $su:nn(this));
3line2 = tostr(" from ", vloc, ":", vname, " line ", vline, ".");
4if (vthis != vloc)
5line2 = tostr(line2, " (this == ", $su:nn(vthis), ")");
6endif
7$nets.tellnet:announce(this, line1, 1);
8$nets.tellnet:announce(this, line2, 1);
9$rpg:log_callers(#7195);

tell_lines_suspended

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1lines = args[1];
2if (typeof(lines) == LIST)
3for line in (lines)
4this:tell(line);
5$command_utils:suspend_if_needed(0);
6endfor
7else
8this:tell(lines);
9endif

acceptable

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1return 0;
2"intended as a 'quiet' way to determine if :accept will succeed. Currently, some objects have a noisy :accept verb since it is the only thing that a builtin move() call is guaranteed to call.";
3"if you want to tell, before trying, whether :accept will fail, use :acceptable instead. Normally, they'll do the same thing.";

name

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1return this.name;

dname

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1return "the " + this:name();

iname

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1name = this:name();
2if (this.f)
3name = strsub(name, "generic ", "");
4endif
5if (has_property(this, "article"))
6return tostr((this.article + " ") + name);
7endif
8return (tostr($english_utils:article_for(tostr(name))) + " ") + tostr(name);

area

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1":area()";
2"Return the area to which we belong, or #-1.";
3"return area(this)";
4where = this;
5while (valid(where))
6if (is_a(where, $area))
7return where;
8endif
9where = where.location;
10endwhile
11return #-1;

tell_stat

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1player:tell($ansi.bold_on + this.name, "  (a ", parent(this).name, ")" + $ansi.reset);

aliases

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1return this.aliases;

examine_verbs

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1who = args[1];
2what = this;
3l = {};
4done = {};
5hv = {};
6p = what;
7while (valid(p))
8hv = {@hv, @p.hidden_verbs};
9p = parent(p);
10endwhile
11while (what != $nothing)
12for vn in [1..length(verbs(what))]
13so = verbs(what)[vn];
14swords = $su:words(so);
15ns = {};
16s1 = swords[1];
17s1 = strsub(s1, "*", "");
18if (!(s1 in {@hv, @done}))
19if (((player == this.owner) || player.programmer) || (!(s1 in this.owner_verbs)))
20info = verb_info(what, vn);
21arglist = verb_args(what, vn);
22if (arglist != {"this", "none", "this"})
23if ((is_a(what, $thing) || is_a(what, $room)) || ("this" in arglist))
24done = {@done, s1};
25s = ($ansi:bold_on() + swords[1]) + $ansi:bold_off();
26if (length(swords) > 1)
27for sx in (swords[2..$])
28s = (s + "/") + sx;
29endfor
30endif
31s = s + $code_utils:vargs_to_english(arglist, this);
32l = {@l, (("  " + $ansi:cyan()) + s) + $ansi:reset()};
33if (vd = $code_utils:verb_documentation(what, s1))
34for vx in (vd)
35l = {@l, "    " + vx};
36endfor
37endif
38endif
39endif
40endif
41endif
42endfor
43$command_utils:suspend_if_needed(0);
44what = parent(what);
45endwhile
46if (l)
47return {(($ansi.yellow + $ansi.bold_on) + "Obvious commands:") + $ansi.reset, @l};
48else
49return {};
50endif

weight

Spec this none thisFlags rxOwner #361Definer #1

Referenced by

Source

1w = this.weight;
2if (w == -1)
3return w;
4endif
5for x in (this.contents)
6w = w + x:weight();
7yield;
8endfor
9return w;

controlled_by

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1who = args[1];
2return ((who == this.owner) || `who.wizard ! ANY => 0') || (is_a(this.owner, $biz) && this.owner:permit_control(who, this));

dnamec

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1return $su:capitalize(this:dname());

inamec

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1return $su:capitalize(this:iname());

plural_name pname

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1{?howmany = 1} = args;
2enum = "";
3if (howmany > 1)
4enum = $su:english_number(howmany);
5endif
6name = this.plural_name ? this.plural_name | $su:plural(this.name);
7name = strsub(name, "%t", this.name);
8return (enum ? enum + " " | "") + name;

occupants

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1":occupants(OBJ/LIST parent[, STR property)";
2"A list of all objects in .contents that are descended from parent, or one of parent if it is a list of objects.";
3"If property is given, search that instead of .contents.";
4"If that property is an alist, search for elements whose first element is descended from parent.";
5if (!args)
6return this.contents;
7elseif ((length(args) == 1) && (typeof(args[1]) == OBJ))
8bi = occupants(this, args[1]);
9return bi ? bi | {};
10endif
11occ = {};
12ts = (typeof(args[1]) == LIST) ? args[1] | {args[1]};
13if (length(args) > 1)
14prop = args[2];
15if ((this.(prop) && (typeof(this.(prop)) == LIST)) && (typeof(this.(prop)[1]) == LIST))
16for x in (this.(prop))
17for t in (ts)
18if (is_a(x[1], t))
19occ = listappend(occ, x);
20break;
21endif
22endfor
23endfor
24elseif (typeof(this.(prop)) == LIST)
25for x in (this.(prop))
26for t in (ts)
27if (is_a(x, t))
28occ = listappend(occ, x);
29break;
30endif
31endfor
32endfor
33endif
34else
35c = this.contents;
36for x in (c)
37for t in (ts)
38if (is_a(x, t))
39occ = listappend(occ, x);
40break;
41endif
42endfor
43endfor
44endif
45return occ;

look_place_msg

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1if (msg = `this.(verb) ! ANY => ""')
2m = $su:ps(msg, player, this);
3if (!m)
4return;
5endif
6if (length(m) < 3)
7return m;
8endif
9if (player:check_pref("boldnames"))
10bn = `this.look_place_name_msg ! ANY => this.name';
11m = strsub(m, bn, ($ansi.bold_on + bn) + $ansi.bold_off);
12endif
13return m;
14else
15return "";
16endif

_www _html

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1text = {((("<HTML><head><title>" + $network.MOO_name) + ": ") + $su:nn(this)) + "</title></head>"};
2text = {("Welcome to " + $network.MOO_name) + "!"};
3if (0)
4text = {@text, "<body bgcolor=\"#000000\" text=\"#22cc22\">"};
5text = {@text, ("<h2>" + $su:capitalize($su:nn(this))) + "</h2>"};
6text = {@text, this:description()};
7text = {@text, "<hr>"};
8if ($ou:has_property(this, "wiki_msg"))
9text = {@text, $html:link("Wiki Documentation", this.wiki_msg)};
10text = {@text, "<hr>"};
11endif
12text = {@text, "<h3>Description</h3>"};
13if (typeof(desc = this.description) == LIST)
14for idx in [1..length(desc)]
15desc[idx] = desc[idx] + "<BR>";
16endfor
17text = {@text, @desc, "<br>"};
18else
19text = {@text, tostr(this.description + "<br>")};
20endif
21text = {@text, "<h3>Contents</h3>"};
22for c in (this.contents)
23text = {@text, tostr(((("<a href=\"/" + tostr(tonum(c))) + "\">") + c.name) + "</a><br>")};
24endfor
25text = {@text, "<h3>Verbs</h3>"};
26verbs = verbs(this);
27for verbname in (verbs)
28text = {@text, verbname + "<br>"};
29endfor
30text = {@text, "</body></html>"};
31endif
32return text;

named

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1"return $ou:fastfind(this, @args);";
2name = args[1];
3fertile = (length(args) > 1) ? args[2] | 0;
4set = fertile ? $ou:fertile_branches(this) | $ou:leaves_suspended(this);
5$cu:sin();
6return $match_utils:match(name, set);

room

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1":room()";
2"Return the room to which we belong, or #-1.";
3where = this;
4while (valid(where))
5if (is_a(where, $room))
6return where;
7endif
8where = where.location;
9endwhile
10return #-1;

tree_tag

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1return "";

client_tell

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1

client_info

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1":object_info() => prints text summarizing this object for the benefit of";
2"   the Charon client.";
3player:tell("name:" + this.name);
4player:tell("objectNumber:" + tostr(this));

client_inventory

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1player:client_tell("#$#inventory");
2for x in (this.contents)
3if (is_a(x, $thing))
4$client:tell_inv_add(player, x);
5endif
6endfor
7player:client_tell("#$#/inventory");

chill_factor

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1return `this.chill_factor ! E_PROPNF => 0';

real_name

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1return this:name();

region

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1":region()";
2"Return the region to which we belong, or #-1.";
3where = this;
4while (valid(where))
5if (is_a(where, $region))
6return where;
7endif
8where = where.location;
9endwhile
10return #-1;

occupants_suspended

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1":occupants(OBJ parent[, STR property)";
2"A list of all objects in .contents that are descended from parent.";
3"If property is given, search that instead of .contents.";
4"If that property is an alist, search for elements whose first element is descended from parent.";
5occ = {};
6t = args[1];
7if (this == #742)
8$rpg:log_callers(#7195);
9endif
10if (length(args) > 1)
11prop = args[2];
12if ((this.(prop) && (typeof(this.(prop)) == LIST)) && (typeof(this.(prop)[1]) == LIST))
13for x in (this.(prop))
14if (x[1] == t)
15occ = listappend(occ, x);
16endif
17$cu:sin(0);
18endfor
19return occ;
20endif
21else
22for x in (this.contents)
23if (is_a(x, t))
24occ = listappend(occ, x);
25endif
26$cu:sin(0);
27endfor
28return occ;
29endif

number_of

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1return length($ou:descendants_suspended(args[1]));

tell

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1{vthis, vname, vprog, vloc, vplayer, vline} = callers(1)[1];
2line1 = tostr("Unneccessary tell to ", $su:nn(this));
3line2 = tostr(" from ", vloc, ":", vname, " line ", vline, ".");
4if (vthis != vloc)
5line2 = tostr(line2, " (this == ", $su:nn(vthis), ")");
6endif
7$nets.tellnet:announce(this, line1, 1);
8$nets.tellnet:announce(this, line2, 1);

occupantses

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1tlen = length(types = args);
2results = {};
3for x in [1..length(types)]
4results = {@results, {}};
5endfor
6for x in [1..length(this.contents)]
7for y in [1..tlen]
8if (is_a(which = this.contents[x], types[y]))
9results[y] = listappend(results[y], which);
10endif
11endfor
12endfor
13return results;

junk_ok

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1what = this;
2if (!what.f)
3if (!children(what))
4if (!verbs(what))
5if ((!properties(what)) || (properties(what) == {"inscription"}))
6if (`what.junk_ok ! ANY => 0')
7return 1;
8endif
9endif
10endif
11endif
12endif

is_in

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1return is_in(this, args[1]);
2if ((args[1] == this) || (args[1] == this.location))
3return 1;
4elseif (this.location == #-1)
5return 0;
6else
7return this.location:is_in(@args);
8endif

holder

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1":holder()";
2"Return the creature whose inventory we're in, or #-1.";
3o = this.location;
4while (valid(o) && (!is_a(o, $creature)))
5o = o.location;
6endwhile
7return o;

is_junkable

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1return 0;

action_name

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1return this:name();

verb_sub

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1"Substitute my .verb_subs in messages, if any.";
2{text, ?mark_miss = 0} = args;
3if (a = `$list_utils:assoc(text, this.verb_subs) ! ANY')
4subs = a[2];
5if (typeof(subs) == LIST)
6if ((length(subs) >= 2) && (typeof(subs[1]) == OBJ))
7return (valid(subs[1]) ? subs[1] | this):(subs[2])(text, @subs[3..$]);
8else
9return subs[random($)];
10endif
11else
12return subs;
13endif
14elseif (mark_miss)
15return E_NONE;
16else
17return text;
18endif

class

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

none

Source

1o = this;
2while (valid(o))
3if (has_property(o, "is_unique_class") && o.is_unique_class)
4return o;
5elseif ((length(o.name) > 8) && (o.name[1..8] == "generic "))
6return o;
7elseif (o == #1)
8return o;
9endif
10o = parent(o);
11endwhile

hint_msg

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1return `this.(verb) ! ANY => ""';

announce_action_text aat

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1this.location:announce_all(@args);

list_hint_msg

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

1{?m = `this:hint_msg() ! ANY'} = args;
2if (m)
3if (is_a(this, $room))
4loc = (this.name + " in ") + area(this):dname();
5elseif (is_a(this, $npc))
6loc = (((this:iname() + " at ") + this:room().name) + " in ") + area(this):dname();
7elseif (is_a(this, $thing) || is_a(this, $exit))
8if (this.weight == -1)
9loc = (((this:iname() + " at ") + this:room().name) + " in ") + area(this):dname();
10else
11loc = this:iname();
12endif
13endif
14m = (("From " + loc) + ": ") + m;
15return m;
16endif

entomb

Spec this none thisFlags rxdOwner #361Definer #1

Referenced by

Source

No program (verb defined but unprogrammed).