NPC dialogue overlay should also catch "non-screen" dialogue
HighCrit opened this issue ยท 11 comments
Don't know if this is related but some dialog still spams the chat with grayed text:
Another bug on that image is that the first formatting code is lost. (as the white should be gray) @magicus
(#297 and this is duplicate mostly.)
@HighCrit Is this the kind of NPC chat that does not require you to press sneak to continue?
I have deliberately not moved those to the NPC overlay. I'm not sure how to handle them, really. Show them there anyway, but with a timeout? Require sneak anyway to close the overlay?
Maybe we have just been talking past each other. I know NPC dialogues without a "screen" (that is, "press sneak to continue") will not be captured by the overlay (nor the chat manager). It is just not implemented. I thought the "auto progress" in #297 meant your feature to automatically send sneak.
It sounds like these two bugs are duplicates, yes.
The problem here is not so much a technical issue of matching the NPC dialog, as a UX issue. I can throw up the dialogue on the overlay, but when should I remove it?
That can be for quite some time. Remember quests like the broken iron golem? When you start enter the cave, the golem starts shouting stuff about it remembering (or not remembering) it's name. For each step you progress, more info is given. The same idea is used in other quests as well.
Then until next one or shift or auto progress. I think ironically this one is the easiest to code.
I also worry that it will cover the screen in a situation where you might need to be able to see clearly to fight monsters.
Or maybe I just worry too much. I can probably re-use the auto progress feature code to get the timing right. If we can quickly hide it with sneak it's probably okay.
I would like to see a way to show NPC dialog history, though. The Wynncraft vanilla variant is just a mess. If we get the real NPC dialogs, we could should them more clearly. Hm... That could be as easy as a command that just dumps the NPC dialog history to the chat.
This will probably by, finally, solved by #435.