generic note #9
Aliases: generic note
11 verbs · 22 properties · 2 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
r*ead | this none none | rxd | #9 | 13 |
er*ase | this none none | rxd | #9 | 6 |
wr*ite | any on top of/on/onto/upon this | rxd | #9 | 6 |
del*ete rem*ove | any out of/from inside/from this | rd | #9 | 16 |
encrypt | this with/using any | rd | #9 | 14 |
decrypt | this none none | rd | #9 | 7 |
text | this none this | rxd | #9 | 6 |
is_readable_by | this none this | rxd | #9 | 2 |
set_text | this none this | rxd | #9 | 11 |
is_writable_by | this none this | rxd | #9 | 9 |
mailme @mailme | this none none | rd | #9 | 15 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
writers | #9 | rc | #2 | {} |
encryption_key | #9 | c | #2 | 0 |
text | #9 | c | #2 | {} |
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 | <clear> |
key | #1 | c | #2 | <clear> |
aliases | #1 | rc | #2 | {"generic note"} |
description | #1 | rc | #2 | "There appears to be some writing on the note ..." |
object_size | #1 | r | #36 | {6412, 1539462952} |
Ancestry
Ancestors (nearest first): #5 generic thing → #102 subthing → #1 Root Class
Children: #54 generic letter, #181 Script Examples
Call graph
Source
r*ead
Referenced by
- #123:r*ead line 23:
pass(
Source
1if (!this:is_readable_by(valid(caller_perms()) ? caller_perms() | player)) 2player:tell("Sorry, but it seems to be written in some code that you can't read."); 3else 4this:look_self(); 5if (text = this:text()) 6player:tell(); 7player:tell_lines_suspended(text); 8player:tell(); 9player:tell("(You finish reading.)"); 10else 11player:tell("(There seems to be nothing to read.)"); 12endif 13endif
er*ase
Referenced by
- #123:er*ase line 4:
pass(
Source
1if (this:is_writable_by(valid(caller_perms()) ? caller_perms() | player)) 2this:set_text({}); 3player:tell("Note erased."); 4else 5player:tell("You can't erase this note."); 6endif
wr*ite
Referenced by
- #123:wr*ite line 12:
pass(
Source
1if (this:is_writable_by(valid(caller_perms()) ? caller_perms() | player)) 2this:set_text({@this.text, dobjstr}); 3player:tell("Line added to note."); 4else 5player:tell("You can't write on this note."); 6endif
del*ete rem*ove
Referenced by
none
Source
1if (!this:is_writable_by(player)) 2player:tell("You can't modify this note."); 3elseif (!dobjstr) 4player:tell("You must tell me which line to delete."); 5else 6line = toint(dobjstr); 7if (line < 0) 8line = (line + length(this.text)) + 1; 9endif 10if ((line <= 0) || (line > length(this.text))) 11player:tell("Line out of range."); 12else 13this:set_text(listdelete(this.text, line)); 14player:tell("Line deleted."); 15endif 16endif
encrypt
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.encryption_key = key; 9player:tell("Encrypted ", this.name, " with this key:"); 10player:tell(" ", $lock_utils:unparse_key(key)); 11except error (ANY) 12player:tell(error[2], "."); 13endtry 14endif
decrypt
Referenced by
none
Source
1set_task_perms(player); 2try 3dobj.encryption_key = 0; 4player:tell("Decrypted ", dobj.name, "."); 5except error (ANY) 6player:tell(error[2], "."); 7endtry
text
Referenced by
- #9:r*ead line 5:
this:text - #9:mailme line 9:
this:text - #123:r*ead line 5:
this:text
Source
1cp = caller_perms(); 2if ($perm_utils:controls(cp, this) || this:is_readable_by(cp)) 3return this.text; 4else 5return E_PERM; 6endif
is_readable_by
Referenced by
- #9:r*ead line 1:
this:is_readable_by - #9:text line 2:
this:is_readable_by - #9:mailme line 3:
this:is_readable_by - #54:burn line 2:
this:is_readable_by - #123:r*ead line 2:
this:is_readable_by
Source
1key = this.encryption_key; 2return (key == 0) || $lock_utils:eval_key(key, args[1]);
set_text
Referenced by
- #9:er*ase line 2:
this:set_text - #9:wr*ite line 2:
this:set_text - #9:del*ete line 13:
this:set_text
Source
1cp = caller_perms(); 2newtext = args[1]; 3if ($perm_utils:controls(cp, this) || this:is_writable_by(cp)) 4if (typeof(newtext) == LIST) 5this.text = newtext; 6else 7return E_TYPE; 8endif 9else 10return E_PERM; 11endif
is_writable_by
Referenced by
- #9:er*ase line 1:
this:is_writable_by - #9:wr*ite line 1:
this:is_writable_by - #9:del*ete line 1:
this:is_writable_by - #9:set_text line 3:
this:is_writable_by - #123:er*ase line 1:
this:is_writable_by
Source
1who = args[1]; 2wr = this.writers; 3if ($perm_utils:controls(who, this)) 4return 1; 5elseif (typeof(wr) == LIST) 6return who in wr; 7else 8return wr; 9endif
mailme @mailme
Referenced by
none
Source
1"Usage: mailme <note>"; 2" uses $network to sends the text of this note to your REAL internet email address."; 3if (!this:is_readable_by(player)) 4return player:tell("Sorry, but it seems to be written in some code that you can't read."); 5elseif (!player.email_address) 6return player:tell("Sorry, you don't have a registered email address."); 7elseif (!$network.active) 8return player:tell("Sorry, internet mail is disabled."); 9elseif (!(text = this:text())) 10return player:tell($string_utils:pronoun_sub("%T is empty--there wouldn't be any point to mailing it.")); 11endif 12player:tell("Mailing ", this:title(), " to ", player.email_address, "."); 13player:tell("... ", length(text), " lines ..."); 14suspend(0); 15$network:sendmail(player.email_address, this:titlec(), "", @text);