generic thing #5

Parent #102Owner #2Flags obsolete1, read, fertileSource RPG Core/rpgcore-patched.db

Aliases: generic thing

6 verbs · 20 properties · 11 children

Verbs

VerbSpecFlagsDefinerLines
g*et t*akethis none nonerxd#519
dr*op th*rowthis none nonerxd#519
movetothis none thisrxd#55
take_failed_msg take_succeeded_msg otake_failed_msg otake_succeeded_msg drop_failed_msg drop_succeeded_msg odrop_failed_msg odrop_succeeded_msgthis none thisrxd#52
gi*ve ha*ndthis at/to anyrxd#519
examine_keythis none thisrxd#57

Properties

PropertyDefinerFlagsOwnerValue
drop_failed_msg#5rc#2"You can't seem to drop %t here."
drop_succeeded_msg#5rc#2"You drop %t."
odrop_failed_msg#5rc#2"tries to drop %t but fails!"
odrop_succeeded_msg#5rc#2"drops %t."
otake_succeeded_msg#5rc#2"picks up %t."
otake_failed_msg#5rc#2""
take_succeeded_msg#5rc#2"You take %t."
take_failed_msg#5rc#2"You can't pick that up."
value_base#102r#2<clear>
damage_base#102r#2<clear>
x_loc#102r#36<clear>
y_loc#102r#36<clear>
ansi_title#102r#36<clear>
obvious#102r#36<clear>
build_help#102rc#2<clear>
key#1c#2<clear>
aliases#1rc#2{"generic thing"}
description#1rc#2<clear>
object_size#1r#36{5459, -1090650497}
html#1rc#2<clear>

Ancestry

Ancestors (nearest first): #102 subthing#1 Root Class

Children: #8 generic container, #9 generic note, #63 Recycling Center, #74 Generic Feature Object, #88 password verifier, #108 generic replicating & returning thing, #113 generic collective thing, #115 generic death purse, #132 generic food and drink 2, #137 breeder relay, #154 the ultimate fob

Call graph

calls n5_0 #5:g*et n6_18 #6:tell n5_0->n6_18 n5_2 #5:moveto n5_0->n5_2 n5_3 #5:take_failed_msg n5_0->n5_3 n1_17 #1:is_unlocked_for n5_2->n1_17 n1_15 #1:moveto n5_2->n1_15 n20_34 #20:pronoun_sub n5_3->n20_34 n5_1 #5:dr*op n5_1->n6_18 n5_1->n5_2 n5_1->n5_3 n6_79 #6:tell_lines n5_1->n6_79 n5_4 #5:gi*ve n5_4->n6_18 n5_4->n5_2 n56_0 #56:object_match_failed n5_4->n56_0 n102_4 #102:title n5_4->n102_4 n6_9 #6:titlec n5_4->n6_9 n5_5 #5:examine_key n5_5->n102_4 n42_0 #42:controls n5_5->n42_0 n53_8 #53:unparse_key n5_5->n53_8

Source

g*et t*ake

Spec this none noneFlags rxdOwner #2Definer #5

Referenced by

Source

1set_task_perms(callers() ? caller_perms() | player);
2if (this.location == player)
3player:tell("You already have that!");
4elseif (this.location != player.location)
5player:tell("I don't see that here.");
6else
7this:moveto(player);
8if (this.location == player)
9player:tell(this:take_succeeded_msg() || "Taken.");
10if (msg = this:otake_succeeded_msg())
11player.location:announce(player.name, " ", msg);
12endif
13else
14player:tell(this:take_failed_msg() || "You can't pick that up.");
15if (msg = this:otake_failed_msg())
16player.location:announce(player.name, " ", msg);
17endif
18endif
19endif

dr*op th*row

Spec this none noneFlags rxdOwner #2Definer #5

Referenced by

Source

1set_task_perms(callers() ? caller_perms() | player);
2if (this.location != player)
3player:tell("You don't have that.");
4elseif (!player.location:acceptable(this))
5player:tell("You can't drop that here.");
6else
7this:moveto(player.location);
8if (this.location == player.location)
9player:tell_lines(this:drop_succeeded_msg() || "Dropped.");
10if (msg = this:odrop_succeeded_msg())
11player.location:announce(player.name, " ", msg);
12endif
13else
14player:tell_lines(this:drop_failed_msg() || "You can't seem to drop that here.");
15if (msg = this:odrop_failed_msg())
16player.location:announce(player.name, " ", msg);
17endif
18endif
19endif

moveto

Spec this none thisFlags rxdOwner #2Definer #5

Referenced by

Source

1where = args[1];
2"if (!valid(where) || this:is_unlocked_for(where))";
3if (this:is_unlocked_for(where))
4pass(where);
5endif

take_failed_msg take_succeeded_msg otake_failed_msg otake_succeeded_msg drop_failed_msg drop_succeeded_msg odrop_failed_msg odrop_succeeded_msg

Spec this none thisFlags rxdOwner #2Definer #5

Referenced by

Source

1set_task_perms(caller_perms());
2return $string_utils:pronoun_sub(this.(verb));

gi*ve ha*nd

Spec this at/to anyFlags rxdOwner #2Definer #5

Referenced by

Source

1set_task_perms(callers() ? caller_perms() | player);
2if (this.location != player)
3player:tell("You don't have that!");
4elseif (!valid(player.location))
5player:tell("I see no \"", iobjstr, "\" here.");
6elseif ($command_utils:object_match_failed(who = player.location:match_object(iobjstr), iobjstr))
7elseif (who.location != player.location)
8player:tell("I see no \"", iobjstr, "\" here.");
9elseif (who == player)
10player:tell("Give it to yourself?");
11else
12this:moveto(who);
13if (this.location == who)
14player:tell("You hand ", this:title(), " to ", who:title(), ".");
15who:tell(player:titlec(), " ", $gender_utils:get_conj("hands/hand", player), " you ", this:title(), ".");
16else
17player:tell(who:titlec(), " ", $gender_utils:get_conj("does/do", who), " not want that item.");
18endif
19endif

examine_key

Spec this none thisFlags rxdOwner #2Definer #5

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(), " can only be moved to locations matching this key:"), tostr("  ", $lock_utils:unparse_key(this.key))};
7endif