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"; } }