implementation of talk window

Discuss coding questions, pull requests, and implementation details.
Post Reply
User avatar
Hazelnut
Posts: 3015
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: started implementation of talk window

Post by Hazelnut »

Gotta say that there's a lot more work in daggerfall's talk window than I realised. You're doing a great job bringing it to DFU Nystul.

One thing I'm puzzled about is that I can't speak to anyone in Illessen Hills region. Not sure why not since they're mobile NPCs like everywhere else I assume.

Unless for some reason these ones don't get the MobilePersonNPC component added, I can't for the life of me figure out why this is. Anyone else able to talk to mob npcs in this region?
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

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

Re: started implementation of talk window

Post by Jay_H »

I also have the same problem in Ilessan Hills.

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

Re: started implementation of talk window

Post by Interkarma »

I can confirm. The issue is that Talk() methods are finding two province faction matches for region and throwing an exception. This happens because #350 "The Septim Empire" in faction.txt ualso ses region 61, the same as #235 "Ilessan Hills", so two results are found.

Considering that faction.txt isn't the most reliable dataset, I'd be inclined to be less defensive around this check. Throw an exception if faction result is null or zero-length and just Debug.LogWarning() when returned factions is greater than 1. In this case at least, the first faction returned is the correct one. I'm not sure if there are even any other cases like this to worry about.

I've just posted a fix to git that does the above, but I'll let Nystul make the final choice on how to handle this if he wants a different approach.

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

Re: started implementation of talk window

Post by Nystul »

whatever works is fine ;)
thx for the fix

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

Re: started implementation of talk window

Post by Nystul »

Just realized that vanilla daggerfall puts a dialog entry for every quest giver involved in any open quest under Where is -> People.
Only precondition to see it is that player needs to be in the same town as quest giver (same behaviour as entries added by add dialog command for person).

This can be really confusing if a quest wants you to find a person in town but does not add an entry for the person to the "Where is -> People" section. You can easily misinterpret the questor for the target person then. If it adds the person you end up with 2 entries so you still better know the correct name of your target person ;)

so you will have to double-check against the journal where you usually find the target location anyway which makes talking obsolete then. We need new quests that do not mention the targets wereabouts in the journal and require talking ;)

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

Re: started implementation of talk window

Post by Jay_H »

Oh, I had assumed that designating someone as a quest NPC automatically integrated them into the Person dialogue, sort of like how the quest compass works in DFU. So this'll be something to toggle in the future for each NPC? Hmm...

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

Re: started implementation of talk window

Post by Nystul »

Yes, unfortunately this is how vanilla works or said differently it does not add resources automatically to talk window

edit: but after thinking about it I think this is the only reasonable way. The reason for this is that all resources are created at quest startup, but often persons or locations are only "revealed" later to the player. So it would be nonsense to reveal it automatically when resource is created. The add dialog command is there for a reason (to make the resource known at a later point in the quest). So yes, every quest has to use these commands correctly - there is no shortcut

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

Re: started implementation of talk window

Post by Nystul »

Jay_H wrote:Oh, I had assumed that designating someone as a quest NPC automatically integrated them into the Person dialogue, sort of like how the quest compass works in DFU. So this'll be something to toggle in the future for each NPC? Hmm...
well you are kind of right, I found out, but only if the npc is a static npc and is in the same town as the pc

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

Re: started implementation of talk window

Post by Nystul »

interesting: in vanilla rumors are also possible answers when chatting about the quest topic, but they seem to show up less likely (anyInfo messages are received much more often) - that is a new finding, I thought rumors would display when asking about "any news" but no they are assigned to the quest topic option:

Image

btw, progress is steady - implemented dialog link command, next is add dialog command (used to make quest topics available at certain milestones within a quest)

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

Re: started implementation of talk window

Post by Interkarma »

You're doing amazing work with this! Looking forward to the next code drop. :)

Post Reply