generic immortal #89

Parent #33Owner #29Flags read, fertileSource hellcore/hellcore.db

Aliases: generic immortal, immortal

37 verbs · 190 properties · 2 children

Verbs

VerbSpecFlagsDefinerLines
lookup_roomthis none thisrxd#8925
teleportthis none thisrxd#8938
teleport_messagesthis none thisrxd#8916
@joinany none nonerxd#8919
msg_subthis none thisrxd#895
last_huhthis none thisrxd#8912
init_for_corethis none thisrxd#8913
self_port_msg player_port_msg thing_port_msg join_msgthis none thisrxd#897
oself_port_msg self_arrive_msg oplayer_port_msg player_arrive_msg victim_port_msg othing_port_msg thing_arrive_msg object_port_msgthis none thisrxd#8913
diethis none thisrxd#8936
gain_stressthis none thisrxd#893
_heartbeat_hungerthis none thisrxd#890
@mjoin @mvisitany none nonerxd#8923
_morphthis none thisrxd#8919
tellthis none thisrxd#898
encumbrancethis none thisrxd#890
tell_wearingthis none thisrxd#894
pick_visitthis none thisrxd#8914
@morphany none nonerxd#897
max_carrythis none thisrxd#891
prep_to_visitthis none thisrxd#8916
_teleportthis none thisrxd#8943
pick_teleport_exitthis none thisrxd#8912
@join_oldany none nonerxd#8948
@goany none nonerxd#8917
revert_code_namethis none thisrxd#897
examine_verbsthis none thisrxd#891
take_damagethis none thisrxd#894
_allowsthis none thisrxd#892
cyberdeckthis none thisrxd#894
text_subthis none thisrxd#891
awh*onone none nonerxd#897
pwh*onone none nonerxd#897
whonone none nonerxd#898
tree_tagthis none thisrxd#8911
@rotatenone at/to anyrxd#8912
movetothis none thisrxd#8913

Properties

