- fix removing item from inventtory in SetCommonInventory (regresion after switch to InventoryService)
- fix null exception in SellItem on invalid UserInventoryCommonIDs
- remove unused fields in AchievementService (are in AchievementStoreSingleton)
* DB schema improvements
- add column DragonId to table PairData
- add foreign keys for table PairData
- remove unused column InventoryId from Vikings table
- simplifying relations viking -> selected dragon
- remove SelectedViking and SelectedVikingId from Dragon
- remove column SelectedVikingId from Dragons table
- cleanup and arrangement code in DBContext.cs
* support for dragons PairData in KeyValueService
and in "pairs" API endpoints
* return battle item as battle items
placeholder - no saved stats, always use default stats
* Blacksmith API implementation
* ApplyRewards (DT rewards) and AddBattleItems
also temporary disable some AchievementsTask rewards from DT ... probably should not be repeatable ...
* support "box tickets" blueprints
- add OpenBox in ItemService (should be useful for other boxes also)
- move checking item category to ItemService (ItemHasCategory)
* InventoryService and full DragonTactics rewards
- move "add to inventory" to InventoryService
- move creating CommonInventoryData from inventory to InventoryService
- move CreateItemStats() to ItemService
- assigning random "item" reward from DT based on dtrewards.xml (at this moment list of all DT items not listed in store)
- rework dragon XP and add player XP and gems reward to DT
- add task and id reward xml databases
- thanks to Project Edge community for sniffed network data!
- implement SetAchievementAndGetReward, SetUserAchievementAndGetReward
- partially implement SetUserAchievementTask
- move rewards logic to AchievementService
- show real value of farming and fishing XP
- show UDP points
Co-authored-by: Spirtix <michal.prazak1@gmail.com>
* GetPetAchievementsByUserID and enum for PointTypes
* add RankService
* use AchievementPointTypes for PointTypeID
... insted of int in schema
* support for player XP, fix dragon XP
- database table
- return correct value in API call
- save XP from mission
* rename RankService to AchievementService
* use addAchievementPoints for all non item reward
this could be a good place for wallet servicing too ... so currency reward too
* return const XP value for farming and fishing
we don't have gathering method for those XPs yet
* fix avatar schema, fix coding style