- 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
* support for farm expansions
* add farm expansion to store
- replace farm expansion bundle by raw farm expansion
- add dreadfall farm expansion
* bugfix - set room name in SetUserRoom on new room
* support for multiple farm rooms of the same type
* bugfix - missing CommonInventoryID in SetCommonInventory reply to farm expansion request
- add GetUnselectedPetByTypes
- block update avatar in calls SetAvatar from too old clients
- add support for call GetUserProfileByUserID with viking apiToken