/*Ok so it isn't the best method in the world for making sure that you get the correct conjugation, but it works.*/
void main( string str ) {
int i;
string me; /*what I, the one who's talking, sees*/
string you; /*what all the others in the room sees*/
/* Strip trailing whitespaces */
for( i=strlen(str)-1; i > 0; i-- ) {
if( str[i] != ' ' )
break;
str[i] = 0;
}
me = " say: ";
you = " says: "; /*default values*/
if (str != "") {
if ((str[strlen(str)-1]) == '!') {
me = " say excitedly: ";
you = " says excitedly: ";
if ((str[strlen(str)-2]) == '!') {
if ((str[strlen(str)-3]) == '!') {
me = " shout: ";
you = " shouts: ";
} else {
me = " yell: ";
you = " yells: ";
}
}
}
if ((str[strlen(str)-1]) == '.') {
if ((str[strlen(str)-2]) == '.') {
if ((str[strlen(str)-3]) == '.') {
me = " trail off: ";
you = " trails off: ";
}
}
}
switch(str[strlen(str)-1]) {
case '?' : {
me = " ask: ";
you = " asks: ";
} break;
case '@' : {
me = " exclaim proudly: ";
you = " exclaims proudly: ";
str = str[..strlen(str)-2];
} break;
case '#' : {
me = " boast: ";
you = " boasts: ";
str = str[..strlen(str)-2];
} break;
case '$' : {
me = " say sarcastically: ";
you = " says sarcastically: ";
str = str[..strlen(str)-2];
} break;
case '%' : {
me = " say thoughtfully: ";
you = " says thoughtfully: ";
str = str[..strlen(str)-2];
} break;
case '^' : {
me = " say admiringly: ";
you = " says admiringly: ";
str = str[..strlen(str)-2];
} break;
case '&' : {
me = " say mockingly: ";
you = " says mockingly: ";
str = str[..strlen(str)-2];
} break;
case '*' : {
me = " snap: ";
you = " snarls: ";
str = str[..strlen(str)-2];
} break;
case '/' : {
me = " say with a rising voice: ";
you = " says with a rising voice: ";
str = str[..strlen(str)-2];
} break;
case '+' : {
me = " say loudly: ";
you = " says loudly: ";
str = str[..strlen(str)-2];
} break;
case '-' : {
me = " whisper: ";
you = " whispers: ";
str = str[..strlen(str)-2];
} break;
case '=' : {
me = " correct: ";
you = " corrects: ";
str = str[..strlen(str)-2];
} break;
case '~' : {
me = " blurt out: ";
you = " blurts out: ";
str = str[..strlen(str)-2];
} break;
case ';' : {
me = " say softly: ";
you = " says softly: ";
str = str[..strlen(str)-2];
} break;
case ':' : {
me = " mumble: ";
you = " mumbles: ";
str = str[..strlen(str)-2];
} break;
case '|' : {
me = " reply with: ";
you = " replies with: ";
str = str[..strlen(str)-2];
} break;
case '>' : {
me = " point and say: ";
you = " points and says: ";
str = str[..strlen(str)-2];
} break;
case '\{' : {
me = " slobber out: ";
you = " slobbers out: ";
str = str[..strlen(str)-2];
} break;
case '\]' : {
me = " say jokingly: ";
you = " says with a light chuckle: ";
str = str[..strlen(str)-2];
} break;
case '\}' : {
me = " struggle to say: ";
you = " has to struggle to say: ";
str = str[..strlen(str)-2];
} break;
case '\\' : {
me = " say with a sinking voice: ";
you = " says with a sinking voice: ";
str = str[..strlen(str)-2];
} break;
case '`' : {
me = " comment: ";
you = " comments: ";
str = str[..strlen(str)-2];
} break;
case '\[' : {
me = " laugh and say: ";
you = " laughs as " + this_player()->query_gender_pronoun() + " says: ";
str = str[..strlen(str)-2];
} break;
case '<' : {
me = " point at yourself and say: ";
you = " points at " + this_player()->query_gender_reflexive() + " and says: ";
str = str[..strlen(str)-2];
} break;
case '_' : {
me = " say under your breath: ";
you = " says under " + this_player()->query_gender_possessive() + " breath: ";
str = str[..strlen(str)-2];
} break;
/* default: { */
/* me = " say: "; */
/* you = " says: "; */
/* } */
/* } */
}
switch(str[strlen(str)-1]) {
case '.' :
case '?' :
case '!' :
case ',' :
break;
default:
str += ".";
}
if( this_player()->query_proper_name() != 0 ) {
this_environment()->tell_room( this_player(),"%^GREEN%^" + capitalize(this_player()->query_proper_name()) + you +"%^RESET%^" + capitalize(str) + "\n" );
} else {
this_environment()->tell_room( this_player(),"%^GREEN%^" + "The " + this_player()->query_id() + you +"%^RESET%^" + capitalize(str) + "\n" );
}
write( "%^GREEN%^You" + me +"%^RESET%^"+ capitalize( str ) + "\n" );
} else {
write( "Say what?\n");
}
}