Typo in default response for 'speak to'
kyrathasoft
26 Aug 2022, 22:22I'm using Quest 5.8.0 and there is a typo in the default 'speak to' response:
He saies nothing.
CoolShadow
27 Aug 2022, 09:20Yeah, I get that as well. The way to edit this is quite complicated, but, tracing the text back, you can see that to do this, you need to take the following steps:
1 - In the panel on the left-hand side, at the bottom, there should be a button saying "filters". Click that, and then click "Show library Elements".
2 - Search for "Conjugate", and then click "Copy" at the top, in the yellow panel.
3 - From here, go into code view of conjugate(at the top of the block script - looks like this: < / > ).
4 - Now, replace this part of the code:
return (Mid(verb, 1, Lengthof(verb) - 1) + "ies")
With:
return (Mid(verb, 1, Lengthof(verb)) + "s")
}
else {
return (Mid(verb, 1, Lengthof(verb) - 1) + "ies")
}
This should cause "He/She/It saies nothing" to become "He/She/It says nothing".
Hope this helps!

Jennifer Wren
30 Aug 2022, 02:17I like the spelling sais because it is a cross between says and said, which is a nice default if you want to back and forth between past and present tense or, from the engine point of view, don't know which tense a person intends to use. I don't think it is likely that that's a typo, actually. It probably just means no one has gotten around to programming both tenses plus the option switch.
mrangel
30 Aug 2022, 17:08I like the spelling sais because it is a cross between says and said, which is a nice default if you want to back and forth between past and present tense or, from the engine point of view, don't know which tense a person intends to use. I don't think it is likely that that's a typo, actually. It probably just means no one has gotten around to programming both tenses plus the option switch.
It's a glitch. The Conjugate
and WriteVerb
functions are supposed to conjugate a verb correctly based on the gender of the subject. So Conjugate (npc, "say")
could return "you say", "he says", "she says", or "they say".
However, the rules for conjugation Quest uses aren't complete. Most words in English just add an 's' to make the version for he/she/it, but there are exceptions. For example, try → tries, and fly → flies. So Quest has the rule to change "-y" to "-ies" unless the word ends with -uy or -oy. The correct implementation would be to exclude -uy, -oy, or -ay.
There are a whole bunch of words that it will get wrong; but "saies" is the one that people always comment on, because it is used in a default message.
A while back I wrote a new version of the Conjugate
function which puts all the endings in a dictionary, allowing more to be easily added it if a game needs them; maybe it'll make it into the core library if Quest gets another bugfix update.

Jennifer Wren
02 Sept 2022, 23:52That's exciting, mrangel. I hope your dictionary is added soon.

CoolShadow
08 Sept 2022, 10:10You could change the source code like I did, but it would be quite boring to do it for every adventure you do. Hope this is fixed soon!