PropertyDefinerFlagsOwnerValue
join_msg#89rc#29"You join %n."
object_port_msg#89rc#29"teleports you."
victim_port_msg#89rc#29"teleports you."
thing_arrive_msg#89rc#29"%T teleports %n in."
othing_port_msg#89rc#29"%T teleports %n out."
thing_port_msg#89rc#29"You teleport %n."
player_arrive_msg#89rc#29"%T teleports %n in."
oplayer_port_msg#89rc#29"%T teleports %n out."
player_port_msg#89rc#29"You teleport %n."
self_arrive_msg#89rc#29"%<teleports> in."
oself_port_msg#89rc#29"%<teleports> out."
self_port_msg#89rc#29""
real_name#89rc#29""
real_aliases#89rc#29{}
zots#89rc#290
bedroom#89rc#29#390478
chillmin#89rc#290
_mail_task#33rc#29<clear>
messages_going#33c#29<clear>
mail_lists#33rc#29<clear>
mail_notify#33rc#29<clear>
mail_forward#33rc#29<clear>
mail_options#33rc#29{}
message_keep_date#33rc#29<clear>
messages_kept#33rc#29<clear>
current_message#33c#29<clear>
messages#33c#29<clear>
mail_hack#33rc#29<clear>
barcolor#33rc#29<clear>
autowield#33rc#29<clear>
bug#33rc#29<clear>
readied_weapon#33rc#29<clear>
unread_mail#33rc#29<clear>
features#6r#29<clear>
previous_connection#6#361<clear>
email_address#6#361<clear>
last_disconnect_time#6r#361<clear>
help#6rc#29#93
more_msg#6rc#29<clear>
linetask#6r#29<clear>
linesleft#6r#29<clear>
linebuffer#6#29<clear>
pagelen#6r#29<clear>
owned_objects#6r#361<clear>
linelen#6r#29<clear>
current_folder#6c#29<clear>
all_connect_places#6#361<clear>
last_connect_place#6#361<clear>
lines#6c#29<clear>
page_absent_msg#6rc#29<clear>
page_origin_msg#6rc#29<clear>
page_echo_msg#6rc#29<clear>
edit_options#6rc#29<clear>
last_connect_time#6r#361<clear>
ownership_quota#6#29<clear>
password#6#361<clear>
paranoid#6rc#29<clear>
display_options#6rc#29<clear>
verb_subs#6rc#29<clear>
first_connect_time#6r#361<clear>
size_quota#6#29{50000, 0, 0, 1}
last_password_time#6#361<clear>
last_connect_attempt#6#361<clear>
prefs#6rc#29<clear>
ansi#6rc#29<clear>
last_hit_meter#6rc#29"~1b[1m~1b[37m[~1b[32m|||||||||||||||||||||||||||||~1b[31m*~1b[37m~1b[1m]~1b[0m"
doing_msg#6rc#29<clear>
xp_total#6rc#29<clear>
party#6rc#29<clear>
rooms#6r#361{}
client#6rc#29<clear>
last_death_time#6rc#29<clear>
default_weapon#6rc#29<clear>
thirst#6rc#29<clear>
may_chat#6rc#29<clear>
idlemsg#6rc#29<clear>
eula#6rc#29<clear>
birthdate#6rc#29<clear>
bad_words#6rc#29<clear>
char_start_time#6rc#29<clear>
rumors#6rc#29<clear>
last_broadcast#6rc#29<clear>
ansihack#6rc#29<clear>
last_death_callers#6rc#29<clear>
char_extra_epochs#6rc#29<clear>
code_name#6rc#29<clear>
code_plural#6rc#29<clear>
changeable_properties#6rc#29<clear>
out_of_band_session#6r#29<clear>
private_aliases#6rc#29<clear>
quests_open#6rc#29<clear>
quests#6rc#29<clear>
page_receive_msg#6rc#29<clear>
page_msg#6rc#29<clear>
focus_skills#6rc#29<clear>
skillpoints#100rc#29<clear>
xp#100rc#29<clear>
mutations#100rc#29<clear>
mutation_slots#100rc#29<clear>
char_start_age#100rc#29<clear>
char_extra_age#100rc#29<clear>
hands#107rc#29<clear>
wielding#107rc#29<clear>
health#107rc#29488
unarmed_weapon#107rc#29<clear>
size#107rc#29<clear>
posture#107rc#29"standing"
gender#107rc#29<clear>
respawn#107rc#29<clear>
corpse#107rc#29<clear>
has_proper_name#107rc#29<clear>
die_msg#107rc#29"%DN crumples to the ground. As %s falls, a flash of blinding blue-white light envelops %o, and %s is gone."
body_parts#107rc#29<clear>
wearing#107rc#29<clear>
armor#107rc#29<clear>
last_swing_message#107rc#29<clear>
health_max#107rc#29500
fighting#107rc#29{}
last_dodge_time#107rc#29<clear>
following#107rc#29<clear>
icon#107rc#29<clear>
say_msg#107rc#29<clear>
say_to_msg#107rc#29<clear>
afterlife#107rc#29<clear>
get_msg#107rc#29<clear>
drop_msg#107rc#29<clear>
blood#107rc#29<clear>
squeals#107rc#29<clear>
prc#107rc#29<clear>
ppc#107rc#29<clear>
poc#107rc#29<clear>
psc#107rc#29<clear>
pr#107rc#29<clear>
pp#107rc#29<clear>
po#107rc#29<clear>
ps#107rc#29<clear>
pq#107rc#29<clear>
pqc#107rc#29<clear>
brief#107rc#29<clear>
knockout#107rc#29<clear>
knockout_msg#107rc#29<clear>
body#107rc#29<clear>
wake_msg#107rc#29<clear>
owake_msg#107rc#29<clear>
oknockout_msg#107rc#29<clear>
friends#107rc#29<clear>
home#107rc#29<clear>
respawn_msg#107rc#29"%DN wanders in."
move_action#107rc#29<clear>
heart#107rc#29-1
last_heartbeat#107rc#29<clear>
dead#107rc#29<clear>
_tohit_next#107rc#29<clear>
last_words_msg#107rc#29<clear>
attacked#107rc#29<clear>
opens_doors#107rc#29<clear>
movable_by_explosion#107rc#29<clear>
obscured#107rc#29<clear>
obscured_desc_msg#107rc#29<clear>
cooldowns#107rc#29<clear>
combat_rounds#107rc#29<clear>
encumbrance#107rc#29{0, 0}
respawn_handler#107rc#29<clear>
distant_form_msg#107rc#29<clear>
block_msg#107rc#29<clear>
attack_on_block#107rc#29<clear>
last_stunned#107rc#29<clear>
nude_descs#107rc#29<clear>
skills#107rc#29<clear>
explode_msg#107rc#29<clear>
death_listeners#107rc#29<clear>
queue#92r#361<clear>
preemptible#92r#361<clear>
executing#92r#361<clear>
process_queue#92r#361<clear>
help_msg#92rc#29<clear>
last_action#92r#361<clear>
article#92rc#29<clear>
last_last_action#92rc#29<clear>
action_count#92rc#29<clear>
aliases#1r#362{"generic immortal", "immortal"}
description#1rc#29"You see a player who should type '@describe me as ...'."
object_size#1r#29{31327, 1298433815}
hidden_verbs#1rc#29<clear>
phelp_msg#1rc#29<clear>
weight#1rc#29<clear>
owner_verbs#1rc#29<clear>
plural_name#1rc#29<clear>
client_image#1rc#29<clear>
listening#1rc#29<clear>

