gurba-0.40/
gurba-0.40/bin/
gurba-0.40/lib/
gurba-0.40/lib/cmds/guild/fighter/
gurba-0.40/lib/cmds/monster/
gurba-0.40/lib/cmds/race/catfolk/
gurba-0.40/lib/cmds/race/dwarf/
gurba-0.40/lib/cmds/verb/
gurba-0.40/lib/daemons/data/
gurba-0.40/lib/data/boards/
gurba-0.40/lib/data/messages/
gurba-0.40/lib/data/players/
gurba-0.40/lib/design/
gurba-0.40/lib/domains/gurba/
gurba-0.40/lib/domains/gurba/guilds/fighter/
gurba-0.40/lib/domains/gurba/monsters/
gurba-0.40/lib/domains/gurba/objects/armor/
gurba-0.40/lib/domains/gurba/objects/clothing/
gurba-0.40/lib/domains/gurba/objects/weapons/
gurba-0.40/lib/domains/gurba/vendors/
gurba-0.40/lib/kernel/cmds/admin/
gurba-0.40/lib/kernel/daemons/
gurba-0.40/lib/kernel/include/
gurba-0.40/lib/kernel/lib/
gurba-0.40/lib/kernel/net/
gurba-0.40/lib/kernel/sys/
gurba-0.40/lib/logs/
gurba-0.40/lib/pub/
gurba-0.40/lib/std/modules/languages/
gurba-0.40/lib/std/races/
gurba-0.40/lib/std/races/monsters/
gurba-0.40/lib/wiz/fudge/
gurba-0.40/lib/wiz/spud/
gurba-0.40/src/host/beos/
gurba-0.40/src/host/pc/res/
gurba-0.40/src/kfun/
gurba-0.40/src/lpc/
gurba-0.40/src/parser/
gurba-0.40/tmp/
/*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");
  }
}