Close #171: Rewrite the quest system to better respect the single responsibility principle
This is a breaking change. I'm looking for some feedback on how the code feels now. Quests start but won't complete yet at this point. I want to do #167 and hopefully #168 as well to simplify the system even more. Until now it was a pain to just create quests and place them in the game world, for multiple reasons. E.g. The fact that the GiveQuestAction is inherited in PawnQuestGiver scenes makes it so the quest reference gets lost every time you modify the action's script in all instances. The Journal is also broken right now! - Made the QuestSystem as a singleton: it had to be passed around multiple parts of the game, and probably more and more files as we expand it. I'd rather avoid singletons but as the API is limited this has the potential to simplify the code IMO - Devs should now ONLY interact with QuestSystem. The API is a lot simpler: start() and deliver() to start and finish quests talking to NPCs. For now the rest is handled by the quests internally, based on their objectives.
Loading
Please register or sign in to comment