! Manual Pronouns Toggler
!
! By David Glasser 10/16/97 created for use with the forthcoming game
! which *might* be called Timewarps.
!
! As of Library 6/7, you can #define MANUAL_PRONOUNS to turn off the
! automatic pronoun assignment. However, that is something the designer
! has to decide, not the player. This plugin allows the player to select
! whether automatic pronoun assignment is on through verbs.
!
! To use:
! Include after Grammar.
! Before Parser and Verblib's inclusion, put these lines:
!
! Replace InvSub;
! Replace Locale;
!
! Hope you like it!
Global man_pronouns = 1;
[ InvSub x;
if (child(player)==0) return L__M(##Inv,1);
if (inventory_style==0) return InvTallSub();
if (~~man_pronouns)
{objectloop(x in player) PronounNotice(x);}
AfterRoutines();
];
[ Locale descin text1 text2 o k p j f2 flag;
objectloop (o in descin) give o ~workflag;
k=0;
objectloop (o in descin)
if (o hasnt concealed && NotSupportingThePlayer(o))
{ if (~~man_pronouns)
{PronounNotice(o);}
if (o hasnt scenery)
{ give o workflag; k++;
p=initial; f2=0;
if ((o has door || o has container)
&& o has open && o provides when_open)
{ p = when_open; f2 = 1; jump Prop_Chosen; }
if ((o has door || o has container)
&& o hasnt open && o provides when_closed)
{ p = when_closed; f2 = 1; jump Prop_Chosen; }
if (o has switchable
&& o has on && o provides when_on)
{ p = when_on; f2 = 1; jump Prop_Chosen; }
if (o has switchable
&& o hasnt on && o provides when_off)
{ p = when_off; f2 = 1; }
.Prop_Chosen;
if (o hasnt moved || o.describe~=NULL || f2==1)
{ if (o.describe~=NULL && RunRoutines(o,describe)~=0)
{ flag=1;
give o ~workflag; k--;
}
else
{ j=o.p;
if (j~=0)
{ new_line;
PrintOrRun(o,p);
flag=1;
give o ~workflag; k--;
if (o has supporter && child(o)~=0) SayWhatsOn(o);
}
}
}
}
else
if (o has supporter && child(o)~=0) SayWhatsOn(o);
}
[NoManualSub;
"'Manual' in this game means ~manual pronoun assignment~, which is the
process of assigning 'it', 'them', 'her', and 'him' only to objects that
you type. If it is off, the objects in the same room as you or that you
are carrying will be assigned pronouns after an 'inventory' or 'look'
command. To use it, type 'manual pronouns on' or 'manual pronouns off'. It
defaults to on.";
];