roleplay note #123
Aliases: roleplay note
6 verbs · 27 properties · 0 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
r*ead | this none none | rxd | #123 | 24 |
help_msg | this none this | rxd | #123 | 5 |
do_burn | this none this | rxd | #123 | 21 |
wr*ite | any on top of/on/onto/upon this | rxd | #123 | 12 |
er*ase | this none none | rxd | #123 | 4 |
description | this none this | rxd | #123 | 5 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
lang | #123 | rc | #2 | #-1 |
oburn_succeeded_msg | #54 | rc | #2 | <clear> |
oburn_failed_msg | #54 | rc | #2 | <clear> |
burn_failed_msg | #54 | rc | #2 | <clear> |
burn_succeeded_msg | #54 | rc | #2 | <clear> |
writers | #9 | rc | #2 | <clear> |
encryption_key | #9 | c | #2 | <clear> |
text | #9 | c | #2 | <clear> |
drop_failed_msg | #5 | rc | #2 | <clear> |
drop_succeeded_msg | #5 | rc | #2 | <clear> |
odrop_failed_msg | #5 | rc | #2 | <clear> |
odrop_succeeded_msg | #5 | rc | #2 | <clear> |
otake_succeeded_msg | #5 | rc | #2 | <clear> |
otake_failed_msg | #5 | rc | #2 | <clear> |
take_succeeded_msg | #5 | rc | #2 | <clear> |
take_failed_msg | #5 | rc | #2 | <clear> |
value_base | #102 | r | #2 | <clear> |
damage_base | #102 | r | #2 | <clear> |
x_loc | #102 | r | #36 | <clear> |
y_loc | #102 | r | #36 | <clear> |
ansi_title | #102 | r | #36 | <clear> |
obvious | #102 | r | #36 | <clear> |
build_help | #102 | rc | #2 | "Unlike normal notes, the $rp_note does not allow remote viewing. See also \"help letter\"" |
key | #1 | c | #2 | 0 |
aliases | #1 | rc | #2 | {"roleplay note"} |
description | #1 | rc | #2 | "This piece of letter parchment is excellent for clear reading ('read letter'), and burns easily ('burn letter')." |
object_size | #1 | r | #36 | {4482, 1539462952} |
Ancestry
Ancestors (nearest first): #54 generic letter → #9 generic note → #5 generic thing → #102 subthing → #1 Root Class
Children: none
Call graph
Source
r*ead
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
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
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
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
Referenced by
none
Source
1if (this:is_writable_by(valid(caller_perms()) ? caller_perms() | player)) 2this.lang = ""; 3endif 4pass(@args);
description
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;