lpc4/lib/
lpc4/lib/doc/efun/
lpc4/lib/doc/lfun/
lpc4/lib/doc/operators/
lpc4/lib/doc/simul_efuns/
lpc4/lib/doc/types/
lpc4/lib/etc/
lpc4/lib/include/
lpc4/lib/include/arpa/
lpc4/lib/obj/d/
lpc4/lib/save/
lpc4/lib/secure/
lpc4/lib/std/
lpc4/lib/std/living/
inherit "/std/object";
#define GENDER_NEUTER 0
#define GENDER_MALE 1
#define GENDER_FEMALE 2

void create(string str)
{
  ::create(str);
}

int gender;
int set_gender(int g)
{ if (g > -1 && g < 3 ) return gender = g; }
int query_gender() { return gender; }
int set_neuter() { return gender = GENDER_NEUTER; }
int set_male() { return gender = GENDER_MALE; }
int set_female() { return gender = GENDER_FEMALE; }
int query_neuter() { return gender == GENDER_NEUTER; }
int query_male() { return gender == GENDER_MALE; }
int query_female() { return gender == GENDER_FEMALE; }


string query_gender_string()
{
  switch(gender)
  {
    case GENDER_NEUTER:  return "neuter";
    case GENDER_MALE:    return "male";
    case GENDER_FEMALE:  return "female";
  }
}

string query_pronoun()
{
  switch(gender)
  {
    case GENDER_NEUTER:  return "it";
    case GENDER_MALE:    return "he";
    case GENDER_FEMALE:  return "she";
  }
}

string query_possessive()
{
  switch(gender)
  {
    case GENDER_NEUTER:  return "its";
    case GENDER_MALE:    return "hes";
    case GENDER_FEMALE:  return "her";
  }
}

string query_objective()
{
  switch(gender)
  {
    case GENDER_NEUTER:  return "it";
    case GENDER_MALE:    return "him";
    case GENDER_FEMALE:  return "her";
  }
}