Ancestry

Ancestors (nearest first): #33 generic normal player#6 generic player#100 generic RPG player#154 generic living creature#107 generic creature#92 generic actor#1 root

Children: #2 generic builder, #25 Generic Guest

Call graph

calls n89_0 #89:lookup_room n6_145 #6:index_room n89_0->n6_145 n6_6 #6:my_match_object n89_0->n6_6 n45_6 #45:ancestors n89_0->n45_6 n89_1 #89:teleport n107_43 #107:tell n89_1->n107_43 n89_2 #89:teleport_messages n89_1->n89_2 n89_7 #89:self_port_msg n89_1->n89_7 n89_8 #89:oself_port_msg n89_1->n89_8 n45_8 #45:contains n89_1->n45_8 n45_0 #45:has_property n89_1->n45_0 n89_2->n107_43 n89_4 #89:msg_sub n89_7->n89_4 n89_8->n89_4 n6_169 #6:dnamec n89_8->n6_169 n89_3 #89:@join n89_3->n107_43 n20_20 #20:match_player n89_3->n20_20 n1_45 #1:named n89_3->n1_45 n89_21 #89:_teleport n89_3->n89_21 n20_34 #20:pronoun_sub n89_21->n20_34 n89_21->n6_169 n89_14 #89:tell n89_21->n89_14 n89_36 #89:moveto n89_21->n89_36 n89_17 #89:pick_visit n89_21->n89_17 n20_36 #20:pronoun_quote n89_4->n20_36 n89_4->n20_34 n89_5 #89:last_huh n33_61 #33:last_huh n89_5->n33_61 n20_16 #20:literal_object n89_5->n20_16 n44_2 #44:match_verb n89_5->n44_2 n89_6 #89:init_for_core n33_48 #33:init_for_core n89_6->n33_48 n89_9 #89:die n89_9->n20_34 n89_9->n89_14 n92_7 #92:cancel_current_action n89_9->n92_7 n1_66 #1:announce_action_text n89_9->n1_66 n89_25 #89:revert_code_name n89_9->n89_25 n6_201 #6:inamec n89_9->n6_201 n89_9->n89_36 n33_52 #33:tell n89_14->n33_52 n47_16 #47:slice n89_14->n47_16 n20_5 #20:from_list n89_14->n20_5 n45_23 #45:leaves n89_25->n45_23 n6_91 #6:moveto n89_36->n6_91 n89_10 #89:gain_stress n89_10->n45_0 n6_86 #6:gain_stress n89_10->n6_86 n89_12 #89:@mjoin n89_12->n107_43 n89_12->n20_20 n89_12->n20_34 n89_12->n89_25 n89_13 #89:_morph n89_12->n89_13 n89_12->n89_17 n89_12->n6_91 n89_13->n89_14 n89_13->n89_25 n34_0 #34:set n89_13->n34_0 n20_9 #20:trim n89_13->n20_9 n6_155 #6:set_code_name n89_13->n6_155 n89_13->n45_23 n89_16 #89:tell_wearing n107_63 #107:tell_wearing n89_16->n107_63 n89_18 #89:@morph n89_18->n107_43 n89_18->n89_13

