This week I implemented a basic fetch quest and investigated the NPE found last week.

Quests

I implemented a basic fetch quest using the Tasks module. Quest start is present in all churches and looks like the image below.

The players then receive an item, which they need to consume to activate the quest, like in the QuestExamples module. The quest has two tasks: collect some meat and return to the church you took the quest from. When the second task starts, the quest point turns into a beacon. This beacon is deleted if the task is completed.

There is also a minimap overlay which shows the position of this beacon. But as of now, it shows the wrong location on the map.

Wallet System NPE

I tried to investigate issue #25. Turns out that the WalletSystem didn't run on the client, therefore there was no wallet for the CurrencyManagementSystem to call and clients had no wallet HUD. I have decided to remove the CurrencyManagementSystem considering it's only task was to give the player some money at regular intervals of time. Instead, I have added a new giveMoney command which can be used for testing. Other functions of the CurrencyManagementSystem have been moved to the WalletSystem.

I have also removed the wallet entity and added the CurrencyStorageComponent to the character entity. This works great in singleplayer, but doesn't for a client in multiplayer for the same reasons as before. I am working on fixing this right now.

PRs

Todo

  • Completely solve the NPE issue
  • Implement item drops on player death