a line (#2368)(an instance of generic room made by flat)     Everything as it appears first. Mechanical meaning in the confines of a cold, dark melodrama, where there is no implication in anything said, or seen. You see flat here. VERB SOURCE CODE: announce*_all_but:
pass(@args);
c = callers();
for caller in (c)
if (caller[2] == "say")
return this:pare(args[3]);
elseif (caller[2] == "eval_cmd_string")
return this:pare(args[1]);
endif
endfor
.
pare:
line = $string_utils:strip_chars(tostr(@args), "\":;'?.+=)(*&^%$#@!");
words = $string_utils:words(line);
for word in (words)
if (!(word in this.words))
return "";
endif
endfor
return this:parse(words);
.
parse:
words = args[1];
position = 1;
output = {};
for word in (words)
output = {@output, this:p_o_s(word)};
endfor
return output;
tree = this:s(output);
.
addword:
args = $string_utils:words(argstr);
word = args[1];
if (!(word in this.words))
this.words = {@this.words, word};
endif
for speech in (args[2..length(args)])
if (speech in this.p_o_s)
if (word in this.(tostr(speech, "_list")))
player:tell("'", word, "' is already listed as a ", speech, ".");
else
this.(tostr(speech, "_list")) = {@this.(tostr(speech, "_list")), word};
player:tell(speech, "_list updated with '", word, ".'");
endif
endif
endfor
.
noun verb prep art rp name to_be adj p_o_s ger:
word = args[1];
if (verb == "p_o_s")
output = {};
for part in (this.p_o_s)
if (this:(part)(word))
output = {@output, part};
endif
endfor
return output;
endif
prop = tostr(verb, "_list");
if (word in this.(prop))
return 1;
endif
return 0;
.
s: . PROPERTY DATA:       words       art_list       name_list       noun_list       prep_list       adj_list       rp_list       to_be       word_output       symbol_output       p_o_s       verb_list       pp_search       to_be_list       ger_list |