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
Graham not listed as merchant #203
Conversation
gothic-1-community-patch/scriptbase/_work/Data/Scripts/Content/Story/Missions/DIA_VLK_573_Graham.d Lines 44 to 50 in 10bf6e3
changed to FUNC VOID DIA_Graham_Hello_Info()
{
AI_Output (other, self,"DIA_Graham_Hello_15_00"); //Hi! I'm new here.
AI_Output (self, other,"DIA_Graham_Hello_02_01"); //I'm Graham. I draw maps. I haven't seen you here before... What do you want?
Log_CreateTopic(GE_TraderOC, LOG_NOTE);
B_LogEntry( GE_TraderOC,"The digger Graham sells maps left of the main gate.");
}; |
Thanks for adding the issue. For #37 I chose to refer to the "log" as the "journal" (as it is visible to the player, i.e. "New Journal Entry") and simply wrote in the changelog:
It leaves out some details but keeps it short and maybe more intuitive than writing about "Diary/General Info/Merchant in the Old Camp" and referring to "topics" which are never called that way for the player. Maybe could put that into quotes, though:
|
Thanks, I've updated the other issues as well with this syntax. |
Both the fix and the test have not been tested ingame yet. |
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.
Very nice. I added some comments for later. But it's ready to merge (test passes).
G1CP_SetInfoTold(infoSymbName, toldBak); | ||
r = G1CP_203_LogEntryGrahamMerchant(); | ||
G1CP_LogRemoveTopic(topic); | ||
G1CP_LogRenameTopic(tempTopicName, topic); |
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.
One thing to keep in mind with this test (in case we use it somewhere else in the future), is that it breaks the fix-lookup-table. Applying and reverting the fix like done here, does not update the fix status. In this particular function, the fix status will remain "applied" even the fix is not. The fix-lookup-table will be corrupted from that point on.
Maybe we could backup the current status of the fix in the beginning with G1CP_GetFixStatus
and set it in the end with G1CP_SetFixStatus
.
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.
Since this is just a test, I think this is not so important, but feel free to fix it
var int fixStatusBak; fixStatusBak = G1CP_GetFixStatus(203);
// ...
G1CP_SetFixStatus(203, fixStatusBak);
If you do fix this, there is some more tests where this can be done. But it's only applicable to tests where the fix-status is changed inside the apply function - this seems to only happen for these sorts of log entry fixes.
Describe the bug
Graham is not listed in "Diary/General Info/Merchant in the Old Camp" if the topic wasn't previously created.
Expected behavior
Graham is now listed in "Merchant in the Old Camp" in the journal.
Additional context
Similar to #37.