Generic Language #126
Aliases: Generic Language
2 verbs · 16 properties · 1 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
encrypt | this none this | rxd | #126 | 32 |
@setup | this none none | rxd | #126 | 24 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
characters | #126 | rc | #2 | "SsXxZzFfEeDdCcBbPpUuWwAaIiHhGgLlKkOoNnVvYyQqJjMmRrTt~`!1@2#3$4%5^6&7*8(9)0_-+={[}]|:;\"'<,>.?/" |
lang_name | #126 | rc | #2 | "" |
unknown_lang_desc | #126 | rc | #2 | "another language" |
unknown_level | #126 | rc | #2 | 0.002 |
learning_speeds | #126 | rc | #2 | {0.0005, 0.00025} |
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 | {" @setup $lang to create a new one.", " $default_lang exists so that wizards starting from a new core will not have to set up the system."} |
key | #1 | c | #2 | 0 |
aliases | #1 | rc | #2 | {"Generic Language"} |
description | #1 | rc | #2 | <clear> |
object_size | #1 | r | #36 | {3045, 1539462952} |
Ancestry
Ancestors (nearest first): #102 subthing → #1 Root Class
Children: #142 Common Language
Call graph
Source
encrypt
Referenced by
none
Source
1"ARGs => encrypting words [2] for person [1] using this language"; 2set_task_perms(player); 3listening = args[1]; 4saying = args[2]; 5chars = this.characters; 6encrypted = ""; 7llangs = $lang_utils:languages(listening); 8if (!(lin = this in llangs[1])) 9llangs[1] = {@llangs[1], sspeak}; 10llangs[2] = {@llangs[2], 0.0}; 11listening.languages = llangs; 12lin = this in listening.languages[1]; 13endif 14clarity = 2 * listening:roll_against("language"); 15ls = llangs[2][lin]; 16lsp = (ls + listening.skills[2]["language" in listening.skills[1]]) * 0.5; 17lsp = $math_utils:round(lsp * 10.0); 18ex = $string_utils:explode(saying, " "); 19for s in (ex) 20(ticks_left() < 2000) && suspend(0); 21r = random(50) - clarity; 22if ((r - lsp) < 0) 23encrypted = encrypted + s; 24else 25for n in [1..length(s)] 26(ticks_left() < 1200) && suspend(0); 27encrypted = encrypted + `this.characters[index($lang.characters, s[n], 1)] ! E_RANGE => s[n]'; 28endfor 29endif 30encrypted = (s != ex[$]) ? encrypted + " " | encrypted; 31endfor 32return encrypted;
@setup
Referenced by
none
Source
1if ((!player.wizard) || this.owner) 2player:tell("Bug off!"); 3endif 4chars = this.characters; 5langname = $command_utils:read("the name of the language"); 6langdesc = $command_utils:read("the unknown desc of the language"); 7player:Tell("The following section is case sensitive:"); 8player:Tell("Characters"); 9player:Tell("(Note: If you mess up, you /must/ @abort)"); 10n = 0; 11for n in [1..length(chars)] 12(ticks_left() < 4000) && suspend(0); 13c = $command_utils:Read(tostr("the substitute for ", chars[n])); 14c = (length(c) > 1) ? c[1] | c; 15chars[n] = c ? c | chars[n]; 16endfor 17newlang = $recycler:_create($lang); 18newlang.name = tostr(langname, " Language"); 19newlang.aliases = {tostr(langname, " Language")}; 20newlang.lang_name = langname; 21newlang.unknown_lang_desc = langdesc; 22newlang.characters = chars; 23move(newlang, player); 24player:tell($string_utils:nn(newlang), " created, @setup complete.");