Is there any particular way to access the grammatical properties of a thing in 6L02? In particular, I’d like to be able to check what case the prior-named object takes. I can check to see whether the noun is singular-named, but this will yield the wrong result if it happens to be first- or second-person. Is there any way to get at which conjugation an arbitrary thing uses?
Here’s a use case of sorts:
[code]To say had:
if the story tense is:
– future tense: say “will”;
– past perfect tense: say “had”;
– perfect tense: say “[bare have]”;
– otherwise: say “[are]”.
To say bare have:
if the prior named object is singular-named:
To say been:
if the story tense is:
– future tense: say " be";
– past perfect tense: say " been";
– perfect tense: say " been".
Lab is a room. A rock is in the lab. Some pants are in the lab.
Constant that is always “that”.
say “[We] [have] enough.”;
now the story tense is the grammatical tense after the story tense.
Instead of examining: say “[regarding the noun]What [had] [the noun][been] doing there?”
Test me with “x rock/x rock/x rock/x rock/x rock/x pants/x pants/x pants/x pants/x pants/x me/x me/x me/x me/x me”.[/code]
The perfect tense is the problematic one; it yields “What has the rock been doing there?” and “What have the pants been doing there?”, which is great, and “What has yourself been doing there?”, which will not be great even after figuring out how to make it say “you.” And “[have]” won’t work because in the perfect it prints “have had.”
Admittedly the perfect tense is pretty esoteric but there would probably be applications of this even in more widely used tenses.
I believe you can test whether the item is “ambiguously plural”, or catch both cases by asking if it “acts plural”.
“Acts plural” seems not to have survived into 6L02, but in any case the player doesn’t seem to act plural in second person; when I replace “bare have” with:
To say bare have:
if the prior named object is ambiguously plural or the prior named object is plural-named:
I still get “What has yourself been doing there?” (“What has myself been doing there?” in first person singular.)
Just wondering, could you use the built-in verb “have” instead of the “bare have”? Just tell Inform to conjugate it in the present.
Oh brilliant! That works, specifically “[adapt the verb have in the present tense]”. I’m still feeling my way around what you can do with the adaptive text stuff.
Still, I think it’d be extremely useful to have something that exposed the grammatical properties of the object. Say I wanted to use an irregular verb:
To say yes-minister leak:
if [this is what I don't know how to do] the grammatical person of the prior named noun is:
-- first person: say "[give] confidential briefings";
-- second person: say "[leak]";
-- third person: say "[are] being prosecuted under section 2a of the Official Secrets Act".
It’d be much neater than coming up with a workaround for every case. And surely that’s in the I6 internals somewhere?
How would you define first person and second person in this case? Is the player talking to someone, or is someone talking to the player? Or are two people talking to each other and the player is listening?
If you look at the part of the English Language extension dealing with pronouns, it seems that there’s a special case built into each substitution for if the prior named object is the player. For example, “[they]” becomes “[we]” and “[them]” becomes “[us]”.
Oh, that’s where I needed to look for all those text substitutions. Should’ve realized that they wouldn’t be in the Standard Rules anymore. As I said, I’m still feeling my way around 6L02.
First and second person would be defined as “should take first or second person verbs” respectively. So I suppose it would have to be coded in with a check as to whether the prior named object is the player – shouldn’t be too hard to whip up a to decide phrase for that, something like [not tested]:
To decide which narrative viewpoint is the viewpoint of (item - an object):
if the item is the player, decide on the story viewpoint;
if the item is plural-named, decide on the third person plural; [might have to code something in for ambiguously plural]
decide on the third person singular.
“Object” allows us to handle “nothing,” though I don’t know if we’d have run-time errors checking objects that aren’t things for the property plural-named.
Also, looking at English Language, it seems like “if the prior naming context is plural” will be useful for this stuff.
I’m mildly disappointed that we can’t have first- and second-person NPCs as in Bellclap, but I suppose if I want to do that it’s reasonable to make me code that myself.