Build #109 - Exception thrown by TalkManager.cs when accepting Sx012 "The Emperor's Courier" with Mynisera [RESOLVED]

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

Build #109 - Exception thrown by TalkManager.cs when accepting Sx012 "The Emperor's Courier" with Mynisera [RESOLVED]

Post by Interkarma »

Nystul, I'll probably need your help with this one. Exception is thrown when accepting quest Sx012 at Mynisera. I've attached a repro save game. Just load up and speak with Mynisera to accept quest and trigger error.

Exception happens at line 1485 of TalkManager.cs. I'll do a little more digging and update if I can.

Update1: It's failing to find buildingKey 526 in listBuildings. Possibly because the only Place resources in quest Sx012 are remote places, and the current listBuildings list appears to be local buildings. Should this part of the TalkManager even be firing here when accepting quest?

Update2: I'm able to trigger same error when in target town for a commoner quest (e.g. "startquest A0C00Y11" and travel to target location within timeframe). Exception starts cascading the moment I speak to a town NPC.
Attachments
SAVE272.zip
(237.24 KiB) Downloaded 90 times

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

Re: Build #109 - Exception thrown by TalkManager.cs when accepting Sx012 "The Emperor's Courier" with Mynisera

Post by Nystul »

Will fix this as well, hopefully today

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

Re: Build #109 - Exception thrown by TalkManager.cs when accepting Sx012 "The Emperor's Courier" with Mynisera

Post by Nystul »

Have a fix, just doing some more testing.
Interkarma wrote: Tue May 08, 2018 6:40 am Should this part of the TalkManager even be firing here when accepting quest?
I am investigating here if it is necessary to build the lists here - I agree that it looks wrong but it might be the same function called when dialog links are resolved and new topics are added to the lists - that would require the lists to be updated
if this function is not called in case of dialog link resolving it is a easy fix, otherwise I will come up with a solution for this.

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

Re: Build #109 - Exception thrown by TalkManager.cs when accepting Sx012 "The Emperor's Courier" with Mynisera

Post by Interkarma »

That was quick! Thanks for looking into this.

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

Re: Build #109 - Exception thrown by TalkManager.cs when accepting Sx012 "The Emperor's Courier" with Mynisera

Post by Nystul »

yeah that is the reason. same function is used for dialog link resolving - but I will reorder function calls a bit and do it only when needed - so we can prevent list creation when quest is accepted.

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

Re: Build #109 - Exception thrown by TalkManager.cs when accepting Sx012 "The Emperor's Courier" with Mynisera

Post by Nystul »

pull request with fix issued

Locked