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