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