Showing 48 of 75 verbs; 27 not shown.

Source

lookup_room

Spec this none thisFlags rxdOwner #29Definer #89

Referenced by

Source

1"Look up a room in your personal database of room names, returning its object number. If it's not in your database, it checks to see if it's a number or a nearby object.";
2room = args[1];
3if (room == "home")
4return player.home;
5elseif (room == "me")
6return player;
7elseif (room == "here")
8return player.location;
9elseif (room == "#-1")
10return #-1;
11elseif (!room)
12return $failed_match;
13endif
14index = this:index_room(room);
15if (index)
16return this.rooms[index][2];
17else
18return this:my_match_object(room);
19"old code no longer used, 2/11/96 Heathcliff";
20source = player.location;
21if (!(valid(source) && ($room in $object_utils:ancestors(source))))
22source = $room;
23endif
24return source:match_object(room);
25endif

teleport

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

Source

1"Teleport a player or object. For printing messages, there are three cases: (1) teleport self (2) teleport other player (3) teleport object. There's a spot of complexity for handling the invalid location #-1.";
2set_task_perms((caller == this) ? this | $no_one);
3{thing, dest} = args;
4source = thing.location;
5if (valid(dest))
6dest_name = dest.name;
7else
8dest_name = tostr(dest);
9endif
10if (source == dest)
11player:tell(thing.name, " is already at ", dest_name, ".");
12return;
13endif
14thing:moveto(dest);
15if (thing.location == dest)
16tsd = {thing, source, dest};
17if (thing == player)
18this:teleport_messages(@tsd, this:self_port_msg(@tsd), this:oself_port_msg(@tsd), this:self_arrive_msg(@tsd), "");
19elseif (is_player(thing))
20this:teleport_messages(@tsd, this:player_port_msg(@tsd), this:oplayer_port_msg(@tsd), this:player_arrive_msg(@tsd), this:victim_port_msg(@tsd));
21else
22this:teleport_messages(@tsd, this:thing_port_msg(@tsd), this:othing_port_msg(@tsd), this:thing_arrive_msg(@tsd), this:object_port_msg(@tsd));
23endif
24elseif (thing.location == source)
25if ($object_utils:contains(thing, dest))
26player:tell("Ooh, it's all twisty. ", dest_name, " is inside ", thing.name, ".");
27else
28if ($object_utils:has_property(thing, "po"))
29pronoun = thing.po;
30else
31pronoun = "it";
32endif
33player:tell("Either ", thing.name, " doesn't want to go, or ", dest_name, " didn't accept ", pronoun, ".");
34endif
35else
36thing_name = (thing == player) ? "you" | thing.name;
37player:tell("A strange force deflects ", thing_name, " from the destination.");
38endif

teleport_messages

Spec this none thisFlags rxdOwner #29Definer #89

Referenced by

Source

1"Send teleport messages. There's a slight complication in that the source and dest need not be valid objects.";
2{thing, source, dest, pmsg, smsg, dmsg, tmsg} = args;
3if (pmsg)
4"The player's own message.";
5player:tell(pmsg);
6endif
7if (smsg)
8`source:room_announce_all_but({thing, player}, smsg) ! E_VERBNF, E_INVIND';
9endif
10if (dmsg)
11`dest:room_announce_all_but({thing, player}, dmsg) ! E_VERBNF, E_INVIND';
12endif
13if (tmsg)
14"A message to the victim being teleported.";
15thing.listening && thing:tell(tmsg);
16endif

@join

Spec any none noneFlags rxdOwner #29Definer #89

Referenced by

none

Source

