Originally Posted by razialx View Post
Here is my theory on the bug, which (at level I don't believe I have experienced yet.
I think people start getting affected once they get high enough to have potentially several quests in their quest log that won't grant them experience.
Because, I'm guessing, the bug is an indexing issue.
Here is my theorized workflow for the code that handles completing quests. (Pseudocode)
FUNC OnQestComplete():
IF ShouldGrantExperience():
... Do Experience Granting Things ..
ENDIF
ENDFUNC
FUNC ShouldGrantExperience():
QuestList = GetQuestList()
QuestIndex = GetCompletedQuestIndex(); //Somewhere in here is the bug
PlayerLevel = GetPlayerLevel()
return QuestList[QuestIndex].GetQuestLevel() - PlayerLevel < 6 //If the player is 6 or more levels higher, don't give EXP
ENDFUNC
So in this code fragment theory, what happens is, when checking if you should get experience, it's now checking against a different quest than the one you actually made progress on. So, lets say it always checks quest slot 6 (not saying it does, just work with me). If your quest in that slot is not gray, you don't get hit by the bug. If it is, you do. That would explain how for some people were affected by the but but then stopped being affected at some point.
Would love it if the developers could let me know if I'm even remotely close to correct here.
Could it deal with the amount of quests in your log? Maybe the code cannot look beyond a certain threshold; say the game thinks the max is 10 quests (just an example), you have 20 quests in your log, until you get down to that max number the game will not give you XP for quests completed?