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/
mapping emotes;
string *adverbs;

void save_me( void ) {
  save_object( "/daemons/data/emote_d.o" );
}

void restore_me( void ) {
  restore_object( "/daemons/data/emote_d.o" );
}

void create( void ) {
  emotes = ([ ]);
  adverbs = ({ });
  restore_me();
}

void add_addverb( string str ) {
  adverbs -= ({ str });
  adverbs += ({ str });
  save_me();
}

void remove_addverb( string str ) {
  adverbs -= ({ str });
  save_me();
}

void add_emote( string name, string rule, string fmt ) {
  if( rule != "STR" && rule != "LIV" && rule != "OBJ" ) {
    rule = "";
  }

  if( !emotes[name] ) 
    emotes[name] = ([ ]);
  emotes[name][rule] = fmt;
  save_me();
}

int is_emote( string name ) {
  if( emotes[name] == 0 )
    return( 0 );
  else
    return( 1 );
}

string *query_emotes( void ) {
  return( map_indices( emotes ) );
}

string query_emote( string name, string rule ) {
  return( emotes[name][rule] );
}

string *query_rules( string name ) {
  return( map_indices( emotes[name] ) );
}

void remove_emote( string name ) {
  emotes[name] = 0;
  save_me();
}