New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gravo not listed as merchant #37
Conversation
gothic-1-community-patch/scriptbase/_work/Data/Scripts/Content/Story/Missions/DIA_VLK_572_Gravo.d Lines 75 to 85 in e66b303
changed to func VOID DIA_Gravo_HelpHow_Info()
{
AI_Output (other, self,"DIA_Gravo_HelpHow_15_00"); //If I was in trouble, YOU could help me? How?
AI_Output (self, other,"DIA_Gravo_HelpHow_04_01"); //Well, let's assume you're in trouble with Thorus. You better never get into trouble with him, but then, well, you never know.
AI_Output (self, other,"DIA_Gravo_HelpHow_04_02"); //Thorus can be quite stubborn - when he's pissed off with you once, he'll never talk to you again. And that's a bad thing.
AI_Output (self, other,"DIA_Gravo_HelpHow_04_03"); //As a greenhorn, you depend on him. So you come to see me. I know a lot of people here Thorus listens to.
AI_Output (self, other,"DIA_Gravo_HelpHow_04_04"); //They put in a good word for you, and Thorus is your friend again. Of course the boys want to see some ore for these kind of favors. Your ore.
AI_Output (self, other,"DIA_Gravo_HelpHow_04_05"); //And I take care that your ore gets to the right people...
Log_CreateTopic (GE_TraderOC,LOG_NOTE);
B_LogEntry(GE_TraderOC,"The digger Gravo is selling a special kind of service. If I get in trouble with important people in the Camp, I can pay him to settle it.");
}; |
This fix will only work, if the player has the patch installed while this dialog takes place. If the patch is only installed afterwards, Gravo will remain not listed. We could add another check at the start of the game to see if the dialog had already been told but Gravo not listed to add him. Either way, adding him to the list of merchants will remain in the game save. |
Will this make savegames incompatible or is it just more difficult to fix the issue and make it revertable? |
I think I can manage to both apply the fix if Gravo has already been spoken to and revert the fix it properly. You can ignore my previous comment. |
The log entries not being created if the log topic does not exist yet seems to be a reoccurring problem. It could be an issue on its own, because I think we might have already fixed it once for another issue. (I can't find it, maybe I am mistaken?) The fix here could then concentrate on creating the log entry post-hoc if Gravo had been spoken to before but no entry exists yet (and removing it on saving). Apply
Revert
The log entry should always be re-created as the first entry of the log section (instead of always added to the bottom). |
That actually won't work, because a log topic can be either a mission or a note. The issue would have to be fixed on an individual basis. |
Seems like the same is happening for Graham: gothic-1-community-patch/scriptbase/_work/Data/Scripts/Content/Story/Missions/DIA_VLK_573_Graham.d Lines 44 to 50 in 10bf6e3
|
The test is still missing. |
Just to save it somewhere (Regex:
Since I'm not sure with
I already created the issues accordingly. |
Refs #37
I will streamline this fix, once we have verified that it works as expected. Although the test is fully automatic, some additional manual test will be necessary: UPDATE: Done
[1] Gravo's log entry should not be added to the bottom of the topic. Otherwise it will always look like it's the newest entry. Therefore it is always added as the very first entry. |
|
I tried to make porting this fix to other occurrences as easy as possible, by defining any specifics as constants at the beginning of the functions. These are preceded by the comment
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks fine.
Gravo isn't listed in "Diary/General info/Merchant in the Old Camp" if the topic wasn't previously created.