Part Five - "Language"
Chapter One - "An ugly hack"
Before doing anything:
if the second noun is a person and the noun is not the player
begin;
let P be the second noun;
if P is a woman, forcibly set the female pronoun from P;
if P is a man, forcibly set the male pronoun from P;
if P is neuter, forcibly set the neuter pronoun from P;
end if;
if the noun is a person and the noun is not the player
begin;
let P be the noun;
if P is a woman, forcibly set the female pronoun from P;
if P is a man, forcibly set the male pronoun from P;
if P is neuter, forcibly set the neuter pronoun from P;
end if;
continue the action.
This is the forcibly set the personal pronoun from multiple object lists rule:
let CI be the current item from the multiple object list;
if CI is a person
begin;
if CI is a woman, forcibly set the female pronoun from CI;
if CI is a man, forcibly set the male pronoun from CI;
if CI is neuter, forcibly set the neuter pronoun from CI;
end if;
continue the activity.
The forcibly set the personal pronoun from multiple object lists rule is listed after the set pronouns from items from multiple object lists rule in the action-processing rules.
For printing a locale paragraph about a thing (called the item) (this is the forcibly set the personal pronoun from items in room descriptions rule):
if the item is a person
begin;
if the item is a woman, forcibly set the female pronoun from the item;
if the item is male, forcibly set the male pronoun from the item;
if the item is neuter, forcibly set the neuter pronoun from the item;
end if;
continue the activity.
For printing a locale paragraph about a thing (called the item) (this is the forcibly set personal pronoun from items on supporters rule):
if the item is a supporter and the item does not enclose the player
begin;
repeat with the possibility running through things on the item
begin;
if the possibility is a woman, forcibly set the female pronoun from the possibility;
if the possibility is a man, forcibly set the male pronoun from the possibility;
if the possibility is a neuter animal, forcibly set the neuter pronoun from the possibility;
end repeat;
end if;
continue the activity.
To really have the parser notice (O - an object):
set pronouns from O; [FIXME?]
[have the parser notice O;] [FIXME]
if O is a woman, forcibly set the female pronoun from O;
if O is a man, forcibly set the male pronoun from O;
if O is a neuter animal, forcibly set the neuter pronoun from O.
To forcibly set the female pronoun from (O - an object):
(- (SetPronoun('her', {O} ) ); -).
To forcibly set the male pronoun from (O - an object):
(- (SetPronoun('him', {O} ) ); -).
To forcibly set the neuter pronoun from (O - an object):
(- (SetPronoun('it', {O} ) ); -).