implementation of talk window

Discuss coding questions, pull requests, and implementation details.
Seterwind
Posts: 23
Joined: Mon Mar 12, 2018 12:39 am

Re: implementation of talk window

Post by Seterwind » Sat May 26, 2018 1:08 am

It is a little off, but I don't think it's too much of an addition. I like it personally. But if possible to make it an option, that is always preferred.

User avatar
Interkarma
Posts: 5183
Joined: Sun Mar 22, 2015 1:51 am

Re: implementation of talk window

Post by Interkarma » Sat May 26, 2018 1:32 am

I feel the optional element to this would be implicit. If someone doesn't want to use it, they simply don't click that line item. Otherwise it sits inoffensively in the list with every other similar info item. Most people, even those moderately familiar with classic, would likely not even realise this is a new option added to the list in talk window.

Wait to see how Nystul implements it first. If he does what I think he's doing, the actual outcome will be an almost invisible change that still offers a nice quality of life enhancement. Probably no need for a toggle for that, as it doesn't change anything substantial about the classic experience.

User avatar
Jay_H
Posts: 3145
Joined: Tue Aug 25, 2015 1:54 am

Re: implementation of talk window

Post by Jay_H » Mon May 28, 2018 7:27 pm

These variables normally work flawlessly, but this came up while testing:

Image

Not sure whether talk window itself caused it or if this is a minor bug in the quest system. Either way I've only seen it once.
Come join Lysandus' Tomb, a Daggerfall Unity fan Discord.
See the Daggerfall Unity Wiki on the UESP.

User avatar
Nystul
Posts: 1394
Joined: Mon Mar 23, 2015 8:31 am

Re: implementation of talk window

Post by Nystul » Wed May 30, 2018 7:52 am

Jay_H wrote:
Mon May 28, 2018 7:27 pm
These variables normally work flawlessly, but this came up while testing:

Not sure whether talk window itself caused it or if this is a minor bug in the quest system. Either way I've only seen it once.
this is interesting.

I assume you are running on latest version and started quest in the very same (in other words: you do not load an old savegame).

If you could provide a savegame and the quest code I would be more than happy to take a look. ;)

User avatar
Nystul
Posts: 1394
Joined: Mon Mar 23, 2015 8:31 am

Re: implementation of talk window

Post by Nystul » Wed May 30, 2018 7:58 am

Interkarma wrote:
Sat May 26, 2018 1:32 am
I feel the optional element to this would be implicit. If someone doesn't want to use it, they simply don't click that line item. Otherwise it sits inoffensively in the list with every other similar info item. Most people, even those moderately familiar with classic, would likely not even realise this is a new option added to the list in talk window.

Wait to see how Nystul implements it first. If he does what I think he's doing, the actual outcome will be an almost invisible change that still offers a nice quality of life enhancement. Probably no need for a toggle for that, as it doesn't change anything substantial about the classic experience.
Ok so here is what I have done:
  • new entry "Where am I?" in the "tell me about" section. When inside npcs will give building name and location name as answer, when outside npcs give location name and region name as answer
  • npcs when asked ("Where Is") about the building they are in will give a corresponding answer (npcs will always know their "own" building now)
  • npcs when asked ("Where Is") about a quest person resource that is in the same building will give a corresponding answer - if they know about that person (we could consider to change this so that they always know about the person if he/she is in the same building (if people think it should work that way))
see here the first two list points in action (asked in reversed order here):
Image

User avatar
Interkarma
Posts: 5183
Joined: Sun Mar 22, 2015 1:51 am

Re: implementation of talk window

Post by Interkarma » Wed May 30, 2018 8:07 am

This looks seriously great!

User avatar
Interkarma
Posts: 5183
Joined: Sun Mar 22, 2015 1:51 am

Re: implementation of talk window

Post by Interkarma » Thu May 31, 2018 11:33 pm

I've hit a couple of small issues which manifest in the talk window, but I think they're actually just symptoms of problems with quest system failing to compile a quest properly.

The first thing I'm going to do is rework how Place resource finds buildings to host a quest. It's frankly a bit rubbish right now and relies too much on luck. Some perfectly good quests are failing to compile properly because Place can't find certain rare building types in time. That will be fixed soon.

I'm also going to improve the way compilation is handled by quest system to provide better output. This will help for things like commoner quests that fail to compile at offer time. This causes exceptions in the talk window right now, but it's not your fault at all. You're being handed bad data in the first place.

User avatar
Jay_H
Posts: 3145
Joined: Tue Aug 25, 2015 1:54 am

Re: implementation of talk window

Post by Jay_H » Sat Jun 02, 2018 9:33 pm

Something's not happening yet with the "dialog link" action. I'm trying to run classic quest A0C00Y16:

Code: Select all

--	Quest start-up:
	dialog link for person _friend4_ 
	dialog link for person _missingperson_ 
	dialog link for location _hidingplace_ person _friend3_ 
However, no dialogue topics appear at the quest start.

Image
Come join Lysandus' Tomb, a Daggerfall Unity fan Discord.
See the Daggerfall Unity Wiki on the UESP.

User avatar
Nystul
Posts: 1394
Joined: Mon Mar 23, 2015 8:31 am

Re: implementation of talk window

Post by Nystul » Sat Jun 02, 2018 9:59 pm

dialog link does not create any entries in the dialog window, contrary it hides entries!

these 3 lines of dialog link do the following:
  • hide dialog options for person _friend4_
  • hide dialog options for person _missingperson_
  • hide dialog options for location _hidingplace_, hide dialog options for person _friend3_, create a dialog link between _hidingplace_ and _friend3_
later in tasks _S.04_ and _S.05_ topics get added:

Code: Select all

_S.04_ task:
	clicked npc _friend1_ 
	add dialog for person _friend3_ 

_S.05_ task:
	clicked npc _friend2_ 
	add dialog for person _friend4_ 
when _friend3_ is added in task _S.04_ you will be able to get topic _hidingplace_ through dialoglink when talking about _friend3_ and getting the right answer - although there are no anyinfo or rumors messages assigned to those quest resources - this is strange - the quest seems to use messages only - this quest is likely one of those that does not work correctly at the moment anyway

You can read some explaination here in Donald Tipton's guide: http://www.dfworkshop.net/static_files/ ... -docs.html
But be careful, especially the dialog stuff is incomplete and some things are wrong in there (according to my 300+hours tests with vanilla df)

User avatar
Jay_H
Posts: 3145
Joined: Tue Aug 25, 2015 1:54 am

Re: implementation of talk window

Post by Jay_H » Sat Jun 02, 2018 10:05 pm

Aah, very good. Thank you for the explanation. Tipton's explanation was thorough but hard to understand for me :(
Come join Lysandus' Tomb, a Daggerfall Unity fan Discord.
See the Daggerfall Unity Wiki on the UESP.

Post Reply