Generic Guest #25
Aliases: Generic Guest
19 verbs · 195 properties · 0 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
boot | this none this | rxd | #25 | 8 |
disfunc | this none this | rxd | #25 | 18 |
defer | this none this | rxd | #25 | 32 |
mail_catch_up | this none this | rxd | #25 | 1 |
create | any any any | rxd | #25 | 5 |
eject | this none this | rxd | #25 | 1 |
log | this none this | rxd | #25 | 8 |
confunc | this none this | rxd | #25 | 7 |
log_disconnect | this none this | rxd | #25 | 1 |
@last-c*onnection | any none none | rxd | #25 | 3 |
my_huh | this none this | rxd | #25 | 5 |
@read @peek | any any any | rxd | #25 | 1 |
set_current_folder | this none this | rxd | #25 | 2 |
init_for_core | this none this | rxd | #25 | 5 |
set_name set_aliases | this none this | rxd | #25 | 6 |
extra_confunc_msg | this none this | rxd | #25 | 1 |
do_reset | this none this | rxd | #25 | 30 |
@request | any any any | rxd | #25 | 15 |
connection_name_hash | this none this | rxd | #25 | 8 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
default_gender | #25 | r | #29 | "neuter" |
default_description | #25 | r | #29 | {"By definition, guests appear nondescript."} |
request | #25 | | #361 | 0 |
extra_confunc_msg | #25 | rc | #29 | "" |
free_to_use | #25 | r | #29 | 1 |
join_msg | #89 | rc | #29 | <clear> |
object_port_msg | #89 | rc | #29 | <clear> |
victim_port_msg | #89 | rc | #29 | <clear> |
thing_arrive_msg | #89 | rc | #29 | <clear> |
othing_port_msg | #89 | rc | #29 | <clear> |
thing_port_msg | #89 | rc | #29 | <clear> |
player_arrive_msg | #89 | rc | #29 | <clear> |
oplayer_port_msg | #89 | rc | #29 | <clear> |
player_port_msg | #89 | rc | #29 | <clear> |
self_arrive_msg | #89 | rc | #29 | <clear> |
oself_port_msg | #89 | rc | #29 | <clear> |
self_port_msg | #89 | rc | #29 | <clear> |
real_name | #89 | rc | #29 | <clear> |
real_aliases | #89 | rc | #29 | <clear> |
zots | #89 | rc | #29 | <clear> |
bedroom | #89 | rc | #29 | <clear> |
chillmin | #89 | rc | #29 | <clear> |
_mail_task | #33 | rc | #29 | <clear> |
messages_going | #33 | c | #29 | <clear> |
mail_lists | #33 | rc | #29 | <clear> |
mail_notify | #33 | rc | #29 | <clear> |
mail_forward | #33 | rc | #29 | "%t (%[#t]) is a guest character." |
mail_options | #33 | rc | #29 | <clear> |
message_keep_date | #33 | rc | #29 | <clear> |
messages_kept | #33 | rc | #29 | <clear> |
current_message | #33 | c | #29 | <clear> |
messages | #33 | c | #29 | <clear> |
mail_hack | #33 | rc | #29 | <clear> |
barcolor | #33 | rc | #29 | <clear> |
autowield | #33 | rc | #29 | <clear> |
bug | #33 | rc | #29 | <clear> |
readied_weapon | #33 | rc | #29 | <clear> |
unread_mail | #33 | rc | #29 | <clear> |
features | #6 | r | #29 | <clear> |
previous_connection | #6 | | #361 | <clear> |
email_address | #6 | | #361 | "" |
last_disconnect_time | #6 | r | #361 | <clear> |
help | #6 | rc | #29 | 0 |
more_msg | #6 | rc | #29 | <clear> |
linetask | #6 | r | #29 | <clear> |
linesleft | #6 | r | #29 | <clear> |
linebuffer | #6 | | #29 | <clear> |
pagelen | #6 | r | #29 | <clear> |
owned_objects | #6 | r | #361 | <clear> |
linelen | #6 | r | #29 | 79 |
current_folder | #6 | c | #29 | <clear> |
all_connect_places | #6 | | #361 | <clear> |
last_connect_place | #6 | | #361 | <clear> |
lines | #6 | c | #29 | 30 |
page_absent_msg | #6 | rc | #29 | <clear> |
page_origin_msg | #6 | rc | #29 | <clear> |
page_echo_msg | #6 | rc | #29 | <clear> |
edit_options | #6 | rc | #29 | <clear> |
last_connect_time | #6 | r | #361 | <clear> |
ownership_quota | #6 | | #29 | 0 |
password | #6 | | #361 | 0 |
paranoid | #6 | rc | #29 | 1 |
display_options | #6 | rc | #29 | <clear> |
verb_subs | #6 | rc | #29 | <clear> |
first_connect_time | #6 | r | #361 | <clear> |
size_quota | #6 | | #29 | {0, 0, 0, 0} |
last_password_time | #6 | | #361 | <clear> |
last_connect_attempt | #6 | | #361 | <clear> |
prefs | #6 | rc | #29 | <clear> |
ansi | #6 | rc | #29 | <clear> |
last_hit_meter | #6 | rc | #29 | "~1b[1m~1b[37m[~1b[32m|||||||||||||||||||||||||||||~1b[31m*~1b[37m~1b[1m]~1b[0m" |
doing_msg | #6 | rc | #29 | <clear> |
xp_total | #6 | rc | #29 | 133 |
party | #6 | rc | #29 | <clear> |
rooms | #6 | r | #361 | <clear> |
client | #6 | rc | #29 | <clear> |
last_death_time | #6 | rc | #29 | <clear> |
default_weapon | #6 | rc | #29 | <clear> |
thirst | #6 | rc | #29 | <clear> |
may_chat | #6 | rc | #29 | <clear> |
idlemsg | #6 | rc | #29 | <clear> |
eula | #6 | rc | #29 | <clear> |
birthdate | #6 | rc | #29 | <clear> |
bad_words | #6 | rc | #29 | <clear> |
char_start_time | #6 | rc | #29 | <clear> |
rumors | #6 | rc | #29 | <clear> |
last_broadcast | #6 | rc | #29 | <clear> |
ansihack | #6 | rc | #29 | <clear> |
last_death_callers | #6 | rc | #29 | <clear> |
char_extra_epochs | #6 | rc | #29 | <clear> |
code_name | #6 | rc | #29 | <clear> |
code_plural | #6 | rc | #29 | <clear> |
changeable_properties | #6 | rc | #29 | <clear> |
out_of_band_session | #6 | r | #29 | <clear> |
private_aliases | #6 | rc | #29 | <clear> |
quests_open | #6 | rc | #29 | <clear> |
quests | #6 | rc | #29 | <clear> |
page_receive_msg | #6 | rc | #29 | <clear> |
page_msg | #6 | rc | #29 | <clear> |
focus_skills | #6 | rc | #29 | <clear> |
skillpoints | #100 | rc | #29 | <clear> |
xp | #100 | rc | #29 | 100 |
mutations | #100 | rc | #29 | <clear> |
mutation_slots | #100 | rc | #29 | <clear> |
char_start_age | #100 | rc | #29 | <clear> |
char_extra_age | #100 | rc | #29 | <clear> |
hands | #107 | rc | #29 | <clear> |
wielding | #107 | rc | #29 | {} |
health | #107 | rc | #29 | 488 |
unarmed_weapon | #107 | rc | #29 | <clear> |
size | #107 | rc | #29 | <clear> |
posture | #107 | rc | #29 | <clear> |
gender | #107 | rc | #29 | <clear> |
respawn | #107 | rc | #29 | <clear> |
corpse | #107 | rc | #29 | <clear> |
has_proper_name | #107 | rc | #29 | <clear> |
die_msg | #107 | rc | #29 | <clear> |
body_parts | #107 | rc | #29 | <clear> |
wearing | #107 | rc | #29 | <clear> |
armor | #107 | rc | #29 | <clear> |
last_swing_message | #107 | rc | #29 | <clear> |
health_max | #107 | rc | #29 | <clear> |
fighting | #107 | rc | #29 | <clear> |
last_dodge_time | #107 | rc | #29 | <clear> |
following | #107 | rc | #29 | <clear> |
icon | #107 | rc | #29 | <clear> |
say_msg | #107 | rc | #29 | <clear> |
say_to_msg | #107 | rc | #29 | <clear> |
afterlife | #107 | rc | #29 | <clear> |
get_msg | #107 | rc | #29 | <clear> |
drop_msg | #107 | rc | #29 | <clear> |
blood | #107 | rc | #29 | <clear> |
squeals | #107 | rc | #29 | <clear> |
prc | #107 | rc | #29 | <clear> |
ppc | #107 | rc | #29 | <clear> |
poc | #107 | rc | #29 | <clear> |
psc | #107 | rc | #29 | <clear> |
pr | #107 | rc | #29 | <clear> |
pp | #107 | rc | #29 | <clear> |
po | #107 | rc | #29 | <clear> |
ps | #107 | rc | #29 | <clear> |
pq | #107 | rc | #29 | <clear> |
pqc | #107 | rc | #29 | <clear> |
brief | #107 | rc | #29 | <clear> |
knockout | #107 | rc | #29 | <clear> |
knockout_msg | #107 | rc | #29 | <clear> |
body | #107 | rc | #29 | <clear> |
wake_msg | #107 | rc | #29 | <clear> |
owake_msg | #107 | rc | #29 | <clear> |
oknockout_msg | #107 | rc | #29 | <clear> |
friends | #107 | rc | #29 | <clear> |
home | #107 | rc | #29 | #1438 |
respawn_msg | #107 | rc | #29 | <clear> |
move_action | #107 | rc | #29 | <clear> |
heart | #107 | rc | #29 | -1 |
last_heartbeat | #107 | rc | #29 | <clear> |
dead | #107 | rc | #29 | <clear> |
_tohit_next | #107 | rc | #29 | <clear> |
last_words_msg | #107 | rc | #29 | <clear> |
attacked | #107 | rc | #29 | <clear> |
opens_doors | #107 | rc | #29 | <clear> |
movable_by_explosion | #107 | rc | #29 | <clear> |
obscured | #107 | rc | #29 | <clear> |
obscured_desc_msg | #107 | rc | #29 | <clear> |
cooldowns | #107 | rc | #29 | <clear> |
combat_rounds | #107 | rc | #29 | <clear> |
encumbrance | #107 | rc | #29 | {0, 0} |
respawn_handler | #107 | rc | #29 | <clear> |
distant_form_msg | #107 | rc | #29 | <clear> |
block_msg | #107 | rc | #29 | <clear> |
attack_on_block | #107 | rc | #29 | 0 |
last_stunned | #107 | rc | #29 | <clear> |
nude_descs | #107 | rc | #29 | <clear> |
skills | #107 | rc | #29 | <clear> |
explode_msg | #107 | rc | #29 | <clear> |
death_listeners | #107 | rc | #29 | <clear> |
queue | #92 | r | #361 | {} |
preemptible | #92 | r | #361 | <clear> |
executing | #92 | r | #361 | <clear> |
process_queue | #92 | r | #361 | 0 |
help_msg | #92 | rc | #29 | <clear> |
last_action | #92 | r | #361 | <clear> |
article | #92 | rc | #29 | <clear> |
last_last_action | #92 | rc | #29 | <clear> |
action_count | #92 | rc | #29 | <clear> |
aliases | #1 | r | #362 | {"Generic Guest"} |
description | #1 | rc | #29 | {"By definition, guests appear nondescript."} |
object_size | #1 | r | #29 | {17563, 1298433815} |
hidden_verbs | #1 | rc | #29 | <clear> |
phelp_msg | #1 | rc | #29 | <clear> |
weight | #1 | rc | #29 | <clear> |
owner_verbs | #1 | rc | #29 | <clear> |
plural_name | #1 | rc | #29 | <clear> |
client_image | #1 | rc | #29 | <clear> |
listening | #1 | rc | #29 | <clear> |
Ancestry
Ancestors (nearest first): #89 generic immortal → #33 generic normal player → #6 generic player → #100 generic RPG player → #154 generic living creature → #107 generic creature → #92 generic actor → #1 root
Children: none
Call graph
Source
boot
Referenced by
none
Source
1if (!caller_perms().wizard) 2return; 3endif 4player = this; 5this:notify(tostr("Sorry, but you've been here for ", $string_utils:from_seconds(connected_seconds(this)), " and someone else wants to be a guest now. Feel free to come back", @$login:player_creation_enabled(player) ? {" or even create your own character if you want..."} | {" or type `create' to learn more about how to get a character of your own."})); 6"boot_player(this)"; 7return; 8"See #0:user_reconnected.";
disfunc
Referenced by
none
Source
1if ((((valid(cp = caller_perms()) && (caller != this)) && (!$perm_utils:controls(cp, this))) && (cp != this)) && (caller != #0)) 2return E_PERM; 3endif 4"Don't let another guest use this one until all this is done. See :defer, Ho_Yan 1/19/94"; 5this.free_to_use = 0; 6this:log_disconnect(); 7this:erase_paranoid_data(); 8try 9if (this.location != this.home) 10this:room_announce(player:name(), " has disconnected."); 11this:room_announce($string_utils:pronoun_sub($housekeeper.take_away_msg, this, $housekeeper)); 12move(this, this.home); 13this:room_announce($string_utils:pronoun_sub($housekeeper.drop_off_msg, this, $housekeeper)); 14endif 15finally 16this:do_reset(); 17this.free_to_use = 1; 18endtry
defer
Referenced by
none
Source
1"Called by #0:connect_player when this object is about to be used as the next guest character. Usually returns `this', but if for some reason some other guest character should be used, that player object is returned instead"; 2if (!caller_perms().wizard) 3"...caller is not :do_login_command; doesn't matter what we return..."; 4return this; 5elseif ($login:blacklisted($string_utils:connection_hostname(connection_name(player)))) 6return #-2; 7elseif (!is_connected(this)) 8"...not logged in, no problemo..."; 9return this; 10endif 11longest = 900; 12"...guests get 15 minutes before they can be dislodged..."; 13candidate = #-1; 14free = {}; 15for g in ($object_utils:leaves($guest)) 16if (!is_player(g)) 17"...a toaded guest?..."; 18elseif ((!(con = g in connected_players())) && g.free_to_use) 19"...yay; found an unused guest...and their last :disfunc is complete"; 20free = {@free, g}; 21elseif (con && ((t = connected_seconds(g)) > longest)) 22longest = t; 23candidate = g; 24endif 25endfor 26if (free) 27candidate = free[random($)]; 28elseif (valid(candidate)) 29"...someone's getting bumped..."; 30candidate:boot(); 31endif 32return candidate;
mail_catch_up
Referenced by
none
Source
1return;
create
Referenced by
none
Source
1if ($login:player_creation_enabled(player)) 2player:tell("First @quit, then connect to the MOO again and, rather than doing `connect guest' do `create <name> <password>'"); 3else 4player:tell($login:registration_string()); 5endif
eject
Referenced by
- #25:do_reset line 13:
this:eject
Source
1return pass(@args);
log
Referenced by
none
Source
1":log(islogin,time,where) adds an entry to the connection log for this guest."; 2if (caller != this) 3return E_PERM; 4elseif (length(this.connect_log) < this.max_connect_log) 5this.connect_log = {args, @this.connect_log}; 6else 7this.connect_log = {args, @this.connect_log[1..this.max_connect_log - 1]}; 8endif
confunc
Referenced by
none
Source
1if ((((valid(cp = caller_perms()) && (caller != this)) && (!$perm_utils:controls(cp, this))) && (cp != this)) && (caller != #0)) 2return E_PERM; 3else 4ret = pass(@args); 5this:tell_lines(this:extra_confunc_msg()); 6return ret; 7endif
log_disconnect
Referenced by
- #25:disfunc line 6:
this:log_disconnect
Source
1
@last-c*onnection
Referenced by
none
Source
1if (!valid(caller_perms())) 2player:tell("Sorry, that information is not available."); 3endif
my_huh
Referenced by
none
Source
1if (caller_perms() != this) 2return E_PERM; 3else 4return pass(@args); 5endif
@read @peek
Referenced by
none
Source
1return pass(@args);
set_current_folder
Referenced by
none
Source
1return pass(@args); 2"only for setting permission";
init_for_core
Referenced by
none
Source
1if (caller_perms().wizard) 2this.extra_confunc_msg = ""; 3clear_property(this, "features"); 4clear_property(this, "rooms"); 5endif
set_name set_aliases
Referenced by
none
Source
1"disallow guests from setting aliases on themselves"; 2if ($perm_utils:controls(caller_perms(), this)) 3return pass(@args); 4else 5return E_PERM; 6endif
extra_confunc_msg
Referenced by
- #25:confunc line 5:
this:extra_confunc_msg
Source
1return $string_utils:pronoun_sub(this.(verb));
do_reset
Referenced by
- #25:disfunc line 16:
this:do_reset
Source
1if (!caller_perms().wizard) 2return E_PERM; 3else 4flush_input(this, 0); 5for x in ({"paranoid", "lines", "responsible", "linelen", "linebuffer", "brief", "gaglist", "rooms", "pagelen", "current_message", "current_folder", "messages", "messages_going", "request", "mail_options", "edit_options", "home", "spurned_objects", "web_info"}) 6if ($object_utils:has_property(parent(this), x)) 7clear_property(this, x); 8endif 9endfor 10this:set_description(this.default_description); 11this:set_gender(this.default_gender); 12for x in (this.contents) 13this:eject(x); 14endfor 15for x in (this.features) 16if (!(x in $guest.features)) 17this:remove_feature(x); 18endif 19endfor 20for x in ($guest.features) 21if (!(x in this.features)) 22this:add_feature(x); 23endif 24endfor 25for x in ($object_utils:descendants($generic_editor)) 26if (loc = this in x.active) 27x:kill_session(loc); 28endif 29endfor 30endif
@request
Referenced by
none
Source
1"Copied from Generic Guest (#5678):@request by Froxx (#49853) Mon Apr 4 10:49:26 1994 PDT"; 2"Usage: @request <player-name> for <email-address>"; 3if (player != this) 4return player:tell(E_PERM); 5endif 6if (this.request) 7return player:tell("Sorry, you appear to have already requested a character."); 8endif 9name = dobjstr; 10if ((prepstr != "for") || ((!dobjstr) || index(address = iobjstr, " "))) 11return player:notify_lines($code_utils:verb_usage()); 12endif 13if ($login:request_character(player, name, address)) 14this.request = 1; 15endif
connection_name_hash
Referenced by
none
Source
1"Compute an encrypted hash of the guest's (last) connection, using 'crypt'. Basically, you can't tell where the guest came from, but it is unlikely that two guests will have the same hash"; 2"You can use guest:connection_name_hash(seed) as a string to identify whether two guests are from the same place."; 3HASH = toint(caller_perms()); 4host = $string_utils:connection_hostname(this.last_connect_place); 5for i in [1..length(host)] 6HASH = (HASH * 14) + index($string_utils.ascii, host[i]); 7endfor 8return crypt(tostr(HASH), @args);