Skip to content
Commit e14fdfe6 authored by Nathan Lovato's avatar Nathan Lovato
Browse files

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.
parent f213d111
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment