roleplay note #123

Parent #54Owner #2Flags Source RPG Core/rpgcore-patched.db

Aliases: roleplay note

6 verbs · 28 properties · 0 children

Verbs

VerbSpecFlagsDefinerLines
r*eadthis none nonerxd#12324
help_msgthis none thisrxd#1235
do_burnthis none thisrxd#12321
wr*iteany on top of/on/onto/upon thisrxd#12312
er*asethis none nonerxd#1234
descriptionthis none thisrxd#1235

Properties

PropertyDefinerFlagsOwnerValue
lang#123rc#2#-1
oburn_succeeded_msg#54rc#2<clear>
oburn_failed_msg#54rc#2<clear>
burn_failed_msg#54rc#2<clear>
burn_succeeded_msg#54rc#2<clear>
writers#9rc#2<clear>
encryption_key#9c#2<clear>
text#9c#2<clear>
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"Unlike normal notes, the $rp_note does not allow remote viewing. See also \"help letter\""
key#1c#20
aliases#1rc#2{"roleplay note"}
description#1rc#2"This piece of letter parchment is excellent for clear reading ('read letter'), and burns easily ('burn letter')."
object_size#1r#36{4954, -1090650497}
html#1rc#2<clear>

Ancestry

Ancestors (nearest first): #54 generic letter#9 generic note#5 generic thing#102 subthing#1 Root Class

Children: none

Call graph

calls n123_0 #123:r*ead n125_1 #125:can_speak n123_0->n125_1 n9_7 #9:is_readable_by n123_0->n9_7 n6_18 #6:tell n123_0->n6_18 n9_6 #9:text n123_0->n9_6 n125_5 #125:in_line_for n123_0->n125_5 n1_35 #1:tell_lines_suspended n123_0->n1_35 n9_0 #9:r*ead n123_0->n9_0 n123_1 #123:help_msg n102_5 #102:help_msg n123_1->n102_5 n55_16 #55:slice n123_1->n55_16 n1_25 #1:examine_verbs n123_1->n1_25 n123_2 #123:do_burn n42_0 #42:controls n123_2->n42_0 n21_1 #21:set_names n123_2->n21_1 n52_5 #52:isa n123_2->n52_5 n5_2 #5:moveto n123_2->n5_2 n123_3 #123:wr*ite n123_3->n6_18 n56_2 #56:read n123_3->n56_2 n20_17 #20:match n123_3->n20_17 n9_2 #9:wr*ite n123_3->n9_2 n123_4 #123:er*ase n9_9 #9:is_writable_by n123_4->n9_9 n9_1 #9:er*ase n123_4->n9_1 n123_5 #123:description n123_5->n125_5

Source

r*ead

Spec this none noneFlags rxdOwner #2Definer #123

Referenced by

none

Source

1if (valid(this.lang) && (!$lang_utils:can_speak(player, this.lang)))
2if (!this:is_readable_by(valid(caller_perms()) ? caller_perms() | player))
3player:tell("Sorry, but it seems to be written in some code that you can't read.");
4else
5text = this:text();
6if (text)
7player:tell("It is written ", $lang_utils:in_line_for(this.lang, player));
8player:tell();
9text = (typeof(text) == LIST) ? text | {text};
10for line in [1..length(text)]
11text[line] = this.lang:encrypt(player, text[line]);
12(ticks_left() < 4000) && suspend(0);
13endfor
14player:tell_lines_suspended(text);
15player:tell();
16player:tell("(You finish reading.)");
17else
18player:tell();
19player:tell("(It appears to be blank.)");
20endif
21endif
22else
23pass(@args);
24endif

help_msg

Spec this none thisFlags rxdOwner #2Definer #123

Referenced by

none

Source

1if (parent(player) != $rpgamer)
2return pass(@args);
3elseif (!("examine_verbs" in $list_utils:slice(callers(), 2)))
4return this:examine_verbs(player) || {};
5endif

do_burn

Spec this none thisFlags rxdOwner #2Definer #123

Referenced by

none

Source

1if ((this != $rp_note) && ((caller == this) || $perm_utils:controls(caller_perms(), this)))
2fork (0)
3chparent(this, $light);
4this.shows_units = 0;
5this.rechargable = 0;
6$building_utils:set_names(this, "a small fire:small fire,fire,flame");
7this.x_loc = player.x_loc;
8this.y_loc = player.y_loc;
9this.take_failed_msg = "It's too hot to touch.";
10while ((!$object_utils:isa(this.location, $rpg_room)) && (this.location != $nothing))
11this:moveto(`this.location.location ! ANY => $nothing');
12endwhile
13this.key = this.location;
14this.description = "The flame burns brightly.";
15this.power_units = 1;
16this:_ignite();
17endfork
18return 1;
19else
20return E_PERM;
21endif

wr*ite

Spec any on top of/on/onto/upon thisFlags rxdOwner #2Definer #123

Referenced by

none

Source

1if (`length(plangs = player.languages[1]) > 1 ! ANY => 0')
2lang = $command_utils:read("the language in which you wish to write it");
3if (valid(target = $string_utils:match(lang, plangs, "lang_name")))
4this.lang = target;
5else
6this.lang = $default_lang;
7endif
8player:tell("The text will appear as if written in ", this.lang.lang_name, ".");
9else
10this.lang = $default_lang;
11endif
12pass(@args);

er*ase

Spec this none noneFlags rxdOwner #2Definer #123

Referenced by

none

Source

1if (this:is_writable_by(valid(caller_perms()) ? caller_perms() | player))
2this.lang = "";
3endif
4pass(@args);

description

Spec this none thisFlags rxdOwner #2Definer #123

Referenced by

none

Source

1if (this.lang && this.text)
2desc = (typeof(this.description) == LIST) ? this.description | {this.description};
3return {@desc, tostr("It is written ", $lang_utils:in_line_for(this.lang, player))};
4endif
5return this.description;