parent $misc object $gender var $root child_index 0 var $root owners [$gender] var $root owned [$gender] var $root fertile 0 var $root inited 1 var $gender pronouns 0 var $gender gender 0 var $gender cgender_name 0 var $gender gender_name 0 var $gender person 0 var $gender has 0 var $gender number 0 var $root manager $gender var $root writable [$gender] var $root readable ['parameters, 'methods, 'code] var $gender context [] var $root dbref 'gender method init_gender .perms($root, caller()); cgender_name = ""; gender_name = ""; // these should be inited by hand, later. pronouns = #[['pr, "itself"], ['pp, "its"], ['po, "it"], ['ps, "it"], ['pq, "its"], ['prc, "Itself"], ['ppc, "Its"], ['poc, "It"], ['psc, "It"], ['pqc, "Its"], ['have, "has"]]; . method pronoun arg pronoun; return pronouns[pronoun]; . method gender return gender; . method set_gender_names arg name, cname; .perms(sender()); cgender_name = cname; gender_name = name; . method set_pronouns arg nmbr, ps, po, pp, pq, pr, psc, poc, ppc, pqc, prc; var x; .perms(sender(), 'manager); pronouns = #[['pr, pr], ['pp, pp], ['po, po], ['ps, ps], ['pq, pq], ['prc, prc], ['ppc, ppc], ['poc, poc], ['psc, psc], ['pqc, pqc]]; number = nmbr; context = [ps, po, pp, pq, pr, psc, poc, ppc, pqc, prc]; . method pronouns return pronouns; . method "name(old)" arg [caps]; caps = [@caps, 'null][1]; switch (caps) { case 'caps: return cgender_name; default: return gender_name; } . method context return context; .