1if (player != this)
2return player:tell("I don't understand that.");
3endif
4who = $su:match_player(dobjstr);
5if (!valid(who))
6who = $npc:named(dobjstr);
7endif
8if (!valid(who))
9player:tell("@join who?");
10elseif (is_a(who.location, $generic_editor))
11if ((index = who in who.location.active) && is_a(origin = who.location.original[index], $room))
12this:_teleport(origin);
13player:tell(((who:dnamec() + " is editing something right now, wait here until ") + who.ps) + " is done.");
14else
15player:tell(who:dnamec() + " is editing something right now, but I don't know where he was.");
16endif
17else
18this:_teleport(who.location);
19endif

msg_sub

Spec this none thisFlags rxdOwner #29Definer #89

Referenced by

Source

1"Do pronoun and other substitutions on the teleport messages. The arguments are: 1. The original message, before any substitutions; 2. object being teleported; 3. from location; 4. to location. The return value is the final message.";
2{msg, thing, from, to} = args;
3msg = $string_utils:substitute(msg, $string_utils:pronoun_quote({{"%<from room>", valid(from) ? from.name | "Nowhere"}, {"%<to room>", valid(to) ? to.name | "Nowhere"}}));
4msg = $string_utils:pronoun_sub(msg, thing);
5return msg;

last_huh

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

1set_task_perms(caller_perms());
2if (pass(@args))
3return 1;
4endif
5{verb, args} = args;
6if (valid(dobj = $string_utils:literal_object(dobjstr)) && (r = $match_utils:match_verb(verb, dobj, args)))
7return r;
8elseif (valid(iobj = $string_utils:literal_object(iobjstr)) && (r = $match_utils:match_verb(verb, iobj, args)))
9return r;
10else
11return 0;
12endif

init_for_core

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

Source

1if (caller_perms().wizard)
2pass();
3if ($code_utils:verb_location() == this)
4this.rooms = {};
5delete_verb(this, "@web");
6delete_verb(this, "web_info");
7delete_verb(this, "set_web_info");
8delete_property(this, "web_info");
9else
10clear_property(this, "rooms");
11endif
12this.features = {$pasting_feature, $stage_talk};
13endif

self_port_msg player_port_msg thing_port_msg join_msg

Spec this none thisFlags rxdOwner #29Definer #89

Referenced by

Source

1"Copied from Frand's player class (#89):self_port_msg by Hacker (#36) Mon Sep  1 01:23:51 2008 CDT";
2"This verb returns messages that go only to you. You don't need to have your name tacked on to the beginning of these. Heh.";
3msg = this.(verb);
4if (msg && (length(args) >= 3))
5msg = this:msg_sub(msg, @args);
6endif
7return msg;

oself_port_msg self_arrive_msg oplayer_port_msg player_arrive_msg victim_port_msg othing_port_msg thing_arrive_msg object_port_msg

Spec this none thisFlags rxdOwner #29Definer #89

Referenced by

Source

1"This verb returns messages that go to other players. It does pronoun substitutions; if your name is not included in the final string, it adds the name in front.";
2msg = this.(verb);
3if (!msg)
4msg = parent(this).(verb);
5endif
6if (length(args) >= 3)
7msg = this:msg_sub(msg, @args);
8endif
9name = this:dnamec();
10if (((!index(msg, name)) && (!index(msg, "%N"))) && (!index(msg, "%DN")))
11msg = (name + " ") + msg;
12endif
13return msg;

die

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

