inherit "/std/languages/language_inherit";
string *first_groups;
string *middle_groups;
string *last_groups;
void setup() {
set_long("Vostrum, language of the elder years.\n");
set_name("vostrum");
first_groups = ({
"xy" , "vo",
"fi" , "ci",
"gu" , "de",
"jo" , "so",
"ki" , "sa",
"pe" , "si",
"pa" , "ka",
"qu" , "pi",
"to" , "au",
"ve" , "ph",
"b" , "da",
"g" , "di",
"h" , "ho",
"j" , "vo",
"k" , "va",
"m" , "ma",
"n" , "oe",
"p" , "pe",
"r" , "si",
"s" , "ru",
"t" , "ce",
"v" , "bo",
"w" , "ce",
"x" , "ca",
"z" , "pi",
"a" , "la",
"e" , "du",
"i" , "cu",
"o" , "do",
"u" , "so",
});
middle_groups = ({
"xy" , "vo",
"fi" , "ci",
"gu" , "de",
"jo" , "so",
"ki" , "sa",
"pe" , "si",
"pa" , "ka",
"qu" , "pi",
"to" , "au",
"ve" , "ph",
"b" , "da",
"g" , "di",
"h" , "ho",
"j" , "vo",
"k" , "va",
"m" , "ma",
"n" , "oe",
"p" , "pe",
"r" , "si",
"s" , "ru",
"t" , "ce",
"v" , "bo",
"w" , "ce",
"x" , "ca",
"z" , "pi",
"a" , "la",
"e" , "du",
"i" , "cu",
"o" , "do",
"u" , "so",
});
last_groups = ({
"xy" , "vo",
"fi" , "ci",
"gu" , "de",
"jo" , "so",
"ki" , "sa",
"pe" , "si",
"pa" , "ka",
"qu" , "pi",
"to" , "au",
"ve" , "ph",
"b" , "da",
"g" , "di",
"h" , "ho",
"j" , "vo",
"k" , "va",
"m" , "ma",
"n" , "oe",
"p" , "pe",
"r" , "si",
"s" , "ru",
"t" , "ce",
"v" , "bo",
"w" , "ce",
"x" , "ca",
"z" , "pi",
"a" , "la",
"e" , "du",
"i" , "cu",
"o" , "do",
"u" , "so",
});
}
string do_garble_speech(string text) {
string speech;
string first, middle, last; //Break up the word.
int length;
length = strlen(text);
TCRE("shiannar", sprintf("Garbling %s, length is %d.", text, length));
if(length < 3) {
speech = replace(text, first_groups);
return replace(speech, " ", " ");
}
first = text[0..(length/3)-1];
middle = text[(length/3)..(length/3)*2-1];
last = text[(length/3)*2..length-1];
TCRE("shiannar", sprintf("First is \"%s\"\nMiddle is \"%s\"\nLast is \"%s\".", first, middle, last));
first = replace(first, first_groups);
middle = replace(middle, middle_groups);
last = replace(last, last_groups);
speech = first + middle + last;
return replace( speech, " ", " " );
} /* do_garble_speech() */
string do_garble(string text, string type) {
TCRE("shiannar", sprintf("Text:\"%s\"\nType:\"%s\".", text, type));
return do_garble_speech(text);
}
mixed garble_say(string start, string mess, object to, object from) {
return ({ start, do_garble_speech(mess) });
}