Quoll Work Thread, 2024-11-16 #3 - 2024-11-16 22:10
I’m back from getting and eating food and watching some videos as the tests ran. And I began approving things when I noticed a little issue with implicit topics listing…
In the last post, I talked about how the listing suggested topics
Action
can be invoked implicitly in some cases. In particular, when Ada performs the saying hello to
Action, it kicks off the
listing suggested topics
Action. In that post, I had assumed that my fix would not cause any issues, but when looking
at one of my tests to test how responses look when Ada is fully taffificated, I noticed this:
> ? gs-1-ts-puppet-and-glitch: explicit salutations unrevealed
(Playerr Feedback Registered.)> hi glitch
Taffy passionfruit taff taff, passio taffany taffy fruit passionfruit taffany passionfruit passio passio taffany passionfruit. "Gee, your felt is looking awful dirty, might could do with a spin cycle or five... unless of course you want to stop being bratty and be a good puppet..." Passionfruit passionfruit.Taff passionfruit taffany taff taffy passionfruit passionfruit fruit taff fruit passionfruit taffany passio taff fruit fruit passionfruit, taffany taffy fruit. "God, fine... Or should that be...? Anyway, if y'all have any questions about getting that grue critter over to the Omega Sigil at (0, 1) and changing the Clubs Bul's state, feel free to ask."
Fruit, passio taffany fruit Taffany taff Taffany! Fruit fruit passio taffy, taffany, PASSIO PASSIONFRUIT passio PASSIONFRUIT, passio passionfruit taffy fruit taffany fruit FRUIT FRUIT passio PASSIONFRUIT. Passio passio taffy, taffy passio taffany passionfruit passio taffany passio fruit taffy passio taff passionfruit.
(Taff passionfruit passio Taffy passionfruit Taffy, Taffy Taffany, taff PASSIONFRUIT, passionfruit passio PASSIONFRUIT; passio passionfruit Passionfruit taffany taffy taffy Passionfruit.)
> bye glitch
>
Obviously, this is a bit hard to read with the taffification, but that last line before the BYE GLITCH command is indeed the topics being listed, just hard to actually see that because of the taffification. But what grabbed my attention is the response to the BYE GLITCH command: namely nothing. Why does this happen?
Well, since it didn’t happen before, I knew it must be a result of how I set conversed-this-turn
in my new Rule, which
I’ll reproduce here so you don’t have to go to the previous post.
Last Carry Out listing suggested topics (this is the don't continuation nag after listing topics rule):
now conversed-this-turn is true.
And the Rule that ran here is my fallback Farewell Response Rule for Glitch, which I intend to never let run in game, but it’s there just in case:
Farewell response for Glitch the Skunktaur:
unless conversed-this-turn is true:
say "'Bye, Ada! Feel free to come back over if you have any more questions or just want to
chat[one of]![no line break][or].[no line break][stopping]'[line break]";
now conversed-this-turn is true.
As you can see, this rule prints nothing if conversed-this-turn
is true, so what happened is that listing the topics
set conversed-this-turn
to true, and then it was still true when the Farewell Response for Glitch the Skunktaur
Rule
ran as part of the saying goodbye to
Action triggered by the BYE GLITCH command.
This, of course, was a surprise to me, as I knew that the Conversation Suggestions by Eric Eve extension I am using
reset conversed-this-turn
at the end of every turn. In fact, it’s part of the special Every Turn Rules:
Every turn when the current node is not the null-node (this is the node continuation rule):
if conversed-this-turn is false, follow the node-continuation rules for the current node;
otherwise now conversed-this-turn is false.
However, the way that the implicit listing suggested topics
Action after the saying hello to
Action works means my
don't continuation nag after listing topics
Rule runs after the Every Turn Rules. I could probably look through some
of the low-level stuff to figure out when exactly the Every Turn Rules are triggered, but that feels like a lot of
effort for something I can’t really control.
So I think I’ll just simply not have my rule run during implicit listing suggested topics
Actions, just explicit ones:
Last Carry Out listing suggested topics when topic-request is explicit (this is the don’t continuation nag after
explicitly listing topics rule):
now conversed-this-turn is true.
Sure, it’s annoying that this means I’ll have to re-run the tests, but finding out about issues like these is exactly
why I’ve spent so much time maintaining these tests. Admittedly, I think the fact that I check for the
conversed-this-turn
being false is a possibly an anti-pattern I fell into because I would see the farewell messages
come up at times that didn’t make sense. I haven’t really figured out why I started doing this, even though I think I
did find the commit where I started doing this almost exactly 2 years ago in November 2022. I was getting hopeful that I
talked about it on Cohost, but it looks like if I did talk about it it was on my fediverse account, and the last archive
I have of that ends before the commit.
But anyway, I do want to keep figuring out why exactly I started writing Farewell Responses like that, but regardless,
I’ll eventually have to re-run the tests to see if my change to limit setting conversed-this-turn
to explicit
instances of the listing suggested topics
Action works.