| ! 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 | |
| ! 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(); | |
| L__M(##Inv,2); | |
| if (inventory_style & NEWLINE_BIT ~= 0) print ":^"; else print " "; | |
| WriteListFrom(child(player), inventory_style, 1); | |
| if (inventory_style & ENGLISH_BIT ~= 0) print ".^"; | |
| 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); | |
| } | |
| if (k==0) return 0; | |
| if (text1~=0) | |
| { new_line; | |
| if (flag==1) text1=text2; | |
| print (string) text1, " "; | |
| WriteListFrom(child(descin), | |
| ENGLISH_BIT + WORKFLAG_BIT + RECURSE_BIT | |
| + PARTINV_BIT + TERSE_BIT + CONCEAL_BIT); | |
| return k; | |
| } | |
| if (flag==1) L__M(##Look,5,descin); else L__M(##Look,6,descin); | |
| ]; | |
| [ManualPronounsOnSub; | |
| man_pronouns=1; | |
| "[Manual Pronouns turned on.]"; | |
| ]; | |
| [ManualPronounsOffSub; | |
| man_pronouns=0; | |
| "[Manual Pronouns turned off.]"; | |
| ]; | |
| [ManualPronounsToggleSub; | |
| if (man_pronouns==1) | |
| {man_pronouns=0; | |
| "[Manual Pronouns turned off.]"; | |
| } | |
| man_pronouns=1; | |
| "[Manual Pronouns turned on.]"; | |
| ]; | |
| [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."; | |
| ]; | |
| Verb meta 'manual' | |
| * 'pronouns' 'on' -> ManualPronounsOn | |
| * 'pronouns' 'off' -> ManualPronounsOff | |
| * 'pronouns' -> ManualPronounsToggle | |
| * -> NoManual; | |
| Extend 'pronouns' first | |
| * 'on' -> ManualPronounsOn | |
| * 'off' -> ManualPronounsOff; | |
Xet Storage Details
- Size:
- 3.98 kB
- Xet hash:
- 0213e7d8fc4f30a4ca12af542ef290b94e729585e5ffbae1935cd179c2bca870
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.