As per these observations, it seems we've got a bit of an issue with quest cases not executing:
It seems that whenever this occurs, the following is logged in error.log:
This refers to PROGRAM\QUESTS\quests.c:
However, when you then reload your savegame, it DOES work. So it is a very inconsistent problem.
Please post here every time this happens. Hopefully we can sort-of figure out where this is coming from.
Perhaps there IS some consistency to it? Just something we haven't found yet?
I was playing today though and was plagued quite a bit with non-executing quest code though. REALLY annoying.
This is not a new problem though:I've noticed this slightly more than usual, as well. On two different occasions when starting the Sea Hawk storyline, the French blockade didn't spawn when I first left Speightstown.
It should be said that I've observed non-executing quest cases already many years ago, back when I was reworking the First Contact sidequest a bit.
That's the one that proved to me why saving often and reloading from an earlier save is unfortunately crucial with this game.
Because it was not a problem with the actual quest code; that was all fine. It just didn't get executed.
It seems that whenever this occurs, the following is logged in error.log:
Code:
RUNTIME ERROR - file: quests\quests.c; line: 1266
Invalid function call
RUNTIME ERROR - file: quests\quests.c; line: 1266
function 'CompleteQuestName' stack error
Code:
void CompleteQuestName(string sQuestName)
{
if( CheckAttribute(&objQuestScene,"list."+sQuestName+".chrIdx") )
{
Event("qprocTaskEnd","a",GetCharacter(sti(objQuestScene.list.(sQuestName).chrIdx)));
}
else
{
CommonQuestComplete(sQuestName); // KK
QuestComplete(sQuestName); // <-- THIS LINE
BothQuestComplete(sQuestName);
}
}
Please post here every time this happens. Hopefully we can sort-of figure out where this is coming from.
Perhaps there IS some consistency to it? Just something we haven't found yet?