generic container #8

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

Aliases: generic container

15 verbs · 39 properties · 4 children

Verbs

VerbSpecFlagsDefinerLines
p*ut in*sert dr*opany in/inside/into thisrxd#833
re*move ta*ke g*etany out of/from inside/from thisrxd#834
look_selfthis none thisrxd#84
acceptablethis none thisrxd#81
openthis none nonerxd#816
@lock_for_openthis with/using anyrd#814
is_openable_bythis none thisrxd#85
closethis none nonerxd#89
@unlock_for_openthis none nonerd#87
tell_contentsthis none thisrxd#88
set_openedthis none thisrxd#87
@opacitythis is anyrd#87
set_opaquethis none thisrxd#89
oclose_msg close_msg oopen_msg open_msg oput_fail_msg put_fail_msg oremove_fail_msg oremove_msg remove_fail_msg remove_msg oput_msg put_msg oopen_fail_msg open_fail_msg empty_msgthis none thisrxd#81
darkthis none thisrxd#81

Properties

PropertyDefinerFlagsOwnerValue
oclose_msg#8rc#2"closes %d."
close_msg#8rc#2"You close %d."
oopen_msg#8rc#2"opens %d."
open_msg#8rc#2"You open %d."
oput_fail_msg#8rc#2""
put_fail_msg#8rc#2"You can't put %d in that."
opaque#8r#21
dark#8r#21
oremove_fail_msg#8rc#2""
oremove_msg#8rc#2"removes %d from %i."
remove_fail_msg#8rc#2"You can't remove that."
remove_msg#8rc#2"You remove %d from %i."
oput_msg#8rc#2"puts %d in %i."
put_msg#8rc#2"You put %d in %i."
oopen_fail_msg#8rc#2""
open_fail_msg#8rc#2"You can't open that."
empty_msg#8rc#2"It is empty."
opened#8r#20
open_key#8c#20
drop_failed_msg#5rc#2<clear>
drop_succeeded_msg#5rc#2<clear>
odrop_failed_msg#5rc#2<clear>
odrop_succeeded_msg#5rc#2<clear>
otake_succeeded_msg#5rc#2<clear>
otake_failed_msg#5rc#2<clear>
take_succeeded_msg#5rc#2<clear>
take_failed_msg#5rc#2<clear>
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 container"}
description#1rc#2<clear>
object_size#1r#36{10791, -1090650497}
html#1rc#2<clear>

Ancestry

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

Children: #84 Generic Warehouse, #128 realm wrapper, #138 Monster Maker, #164 Park City Builder

Call graph

calls n8_0 #8:p*ut n5_1 #5:dr*op n8_0->n5_1 n6_18 #6:tell n8_0->n6_18 n56_0 #56:object_match_failed n8_0->n56_0 n8_13 #8:oclose_msg n8_0->n8_13 n1_29 #1:contents n8_0->n1_29 n52_3 #52:has_callable_verb n8_0->n52_3 n20_34 #20:pronoun_sub n8_13->n20_34 n8_1 #8:re*move n8_1->n6_18 n8_1->n56_0 n8_1->n8_13 n8_1->n1_29 n5_0 #5:g*et n8_1->n5_0 n1_7 #1:match_object n8_1->n1_7 n8_2 #8:look_self n1_10 #1:look_self n8_2->n1_10 n8_9 #8:tell_contents n8_2->n8_9 n8_9->n6_18 n8_9->n8_13 n8_9->n1_29 n8_4 #8:open n8_4->n6_18 n8_4->n8_13 n8_6 #8:is_openable_by n8_4->n8_6 n8_10 #8:set_opened n8_4->n8_10 n53_6 #53:eval_key n8_6->n53_6 n42_0 #42:controls n8_10->n42_0 n8_5 #8:@lock_for_open n8_5->n6_18 n53_3 #53:parse_keyexp n8_5->n53_3 n53_8 #53:unparse_key n8_5->n53_8 n8_7 #8:close n8_7->n6_18 n8_7->n8_13 n8_7->n8_10 n8_8 #8:@unlock_for_open n8_8->n6_18 n8_11 #8:@opacity n8_11->n6_18 n8_11->n42_0 n8_12 #8:set_opaque n8_11->n8_12 n8_12->n42_0

Source

p*ut in*sert dr*op

Spec any in/inside/into thisFlags rxdOwner #2Definer #8

Referenced by

none

Source

1if ((!prepstr) && (verb in {"drop", "dr"}))
2pass(@args);
3elseif ((this.location != player) && (this.location != player.location))
4player:tell("You can't get at ", this.name, ".");
5elseif (dobj == $nothing)
6player:tell("What do you want to put ", prepstr, " ", this.name, "?");
7elseif ($command_utils:object_match_failed(dobj, dobjstr))
8"nada";
9elseif ((dobj.location != player) && (dobj.location != player.location))
10player:tell("You don't have ", dobj.name, ".");
11elseif (!this.opened)
12player:tell(this.name, " is closed.");
13else
14set_task_perms(callers() ? caller_perms() | player);
15dobj:moveto(this);
16if (dobj.location == this)
17player:tell(this:put_msg());
18if (msg = this:oput_msg())
19player.location:announce(player.name, " ", msg);
20endif
21else
22player:tell(this:put_fail_msg());
23if (msg = this:oput_fail_msg())
24player.location:announce(player.name, " ", msg);
25endif
26endif
27endif
28suspend(1);
29for x in (this:contents())
30if ($object_utils:has_callable_verb(x, "combine"))
31x:combine();
32endif
33endfor

re*move ta*ke g*et

Spec any out of/from inside/from thisFlags rxdOwner #2Definer #8

Referenced by

none

Source