1body = this.body;
2this:tell("");
3this:tell(($ansi.bold_on + "YOU DIED, DUMBASS.") + $ansi.reset);
4this:tell("");
5this.blood = {};
6this.queue = {};
7for x in (this.fighting)
8x.fighting = setremove(x.fighting, this);
9x:cancel_current_action();
10endfor
11this.fighting = {};
12this:cancel_current_action();
13dtype = (length(args) > 1) ? args[2] | $damage;
14diemsg = this.explode_msg;
15if (dtype != #15895)
16diemsg = this.die_msg;
17endif
18killers = {};
19this:aat((($ansi.bold_on + $ansi.red) + $su:ps(diemsg, this, this)) + $ansi.reset);
20for x in (this.location:occupants($creature))
21if (this in x.fighting)
22killers = {@killers, x};
23endif
24endfor
25killer = killers ? killers[random(length(killers))] | #-1;
26"$nets.deathnet:announce_death(this, killer, dtype);";
27this:revert_code_name();
28this.home:announce_all(this:inamec(), " appears in a flash of blue light.");
29this:moveto(this.home);
30this.health = this.health_max;
31this.blood = {};
32if (is_a(body, $body))
33body:turn_to_corpse();
34body.player = #-1;
35body = #-1;
36endif

gain_stress

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

1if ($ou:has_prop(this, "gain_stress"))
2return pass(@args);
3endif

_heartbeat_hunger

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

No program (verb defined but unprogrammed).

@mjoin @mvisit

Spec any none noneFlags rxdOwner #361Definer #89

Referenced by

none

Source

1who = $su:match_player(dobjstr);
2if (!valid(who))
3player:tell("@join who?");
4return;
5endif
6exit = player.location.exits[random(length(player.location.exits))];
7exit.location:announce_all($su:ps(exit.oleave_msg, player, exit));
8where = who.location;
9area = where:area();
10if (area != #257121)
11disguise = where:area():random_npc();
12this:_morph(disguise);
13else
14this:revert_code_name();
15endif
16entrance = this:pick_visit(who);
17if (verb == "@mvisit")
18player:moveto(entrance.otherside.location);
19player:tell(who:dnamec(), " is in ", entrance.otherside:dname(), ".");
20else
21entrance.location:announce_all($su:ps(entrance.oarrive_msg, player, entrance));
22player:moveto(where);
23endif

_morph

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

Source

1source = args[1];
2this:tell((((($ansi.bold_on + $ansi.cyan) + "[ You take the form of ") + source:iname()) + ". ]") + $ansi.reset);
3$gender_utils:set(this, source.gender);
4this:revert_code_name();
5code_name = source.name;
6code_name = strsub(code_name, "generic", "");
7code_name = $su:trim(code_name);
8this:set_code_name(code_name, source.description);
9this.has_proper_name = source.has_proper_name;
10for x in ($ou:leaves($skill))
11this.skills[skill.name] = {skill:raw(source), skill:ip(source), 0, 0};
12endfor
13this.health_max = source.health_max;
14this.health = source.health;
15this.wearing = {};
16this.wielding = {};
17this.armor = source.armor;
18this.unarmed_weapon = source.unarmed_weapon;
19this.body_parts = source.body_parts;

tell

Spec this none thisFlags rxdOwner #29Definer #89

Referenced by

Source

1ret = pass(@args);
2if (((this.code_name != "") && (this.location == $lu:slice(callers(), 1)[$])) && (!(#181402 in $lu:slice(callers(), 1))))
3objs = $lu:slice(callers(), 4);
4if (((!($net in objs)) && (!(#50 in objs))) && (!(#318 in objs)))
5#181402:announce(this, $su:from_list({"[", this.name[1..min(4, length(this.name))], "] ", @args}, ""), 1);
6endif
7endif
8return ret;

encumbrance

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

No program (verb defined but unprogrammed).

tell_wearing

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

1if (this.code_name)
2return;
3endif
4return pass(@args);

pick_visit

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

Source

1who = args[1];
2if (gamevalid(who.home) && (area(who) == area(who.home)))
3for x in (who.home.exits)
4if ((x.direction == "out") && (x.otherside.direction != "in"))
5return x;
6endif
7endfor
8endif
9cand = who.location.exits;
10if (cand)
11return cand[random(length(cand))];
12else
13return #-1;
14endif

@morph

Spec any none noneFlags rxdOwner #361Definer #89

Referenced by

none

Source

1source = $mu:match(dobjstr, $ou:leaves_suspended($npc));
2if (!valid(source))
3player:tell("@morph what?");
4return;
5endif
6player:tell("Morphing you into ", $su:nn(source), "...");
7this:_morph(source);

max_carry

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

1return 200000000;

prep_to_visit

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

Source

1return;
2where = args[1];
3region = where:region();
4area = where:area();
5if (region.admin_ok || area.admin_ok)
6if (this.code_name)
7this:tell($ansi.bold_on, "[ Reverting to admin form. ]", $ansi.reset);
8this:revert_code_name();
9endif
10else
11if (!this.code_name)
12npc = area:random_npc();
13this:tell($ansi.bold_on, "[ Disguising as ", npc.name, ". ]", $ansi.reset);
14this:_morph(npc);
15endif
16endif

_teleport

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

Source

1where = args[1];
2entrance = #-1;
3exit = #-1;
4if ((!is_a(where, $room)) || (where.exits == {}))
5oldloc = this.location;
6for x in (oldloc:occupants($prog))
7x:tell($ansi.cyan, "[ ", this.name, " has left. ]", $ansi.reset);
8endfor
9this:moveto(where);
10return;
11endif
12if (people = where:occupants($player))
13entrance = this:pick_visit(people[1]);
14else
15entrance = where.exits[random(length(where.exits))];
16endif
17if (!is_a(this.location, $room))
18exit = #-1;
19else
20exit = this:pick_teleport_exit();
21if (valid(exit) && (m = exit:leave_msg()))
22this:tell($su:ps(m, this, exit, where));
23endif
24endif
25if (valid(exit))
26oleave = $su:ps(exit:oleave_msg(), this, exit, where);
27else
28oleave = this:dnamec() + " wanders out.";
29endif
30this:prep_to_visit(where);
31if (valid(entrance))
32where:announce_all($su:ps(entrance:oarrive_msg(), this, entrance, where));
33else
34where:announce_all(this:dnamec(), " wanders in.");
35endif
36oldloc = this.location;
37this:moveto(where);
38if (is_a(oldloc, $room))
39oldloc:announce_all(oleave);
40for x in (oldloc:occupants($prog))
41x:tell($ansi.cyan, "[ ", this.name, " has left. ]", $ansi.reset);
42endfor
43endif

pick_teleport_exit

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

Source

1if (is_a(here = this.location, $room))
2set = here.exits;
3for x in (set)
4if (!((is_a(x.otherside, $exit) && is_a(x.otherside.location, $room)) && (length(x.otherside.location.exits) > 1)))
5set = setremove(set, x);
6endif
7endfor
8if (set)
9return set[random($)];
10endif
11endif
12return #-1;

@join_old

Spec any none noneFlags rxdOwner #29Definer #89

Referenced by

none

Source

1"Copied from generic immortal (#89):@join by Hacker (#36) Sat Oct 25 00:29:05 2008 CDT";
2"'@join <player>' - Teleport yourself to the location of any player, whether connected or not.";
3if (player != this)
4player:tell("I don't understand that.");
5return;
6endif
7if (dobjstr == "")
8player:tell("Usage: @join <player>. For example, '@join frand'.");
9return;
10endif
11target = $string_utils:match_player(dobjstr);
12$command_utils:player_match_result(target, dobjstr);
13if (valid(target))
14if (target == this)
15if (player == this)
16player:tell("There is little need to join yourself, unless you are split up.");
17else
18player:tell("No thank you. Please get your own join verb.");
19endif
20return;
21endif
22if ((!player.programmer) && (!is_a(target, $immortal)))
23player:tell("You can only join other immortal beings (builders, programmers, wizards, or plain old awesome skullcano dudes.)");
24return;
25endif
26dest = target.location;
27msg = this:join_msg();
28if (typeof(msg) != LIST)
29msg = {msg};
30endif
31editing = $object_utils:isa(dest, $generic_editor);
32if (editing)
33dest = dest.original[target in dest.active];
34editing_msg = "%N is editing at the moment. You can wait here until %s is done.";
35if (player.location == dest)
36msg = {editing_msg};
37else
38msg = {@msg, editing_msg};
39endif
40endif
41if (msg && ((player.location != dest) || editing))
42player:tell_lines($string_utils:pronoun_sub(msg, target));
43elseif (player.location == dest)
44player:tell("OK, you're there. You didn't need to actually move, though.");
45return;
46endif
47this:teleport(player, dest);
48endif

@go

Spec any none noneFlags rxdOwner #29Definer #89

Referenced by

none

Source

1"'@go <place>' - Teleport yourself somewhere. Example: '@go liv' to go to the living room.";
2dest = this:lookup_room(dobjstr);
3if (dest == $failed_match)
4player:tell("There's no such place known.");
5else
6"if (is_a(dest, $flyer) && is_a(dest.inside_area, $real_area))";
7"  dest = dest.inside_area;";
8"endif";
9if (is_a(dest, $area))
10dest = dest:random_room();
11if (!valid(dest))
12player:tell("Couldn't find a room to stick you in, sorry!");
13return;
14endif
15endif
16this:_teleport(dest);
17endif

revert_code_name

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

Source

1r = pass(@args);
2for x in ($ou:leaves($skill))
3this.skills[skill.name] = {20, 0, 0, 0};
4endfor
5clear_property(this, "resists");
6clear_property(this, "armor");
7return r;

examine_verbs

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

1return this.obscured ? {} | pass(@args);

take_damage

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

1if (is_a(this.location, $generic_editor))
2return;
3endif
4return pass(@args);

_allows

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

1who = args[2];
2return is_a(who, $immortal) ? 1 | pass(@args);

cyberdeck

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

1if (!is_a(this.cyberdeck, #1834))
2this.cyberdeck = #-1;
3endif
4return this.cyberdeck;

text_sub

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

1return `this.text_sub_bypass ! ANY => 0' ? pass(@args) | args[1];

awh*o

Spec none none noneFlags rxdOwner #361Definer #89

Referenced by

none

Source

1mins = {};
2for p in (connected_players())
3if (is_a(p, $immortal))
4mins = {@mins, p};
5endif
6endfor
7return $whofo:_who(mins, {}, -1);

pwh*o

Spec none none noneFlags rxdOwner #361Definer #89

Referenced by

none

Source

1nonmins = {};
2for p in (connected_players())
3if (!is_a(p, $immortal))
4nonmins = {@nonmins, p};
5endif
6endfor
7return $whofo:_who(nonmins, {}, 1);

who

Spec none none noneFlags rxdOwner #361Definer #89

Referenced by

none

Source

1if (player != this)
2raise(E_PERM);
3endif
4if (this.chillmin)
5return this:awho(@args);
6else
7return $whofo:who(@args);
8endif

tree_tag

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

none

Source

1if (this.f)
2return "";
3endif
4if (this.owner != this)
5return "owned by " + this.owner.name;
6endif
7objs = $su:right(`tostr(length(this.owned_objects)) ! E_TYPE => "lots"', 5);
8flags = this.programmer ? "p" | "";
9flags = flags + (this.wizard ? "w" | "");
10flags = flags + (this.chillmin ? "c" | "");
11return tostr(objs, " ", flags);

@rotate

Spec none at/to anyFlags rxdOwner #29Definer #89

Referenced by

none

Source

1"Copied from Treeclipse (#309):@rotate Mon Nov 29 22:15:54 2010 CST";
2if (caller != this)
3player:tell("I DON'T THINK SO!  Change your own names. sheesh.");
4return E_PERM;
5endif
6if (!(iobjstr in this.aliases))
7player:tell("You can't change to that! It isn't one of your aliases!");
8else
9this:set_name(iobjstr);
10this:set_aliases(setadd(this.aliases, iobjstr));
11player:tell("Aliases Rotated.  Your name is now: ", this.name, ".");
12endif

moveto

Spec this none thisFlags rxdOwner #361Definer #89

Referenced by

Source

1where = args[1];
2oldloc = this.location;
3r = pass(@args);
4if (!(oldloc in {this.location, where}))
5for x in (callers(1))
6if (x[4] == $actions.move)
7return r;
8endif
9endfor
10is_a(oldloc, $room) && oldloc:broadcast_event(0, $actions.move, this, {#-1});
11is_a(l = this.location, $room) && l:broadcast_event(0, $actions.arrive, this, {#-1});
12endif
13return r;