generic room #3
Aliases: generic room
45 verbs · 18 properties · 2 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
confunc | this none this | rxd | #3 | 5 |
disfunc | this none this | rxd | #3 | 8 |
say | any any any | rx | #3 | 9 |
emote | any any any | rxd | #3 | 5 |
announce | this none this | rxd | #3 | 8 |
match_exit | this none this | rxd | #3 | 16 |
add_exit | this none this | rxd | #3 | 2 |
tell_contents | this none this | rxd | #3 | 34 |
@exits | none none none | rxd | #3 | 18 |
look_self | this none this | rxd | #3 | 6 |
acceptable | this none this | rxd | #3 | 2 |
add_entrance | this none this | rxd | #3 | 2 |
bless_for_entry | this none this | rxd | #3 | 4 |
@entrances | none none none | rd | #3 | 18 |
go | any any any | rxd | #3 | 19 |
l*ook | any any any | rxd | #3 | 30 |
announce_all | this none this | rxd | #3 | 8 |
announce_all_but | this none this | rxd | #3 | 14 |
enterfunc | this none this | rxd | #3 | 8 |
exitfunc | this none this | rxd | #3 | 1 |
remove_exit | this none this | rxd | #3 | 5 |
remove_entrance | this none this | rxd | #3 | 5 |
@add-exit | any none none | rd | #3 | 37 |
@add-entrance | any none none | rd | #3 | 28 |
recycle | this none this | rxd | #3 | 37 |
e east w west s south n north ne northeast nw northwest se southeast sw southwest u up d down out exit o | none none none | rxd | #3 | 9 |
@eject @eject! @eject!! | any none none | rd | #3 | 22 |
ejection_msg oejection_msg victim_ejection_msg | this none this | rxd | #3 | 1 |
accept_for_abode | this none this | rxd | #3 | 2 |
@resident*s | any none none | rd | #3 | 46 |
match | this none this | rxd | #3 | 2 |
@remove-exit | any none none | rd | #3 | 18 |
@remove-entrance | any none none | rd | #3 | 19 |
moveto | this none this | rxd | #3 | 5 |
who_location_msg | this none this | rxd | #3 | 1 |
exits entrances | this none this | rxd | #3 | 5 |
obvious_exits obvious_entrances | this none this | rxd | #3 | 7 |
here_huh | this none this | rxd | #3 | 13 |
room_announce*_all_but | this none this | rxd | #3 | 1 |
examine_commands_ok | this none this | rxd | #3 | 1 |
examine_key | this none this | rxd | #3 | 7 |
examine_contents | this none this | rxd | #3 | 4 |
free_entry | this none this | rxd | #3 | 1 |
dark | this none this | rxd | #3 | 1 |
-* `* | any any any | rxd | #3 | 26 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
who_location_msg | #3 | rc | #2 | "%T" |
free_home | #3 | rc | #2 | 0 |
victim_ejection_msg | #3 | rc | #2 | "You have been expelled from %i by %n." |
ejection_msg | #3 | rc | #2 | "You expel %d from %i." |
oejection_msg | #3 | rc | #2 | "%N unceremoniously %{!expels} %d from %i." |
residents | #3 | rc | #2 | {} |
free_entry | #3 | rc | #2 | 1 |
entrances | #3 | c | #2 | {} |
blessed_object | #3 | rc | #2 | #-1 |
blessed_task | #3 | rc | #2 | 0 |
exits | #3 | c | #2 | {} |
dark | #3 | rc | #2 | 0 |
ctype | #3 | rc | #2 | 3 |
key | #1 | c | #2 | <clear> |
aliases | #1 | rc | #2 | {"generic room"} |
description | #1 | rc | #2 | <clear> |
object_size | #1 | r | #36 | {32030, -1090650497} |
html | #1 | rc | #2 | <clear> |
Ancestry
Ancestors (nearest first): #1 Root Class
Children: #50 Generic Editor, #104 RPG room
Call graph
Showing 48 of 71 verbs; 23 not shown.
Source
confunc
Referenced by
none
Source
1if ((((cp = caller_perms()) == player) || $perm_utils:controls(cp, player)) || (caller == this)) 2"Need the first check because guests don't control themselves"; 3this:look_self(player.brief); 4this:announce($string_utils:pronoun_sub("%N %<has> connected.", player)); 5endif
disfunc
Referenced by
none
Source
1if ((((cp = caller_perms()) == player) || $perm_utils:controls(cp, player)) || (caller == this)) 2this:announce($string_utils:pronoun_sub("%N %<has> disconnected.", player)); 3"need the first check since guests don't control themselves"; 4if ((this != player.home) && (!$object_utils:isa(player, $guest))) 5"guest disfuncs are handled by $guest:disfunc. Don't add them here"; 6$housekeeper:move_players_home(player); 7endif 8endif
say
Referenced by
none
Source
1try 2sayverb = $string_utils:get_say_verb(argstr); 3argstr = $code_utils:argstr(verb, args, argstr); 4player:tell("You ", $you:verb_sub(sayverb), ", \"", argstr, "\" ", $lang_utils:in_line_for($lang_utils:speaking(player), player)); 5$lang_utils:announce(player, setremove(this:contents(), player), tostr(player:titlec(), " ", $gender_utils:get_conj(sayverb, player), ", \"%lang_encrypt\""), argstr); 6except (ANY) 7"Don't really need to do anything but ignore the idiot who has a bad :tell"; 8endtry 9return;
emote
Referenced by
none
Source
1if ((argstr != "") && (argstr[1] == ":")) 2this:announce_all(player:titlec(), argstr[2..length(argstr)]); 3else 4this:announce_all(player:titlec(), " ", argstr); 5endif
announce
Referenced by
- #3:confunc line 4:
this:announce - #3:disfunc line 2:
this:announce - #62:disfunc line 6:
this:announce - #104:attack_bypass line 18:
this:announce - #104:disfunc line 2:
this:announce - #119:player_to_loc line 23:
this:announce - #133:donate line 11:
this:announce - #140:yell line 7:
this:announce - #140:enter line 6:
this:announce
Source
1for dude in (setremove(this:contents(), player)) 2try 3dude:tell(@args); 4except (ANY) 5"Just skip the dude with the bad :tell"; 6continue dude; 7endtry 8endfor
match_exit
Referenced by
- #3:e line 2:
this:match_exit - #3:here_huh line 4:
this:match_exit - #104:match_fake line 16:
this:match_exit - #104:huh line 1:
this:match_exit - #118:match_exit line 10:
pass( - #119:n line 2:
this:match_exit - #119:l*ook line 11:
this:match_exit - #119:go line 1:
this:match_exit
Source
1what = args[1]; 2if (what) 3yes = $failed_match; 4for e in (this.exits) 5if (valid(e) && (what in {e.name, @e.aliases})) 6if (yes == $failed_match) 7yes = e; 8elseif (yes != e) 9return $ambiguous_match; 10endif 11endif 12endfor 13return yes; 14else 15return $nothing; 16endif
add_exit
Referenced by
- #3:@add-exit line 33:
this:add_exit
Source
1set_task_perms(caller_perms()); 2return `this.exits = setadd(this.exits, args[1]) ! E_PERM' != E_PERM;
tell_contents
Referenced by
- #3:look_self line 6:
this:tell_contents - #3:examine_contents line 3:
this:tell_contents
Source
1{contents, ctype} = args; 2if ((!this.dark) && (contents != {})) 3if (ctype == 0) 4player:tell("Contents:"); 5for thing in (contents) 6player:tell(" ", thing:title()); 7endfor 8elseif (ctype == 1) 9for thing in (contents) 10if (is_player(thing)) 11player:tell($string_Utils:pronoun_sub("%n ", $gender_utils:get_conj("is", thing), " here.", thing)); 12else 13player:tell("You see ", thing:title(), " here."); 14endif 15endfor 16elseif (ctype == 2) 17player:tell("You see ", $string_utils:title_list(contents), " here."); 18elseif (ctype == 3) 19players = things = {}; 20for x in (contents) 21if (is_player(x)) 22players = {@players, x}; 23else 24things = {@things, x}; 25endif 26endfor 27if (things) 28player:tell("You see ", $string_utils:title_list(things), " here."); 29endif 30if (players) 31player:tell($string_utils:title_listc(players), (length(players) == 1) ? " " + $gender_utils:get_conj("is", players[1]) | " are", " here."); 32endif 33endif 34endif
@exits
Referenced by
none
Source
1if (!$perm_utils:controls(valid(caller_perms()) ? caller_perms() | player, this)) 2player:tell("Sorry, only the owner of a room may list its exits."); 3elseif (this.exits == {}) 4player:tell("This room has no conventional exits."); 5else 6try 7for exit in (this.exits) 8try 9player:tell(exit.name, " (", exit, ") leads to ", valid(exit.dest) ? exit.dest.name | "???", " (", exit.dest, ") via {", $string_utils:from_list(exit.aliases, ", "), "}."); 10except (ANY) 11player:tell("Bad exit or missing .dest property: ", $string_utils:nn(exit)); 12continue exit; 13endtry 14endfor 15except (E_TYPE) 16player:tell("Bad .exits property. This should be a list of exit objects. Please fix this."); 17endtry 18endif
look_self
Referenced by
- #3:confunc line 3:
this:look_self - #3:l*ook line 2:
this:look_self - #3:enterfunc line 4:
this:look_self
Source
1{?brief = 0} = args; 2player:tell(this:title()); 3if (!brief) 4pass(); 5endif 6this:tell_contents(setremove(this:contents(), player), this.ctype);
acceptable
Referenced by
- #3:accept_for_abode line 2:
this:acceptable - #50:acceptable line 1:
pass(
Source
1what = args[1]; 2return this:is_unlocked_for(what) && (((this:free_entry(@args) || ((what == this.blessed_object) && (task_id() == this.blessed_task))) || (what.owner == this.owner)) || ((typeof(this.residents) == LIST) && (what in this.residents)));
add_entrance
Referenced by
- #3:@add-entrance line 24:
this:add_entrance
Source
1set_task_perms(caller_perms()); 2return `this.entrances = setadd(this.entrances, args[1]) ! E_PERM' != E_PERM;
bless_for_entry
Referenced by
none
Source
1if (caller in {@this.entrances, this}) 2this.blessed_object = args[1]; 3this.blessed_task = task_id(); 4endif
@entrances
Referenced by
none
Source
1if (!$perm_utils:controls(valid(caller_perms()) ? caller_perms() | player, this)) 2player:tell("Sorry, only the owner of a room may list its entrances."); 3elseif (this.entrances == {}) 4player:tell("This room has no conventional entrances."); 5else 6try 7for exit in (this.entrances) 8try 9player:tell(exit.name, " (", exit, ") comes from ", valid(exit.source) ? exit.source.name | "???", " (", exit.source, ") via {", $string_utils:from_list(exit.aliases, ", "), "}."); 10except (ANY) 11player:tell("Bad entrance object or missing .source property: ", $string_utils:nn(exit)); 12continue exit; 13endtry 14endfor 15except (E_TYPE) 16player:tell("Bad .entrances property. This should be a list of exit objects. Please fix this."); 17endtry 18endif
go
Referenced by
- #104:sneak line 8:
this:go - #119:go line 2:
pass( - #119:go line 15:
pass( - #140:go line 4:
pass(
Source
1if ((!args) || (!(dir = args[1]))) 2player:tell("You need to specify a direction."); 3return E_INVARG; 4elseif (valid(exit = player.location:match_exit(dir))) 5exit:invoke(); 6if (length(args) > 1) 7old_room = player.location; 8"Now give objects in the room we just entered a chance to act."; 9suspend(0); 10if (player.location == old_room) 11"player didn't move or get moved while we were suspended"; 12player.location:go(@listdelete(args, 1)); 13endif 14endif 15elseif (exit == $failed_match) 16player:tell("You can't go that way (", dir, ")."); 17else 18player:tell("I don't know which direction `", dir, "' you mean."); 19endif
l*ook
Referenced by
none
Source
1if ((dobjstr == "") && (!prepstr)) 2this:look_self(); 3elseif ((prepstr != "in") && (prepstr != "on")) 4if ((!dobjstr) && (prepstr == "at")) 5dobjstr = iobjstr; 6iobjstr = ""; 7else 8dobjstr = dobjstr + (prepstr && ((dobjstr && " ") + prepstr)); 9dobjstr = dobjstr + (iobjstr && ((dobjstr && " ") + iobjstr)); 10endif 11dobj = this:match_object(dobjstr); 12if (!$command_utils:object_match_failed(dobj, dobjstr)) 13dobj:look_self(); 14endif 15elseif (!iobjstr) 16player:tell(verb, " ", prepstr, " what?"); 17else 18iobj = this:match_object(iobjstr); 19if (!$command_utils:object_match_failed(iobj, iobjstr)) 20if (dobjstr == "") 21iobj:look_self(); 22elseif ((thing = iobj:match(dobjstr)) == $failed_match) 23player:tell("I don't see any \"", dobjstr, "\" ", prepstr, " ", iobj.name, "."); 24elseif (thing == $ambiguous_match) 25player:tell("There are several things ", prepstr, " ", iobj.name, " one might call \"", dobjstr, "\"."); 26else 27thing:look_self(); 28endif 29endif 30endif
announce_all
Referenced by
- #3:emote line 2:
this:announce_all - #3:emote line 4:
this:announce_all - #62:keep_clean line 9:
this:announce_all - #135:huh line 14:
this:announce_all - #140:tell line 5:
this:announce_all
Source
1for dude in (this:contents()) 2try 3dude:tell(@args); 4except (ANY) 5"Just ignore the dude with the stupid :tell"; 6continue dude; 7endtry 8endfor
announce_all_but
Referenced by
- #3:@eject line 22:
this:announce_all_but - #104:big_news line 6:
this:announce_all_but
Source
1":announce_all_but(LIST objects to ignore, text)"; 2{ignore, @text} = args; 3contents = this:contents(); 4for l in (ignore) 5contents = setremove(contents, l); 6endfor 7for listener in (contents) 8try 9listener:tell(@text); 10except (ANY) 11"Ignure listener with bad :tell"; 12continue listener; 13endtry 14endfor
enterfunc
Referenced by
- #50:enterfunc line 5:
pass( - #104:enterfunc line 20:
pass(
Source
1object = args[1]; 2if (is_player(object) && (object.location == this)) 3player = object; 4this:look_self(player.brief); 5endif 6if (object == this.blessed_object) 7this.blessed_object = #-1; 8endif
exitfunc
Referenced by
- #50:exitfunc line 9:
pass( - #104:exitfunc line 7:
pass(
Source
1return;
remove_exit
Referenced by
- #3:@remove-exit line 13:
this:remove_exit
Source
1exit = args[1]; 2if (caller != exit) 3set_task_perms(caller_perms()); 4endif 5return `this.exits = setremove(this.exits, exit) ! E_PERM' != E_PERM;
remove_entrance
Referenced by
- #3:@remove-entrance line 14:
this:remove_entrance
Source
1exit = args[1]; 2if (caller != exit) 3set_task_perms(caller_perms()); 4endif 5return `this.entrances = setremove(this.entrances, exit) ! E_PERM' != E_PERM;
@add-exit
Referenced by
none
Source
1set_task_perms(player); 2if (!dobjstr) 3player:tell("Usage: @add-exit <exit-number>"); 4return; 5endif 6exit = this:match_object(dobjstr); 7if ($command_utils:object_match_failed(exit, dobjstr)) 8return; 9endif 10if (!($exit in $object_utils:ancestors(exit))) 11player:tell("That doesn't look like an exit object to me..."); 12return; 13endif 14try 15dest = exit.dest; 16except (E_PERM) 17player:tell("You can't read the exit's destination to check that it's consistent!"); 18return; 19endtry 20try 21source = exit.source; 22except (E_PERM) 23player:tell("You can't read that exit's source to check that it's consistent!"); 24return; 25endtry 26if (source != this) 27player:tell("That exit wasn't made to be attached here; it was made as an exit from ", source.name, " (", source, ")."); 28return; 29elseif (((typeof(dest) != OBJ) || (!valid(dest))) || (!($room in $object_utils:ancestors(dest)))) 30player:tell("That exit doesn't lead to a room!"); 31return; 32endif 33if (!this:add_exit(exit)) 34player:tell("Sorry, but you must not have permission to add exits to this room."); 35else 36player:tell("You have added ", exit, " as an exit that goes to ", exit.dest.name, " (", exit.dest, ") via ", $string_utils:english_list(setadd(exit.aliases, exit.name)), "."); 37endif
@add-entrance
Referenced by
none
Source
1set_task_perms(player); 2if (!dobjstr) 3player:tell("Usage: @add-entrance <exit-number>"); 4return; 5endif 6exit = this:match_object(dobjstr); 7if ($command_utils:object_match_failed(exit, dobjstr)) 8return; 9endif 10if (!($exit in $object_utils:ancestors(exit))) 11player:tell("That doesn't look like an exit object to me..."); 12return; 13endif 14try 15dest = exit.dest; 16except (E_PERM) 17player:tell("You can't read the exit's destination to check that it's consistent!"); 18return; 19endtry 20if (dest != this) 21player:tell("That exit doesn't lead here!"); 22return; 23endif 24if (!this:add_entrance(exit)) 25player:tell("Sorry, but you must not have permission to add entrances to this room."); 26else 27player:tell("You have added ", exit, " as an entrance that gets here via ", $string_utils:english_list(setadd(exit.aliases, exit.name)), "."); 28endif
recycle
Referenced by
none
Source
1"Make a mild attempt to keep people and objects from ending up in #-1 when people recycle a room"; 2if ((caller == this) || $perm_utils:controls(caller_perms(), this)) 3"... first try spilling them out onto the floor of enclosing room if any"; 4if (valid(this.location)) 5for x in (this.contents) 6try 7x:moveto(this.location); 8except (ANY) 9continue x; 10endtry 11endfor 12endif 13"... try sending them home..."; 14for x in (this.contents) 15if (is_player(x)) 16if ((typeof(x.home) == OBJ) && valid(x.home)) 17try 18x:moveto(x.home); 19except (ANY) 20continue x; 21endtry 22endif 23if (x.location == this) 24move(x, $player_start); 25endif 26elseif (valid(x.owner)) 27try 28x:moveto(x.owner); 29except (ANY) 30continue x; 31endtry 32endif 33endfor 34pass(@args); 35else 36return E_PERM; 37endif
e east w west s south n north ne northeast nw northwest se southeast sw southwest u up d down out exit o
Referenced by
- #140:go line 2:
this:out
Source
1set_task_perms((caller_perms() == #-1) ? player | caller_perms()); 2exit = this:match_exit(verb); 3if (valid(exit)) 4exit:invoke(); 5elseif (exit == $failed_match) 6player:tell("You can't go that way."); 7else 8player:tell("I don't know which direction `", verb, "' you mean."); 9endif
@eject @eject! @eject!!
Referenced by
none
Source
1set_task_perms(player); 2if ($command_utils:object_match_failed(dobj, dobjstr)) 3return; 4elseif (dobj.location != this) 5is = $gender_utils:get_conj("is", dobj); 6player:tell(dobj.name, "(", dobj, ") ", is, " not here."); 7return; 8elseif (!$perm_utils:controls(player, this)) 9player:tell("You are not the owner of this room."); 10return; 11elseif (dobj.wizard) 12player:tell("Sorry, you can't ", verb, " a wizard."); 13dobj:tell(player.name, " tried to ", verb, " you."); 14return; 15endif 16iobj = this; 17player:tell(this:ejection_msg()); 18this:((verb == "@eject") ? "eject" | "eject_basic")(dobj); 19if (verb != "@eject!!") 20dobj:tell(this:victim_ejection_msg()); 21endif 22this:announce_all_but({player, dobj}, this:oejection_msg());
ejection_msg oejection_msg victim_ejection_msg
Referenced by
- #3:@eject line 17:
this:ejection_msg - #3:@eject line 20:
this:victim_ejection_msg - #3:@eject line 22:
this:oejection_msg - #6:@eject line 28:
$room:ejection_msg - #6:@eject line 30:
$room:victim_ejection_msg - #6:@eject line 32:
$room:oejection_msg
Source
1return $gender_utils:pronoun_sub(this.(verb));
accept_for_abode
Referenced by
none
Source
1who = args[1]; 2return (valid(who) && ((this.free_home || $perm_utils:controls(who, this)) || ((typeof(residents = this.residents) == LIST) ? who in this.residents | (who == this.residents)))) && this:acceptable(who);
@resident*s
Referenced by
none
Source
1if (!$perm_utils:controls(player, this)) 2player:tell("You must own this room to manipulate the legal residents list. Try contacting ", this.owner.name, "."); 3else 4if (typeof(this.residents) != LIST) 5this.residents = {this.residents}; 6endif 7if (!dobjstr) 8"First, remove !valid objects from this room..."; 9for x in (this.residents) 10if ((typeof(x) != OBJ) || (!valid(x))) 11player:tell("Warning: removing ", x, ", an invalid object, from the residents list."); 12this.residents = setremove(this.residents, x); 13endif 14endfor 15player:tell("Allowable residents in this room: ", $string_utils:english_list($list_utils:map_prop(this.residents, "name"), "no one"), "."); 16return; 17elseif (dobjstr[1] == "!") 18notflag = 1; 19dobjstr = dobjstr[2..$]; 20else 21notflag = 0; 22endif 23result = $string_utils:match_player_or_object(dobjstr); 24if (!result) 25return; 26else 27"a one element list was returned to us if it won."; 28result = result[1]; 29if (notflag) 30if (!(result in this.residents)) 31player:tell(result.name, " doesn't appear to be in the residents list of ", this.name, "."); 32else 33this.residents = setremove(this.residents, result); 34player:tell(result.name, " removed from the residents list of ", this.name, "."); 35endif 36else 37if (result in this.residents) 38is = $gender_utils:get_conj("is", result); 39player:tell(result.name, " ", is, " already an allowed resident of ", this.name, "."); 40else 41this.residents = {@this.residents, result}; 42player:tell(result.name, " added to the residents list of ", this.name, "."); 43endif 44endif 45endif 46endif
match
Referenced by
none
Source
1target = {@this:contents(), @this:exits()}; 2return $string_utils:match(args[1], target, "name", target, "aliases");
@remove-exit
Referenced by
none
Source
1set_task_perms(player); 2if (!dobjstr) 3player:tell("Usage: @remove-exit <exit>"); 4return; 5endif 6exit = this:match_object(dobjstr); 7if (!(exit in this.exits)) 8if ($command_utils:object_match_failed(exit, dobjstr)) 9return; 10endif 11player:tell("Couldn't find \"", dobjstr, "\" in the exits list of ", this.name, "."); 12return; 13elseif (!this:remove_exit(exit)) 14player:tell("Sorry, but you do not have permission to remove exits from this room."); 15else 16name = valid(exit) ? exit.name | "<recycled>"; 17player:tell("Exit ", exit, " (", name, ") removed from exit list of ", this.name, " (", this, ")."); 18endif
@remove-entrance
Referenced by
none
Source
1set_task_perms(player); 2if (!dobjstr) 3player:tell("Usage: @remove-entrance <entrance>"); 4return; 5endif 6entrance = $string_utils:match(dobjstr, this.entrances, "name", this.entrances, "aliases"); 7if (!valid(entrance)) 8"Try again to parse it. Maybe they gave object number. Don't complain if it's invalid though; maybe it's been recycled in some nefarious way."; 9entrance = this:match_object(dobjstr); 10endif 11if (!(entrance in this.entrances)) 12player:tell("Couldn't find \"", dobjstr, "\" in the entrances list of ", this.name, "."); 13return; 14elseif (!this:remove_entrance(entrance)) 15player:tell("Sorry, but you do not have permission to remove entrances from this room."); 16else 17name = valid(entrance) ? entrance.name | "<recycled>"; 18player:tell("Entrance ", entrance, " (", name, ") removed from entrance list of ", this.name, " (", this, ")."); 19endif
moveto
Referenced by
- #140:dr*op line 7:
this:moveto - #140:g*et line 4:
this:moveto - #145:init_for_core line 1:
this:moveto - #147:init_for_core line 1:
this:moveto - #151:init_for_core line 1:
this:moveto
Source
1if ((caller in {this, this.owner}) || $perm_utils:controls(caller_perms(), this)) 2return pass(@args); 3else 4return E_PERM; 5endif
who_location_msg
Referenced by
- #104:who_location_msg line 1:
pass( - #104:who_location_msg line 1:
pass(
Source
1return (msg = `this.(verb) ! ANY') ? $string_utils:pronoun_sub(msg, args[1]) | "";
exits entrances
Referenced by
- #3:match line 1:
this:exits - #104:huh line 4:
this:exits - #104:match line 1:
this:exits
Source
1if ((caller == this) || $perm_utils:controls(caller_perms(), this)) 2return this.(verb); 3else 4return E_PERM; 5endif
obvious_exits obvious_entrances
Referenced by
- #104:tell_exits line 4:
this:obvious_exits - #104:loot line 10:
this:obvious_exits
Source
1exits = {}; 2for exit in (`(verb == "obvious_exits") ? this.exits | this.entrances ! ANY => {}') 3if (`exit.obvious ! ANY') 4exits = setadd(exits, exit); 5endif 6endfor 7return exits;
here_huh
Referenced by
- #118:here_huh line 24:
pass(
Source
1":here_huh(verb,args) -- room-specific :huh processing. This should return 1 if it finds something interesting to do and 0 otherwise; see $command_utils:do_huh."; 2"For the generic room, we check for the case of the caller specifying an exit for which a corresponding verb was never defined."; 3set_task_perms(caller_perms()); 4if (args[2] || ($failed_match == (exit = this:match_exit(verb = args[1])))) 5"... okay, it's not an exit. we give up..."; 6return 0; 7elseif (valid(exit)) 8exit:invoke(); 9else 10"... ambiguous exit ..."; 11player:tell("I don't know which direction `", verb, "' you mean."); 12endif 13return 1;
room_announce*_all_but
Referenced by
none
Source
1this:(verb[6..$])(@args);
examine_commands_ok
Referenced by
none
Source
1return this == args[1].location;
examine_key
Referenced by
none
Source
1"examine_key(examiner)"; 2"return a list of strings to be told to the player, indicating what the key on this type of object means, and what this object's key is set to."; 3"the default will only tell the key to a wizard or this object's owner."; 4who = args[1]; 5if (((caller == this) && $perm_utils:controls(who, this)) && (this.key != 0)) 6return {tostr(this:title(), " will accept only objects matching the following key:"), tostr(" ", $lock_utils:unparse_key(this.key))}; 7endif
examine_contents
Referenced by
none
Source
1"examine_contents(who)"; 2if (caller == this) 3this:tell_contents(this.contents, this.ctype); 4endif
free_entry
Referenced by
- #3:acceptable line 2:
this:free_entry
Source
1return this.free_entry;
dark
Referenced by
none
Source
1return this.(verb);
-* `*
Referenced by
none
Source
1"USAGE: -<player name> words"; 2name = verb[2..$] || "nothing in particular"; 3who = player.location:match_object(name); 4sayverb = $string_utils:get_say_verb(argstr); 5preppy = $string_utils:get_say_verb_prep(sayverb); 6argstr = $code_utils:argstr(verb, args, argstr); 7if (!valid(who)) 8player:tell("You ", $you:verb_sub(sayverb), preppy, name, ", \"", argstr, "\""); 9player.location:announce(tostr(player:title(), " ", $gender_utils:get_conj(sayverb, player), preppy, name, ", \"", argstr, "\"")); 10return; 11elseif (who.location != player.location) 12return player:tell($string_utils:nn(who), " is not at this location."); 13endif 14wilf = $lang_utils:in_line_for($lang_utils:speaking(player), who); 15pilf = `player.speaking.lang_name ! ANY => ""'; 16wttell = setremove(setremove(player.location:contents(), who), player); 17if (who == player) 18player:tell("You ", $you:verb_sub(sayverb), preppy, "yourself, \"", argstr, "\" ", pilf); 19$lang_utils:announce(player, wttell, tostr(player:title(), " ", $gender_utils:get_conj(sayverb, player), preppy, $gender_utils:get_pronoun("r", player), ", \"%lang_encrypt\""), argstr); 20else 21player:tell("You ", $you:verb_sub(sayverb), preppy, who:title(), ", \"", argstr, "\" ", pilf); 22if (player.location == who.location) 23who:tell(tostr(player:title(), " ", $gender_utils:get_conj(sayverb, player), preppy, "you, \"", $lang_utils:encrypt(player, who, argstr), "\" ", wilf)); 24endif 25$lang_utils:announce(player, wttell, tostr(player:title(), " ", $gender_utils:get_conj(sayverb, player), preppy, who:title(), ", \"%lang_encrypt\""), argstr); 26endif