1if (dobj == this)
2return pass(@args);
3elseif (!this.opened)
4player:tell(this.name, " is not open.");
5elseif (this.dark)
6player:tell("You can't see into ", this.name, " to remove anything.");
7elseif ((dobj = this:match_object(dobjstr)) == $nothing)
8player:tell("What do you want to take from ", this.name, "?");
9elseif ($command_utils:object_match_failed(dobj, dobjstr))
10elseif (!(dobj in this:contents()))
11player:tell(dobj.name, " isn't in ", this.name, ".");
12else
13dobj:moveto(player);
14if (dobj.location == player)
15player:tell(this:remove_msg());
16if (msg = this:oremove_msg())
17player.location:announce(player.name, " ", msg);
18endif
19else
20dobj:moveto(this.location);
21if (dobj.location == this.location)
22player:tell(this:remove_msg());
23if (msg = this:oremove_msg())
24player.location:announce(player.name, " ", msg);
25endif
26player:tell("You can't pick up ", dobj.name, ", so it tumbles onto the floor.");
27else
28player:tell(this:remove_fail_msg());
29if (msg = this:oremove_fail_msg())
30player.location:announce(player.name, " ", msg);
31endif
32endif
33endif
34endif

look_self

Spec this none thisFlags rxdOwner #2Definer #8

Referenced by

none

Source

1pass();
2if (!this.dark)
3this:tell_contents();
4endif

acceptable

Spec this none thisFlags rxdOwner #2Definer #8

Referenced by

none

Source

1return (!`args[1].alive ! E_PROPNF') && this.opened;

open

Spec this none noneFlags rxdOwner #2Definer #8

Referenced by

none

Source

1perms = (callers() && (caller != this)) ? caller_perms() | player;
2if (this.opened)
3player:tell("It's already open.");
4"elseif (this:is_openable_by(player))";
5elseif (this:is_openable_by(perms))
6this:set_opened(1);
7player:tell(this:open_msg());
8if (msg = this:oopen_msg())
9player.location:announce(player.name, " ", msg);
10endif
11else
12player:tell(this:open_fail_msg());
13if (msg = this:oopen_fail_msg())
14player.location:announce(player.name, " ", msg);
15endif
16endif

@lock_for_open

Spec this with/using anyFlags rdOwner #2Definer #8

Referenced by

none

Source

1set_task_perms(player);
2key = $lock_utils:parse_keyexp(iobjstr, player);
3if (typeof(key) == STR)
4player:tell("That key expression is malformed:");
5player:tell("  ", key);
6else
7try
8this.open_key = key;
9player:tell("Locked opening of ", this.name, " with this key:");
10player:tell("  ", $lock_utils:unparse_key(key));
11except error (ANY)
12player:tell(error[2], ".");
13endtry
14endif

is_openable_by

Spec this none thisFlags rxdOwner #2Definer #8

Referenced by

Source

1holder = args[1];
2if (this.location in {holder, holder.location})
3return (this.open_key == 0) || $lock_utils:eval_key(this.open_key, holder);
4endif
5return 0;

close

Spec this none noneFlags rxdOwner #2Definer #8

Referenced by

none

Source

1if (!this.opened)
2player:tell("It's already closed.");
3else
4this:set_opened(0);
5player:tell(this:close_msg());
6if (msg = this:oclose_msg())
7player.location:announce(player.name, " ", msg);
8endif
9endif

@unlock_for_open

Spec this none noneFlags rdOwner #2Definer #8

Referenced by

none

Source

1set_task_perms(player);
2try
3dobj.open_key = 0;
4player:tell("Unlocked ", dobj.name, " for opening.");
5except error (ANY)
6player:tell(error[2], ".");
7endtry

tell_contents

Spec this none thisFlags rxdOwner #2Definer #8

Referenced by

Source

1if (this.contents)
2player:tell("Contents:");
3for thing in (this:contents())
4player:tell("  ", thing:title());
5endfor
6elseif (msg = this:empty_msg())
7player:tell(msg);
8endif

set_opened

Spec this none thisFlags rxdOwner #2Definer #8

Referenced by

Source

1if (!$perm_utils:controls(caller.owner, this))
2return E_PERM;
3else
4this.opened = opened = !(!args[1]);
5this.dark = this.opaque > opened;
6return opened;
7endif

@opacity

Spec this is anyFlags rdOwner #2Definer #8

Referenced by

none

Source

1if (!$perm_utils:controls(player, this))
2player:tell("Can't set opacity of something you don't own.");
3elseif ((iobjstr != "0") && (!toint(iobjstr)))
4player:tell("Opacity must be an integer (0, 1, 2).");
5else
6player:tell("Opacity changed:  Now " + {"transparent.", "opaque.", "a black hole."}[1 + this:set_opaque(toint(iobjstr))]);
7endif

set_opaque

Spec this none thisFlags rxdOwner #2Definer #8

Referenced by

Source

1if (!$perm_utils:controls(caller.owner, this))
2return E_PERM;
3elseif (typeof(number = args[1]) != INT)
4return E_INVARG;
5else
6number = (number < 0) ? 0 | ((number > 2) ? 2 | number);
7this.dark = number > this.opened;
8return this.opaque = number;
9endif

oclose_msg close_msg oopen_msg open_msg oput_fail_msg put_fail_msg oremove_fail_msg oremove_msg remove_fail_msg remove_msg oput_msg put_msg oopen_fail_msg open_fail_msg empty_msg

Spec this none thisFlags rxdOwner #36Definer #8

Referenced by

Source

1return (msg = `this.(verb) ! ANY') ? $string_utils:pronoun_sub(msg) | "";

dark

Spec this none thisFlags rxdOwner #2Definer #8

Referenced by

none

Source

1return this.(verb);