78 Commits

Author SHA1 Message Date
ff19b747d8 backport Set/GetProduct from WoJSReStartedApi
Co-authored-by: Robert Paciorek <robert@opcode.eu.org>
2024-03-03 14:00:10 +00:00
Robert Paciorek
f5c7bc0fca initial support for World Of Jumpstart 2024-03-03 14:00:09 +00:00
Robert Paciorek
1f190dd19a add api config settings: database and response url 2024-03-01 17:14:56 +00:00
Robert Paciorek
97503cc389 rework game version managment
now we use game and SoD version encoded in uint (instead of compare raw apiKey values),
this allows for easy support for more versions ...
2024-02-24 18:47:04 +00:00
Robert Paciorek
56c388b1d6 fix internal server error on 2.9 quests
also fix error on invalid SetAvatar call
2024-02-06 20:20:35 +00:00
Robert Paciorek
4e792658d8 battle event rewards support
* fix RedeemMysteryBoxItems for support gems and coins from boxes
* add missing battle event fail achievement
2024-01-23 01:11:50 +00:00
Robert Paciorek
36d009dc3a implemented SetDisplayName 2024-01-09 20:43:38 +00:00
Robert Paciorek
5c802927a0 job board and quests bugfixes
* fix: jobs disappear after completing
* fix: jobs (and quest) does not cost items
2024-01-04 00:19:16 +00:00
Robert Paciorek
e50207ac2e add support for customizable items 2023-12-29 22:49:11 +00:00
Robert Paciorek
47e1bfb065 SoD 1.6 fixes
- CreateRaisedPet endpoint
- support for 1.6 apiKey + util class for management apiKey version recognition
2023-12-11 16:50:20 +01:00
Spirtix
80481713e3 include discounts in purchase prices 2023-12-09 22:01:10 +01:00
Robert Paciorek
5b8c952419 wallet-store fix for old SoD (1.13, 2.9) 2023-12-07 21:02:57 +00:00
Spirtix
8b3ed124c6 wallets 2023-12-07 20:38:06 +01:00
Spirtix
385449c1e7 highscore fixes 2023-11-26 17:44:38 +01:00
Spirtix
a0e2e198da score leaderboards 2023-11-26 17:44:38 +01:00
Robert Paciorek
132057911f bugfix: check item gender for mystery box rewards 2023-11-07 11:39:07 +01:00
Spirtix
fd831058c6 data model improvements 2023-10-17 07:58:04 +02:00
Robert Paciorek
42ee2ab77d job board mission fixes
- set as inactive and need accept in 1.13
- allow repeat in all versions

also remove from mission list for 1.13 Maze and MainReward quests
2023-10-04 15:38:28 +02:00
Robert Paciorek
a8d1bae4ac fix fuse error in "Battle Skills" tutorial 2023-10-04 15:38:28 +02:00
Robert Paciorek
2e9c8f22da fix intenal error on fuse and reroll 2023-09-27 07:54:36 +02:00
rpaciorek
44ea10ed71
support for SoD old tutorial and for Magic And Mythies (#17)
* old tutorial, works on 3.0.0 (partial on 2.9 also)

thanks to BrokenTV for quest data

* support for Magic And Mythies

* oldclients - avatar fix for 3.12

* register and create viking on 1.13

* fix Data Validation Failed on viking create in 2.9

* fix tutorial on 2.9

- fix opening cryptex cage
- replace initial dialogs (Grimmel version) by old version (based on wiki info)
- replace final dialogs (Harald bomb reference)

* missions support and better init profile on 1.13

- add support for mission in old SoD
- add stub for "New Student" quest for pre 2.3
- properly set HubBerkDOFirstCommon (via tutorial/quest, not via RegisterChild)
  - this allow show intro movie
- allow select and hatch first dragon (in hatchery as part of New Student quest)
  - this also fix stables on 1.13

* disable mmo on old clients
2023-09-18 19:22:45 +02:00
Robert Paciorek
9071d0bf37 fix some race conditions
- use session lock for SetKeyValuePair* endpoints
- use session lock for SetAchievementByEntityIDs endpoints
2023-09-18 13:59:04 +02:00
Robert Paciorek
70a28f4d1b bugfix: fuse item from inventory blueprint 2023-09-13 14:57:45 +02:00
Robert Paciorek
c6ad11b5d7 support for random quantity box prize
- add ItemService.GetItemQuantity
- add ItemService.CheckAndOpenBox and new form of ItemService.OpenBox
- add runes to DT rewards
2023-09-13 14:57:45 +02:00
Robert Paciorek
ed8cba8159 bugfixes: removing item in SetCommonInventory, ...
- 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)
2023-09-05 07:46:44 +02:00
Robert Paciorek
5dbd28e83c support for mystery boxes and bundles 2023-09-04 20:50:47 +02:00
Robert Paciorek
645d1f30ad bugfix: reward DT with correct gender items 2023-09-04 20:50:47 +02:00
Robert Paciorek
82d31853ea stable mission rewards
- implement SetAchievementByEntityIDs endpoint
- add stable achivments to achievementsids.xml (generated from TimedMissionDO.xml)
- remove AddAchievementPointsAndGetReward, AddAchievementPoints now return AchievementReward
- add ApplyPayout to proxy
2023-09-04 20:50:47 +02:00
Robert Paciorek
d9e3315d41 bugfixes for mmo info from API server
- fix database exception in GetAllActivePetsByuserId
- fix exception when GetUserProfileByUserID call with invalid userId
2023-09-03 19:39:29 +02:00
Robert Paciorek
391be35a7a fix vikings profile and vist farm on MMO 2023-09-03 19:35:04 +02:00
Robert Paciorek
d122786778 fix error in ProcessRewardedItems on empty request 2023-09-03 19:34:41 +02:00
Robert Paciorek
4544c6a3d1 fix crash on reward from DT without player dragon 2023-09-02 12:38:18 +02:00
Robert Paciorek
b5e76d1846 DT reward bugfix + GetUserCurrency function
- bugfix DT rewards:
  - fix selling from reward screen
  - fix showing in inventory without reload
- add InventoryService.SellInventoryItem
- add AchievementService.GetUserCurrency function
2023-09-02 12:38:18 +02:00
Robert Paciorek
c039337430 use VikingSession for DT items API 2023-09-02 12:38:18 +02:00
Robert Paciorek
51c490aad9 unification KeyValuePair KeyValuePairByUserID API (and use VikingSession interface for its) 2023-09-02 12:38:18 +02:00
rpaciorek
e3314ae1f1
Viking session via ActionFilter (#29) 2023-08-31 21:01:55 +02:00
rpaciorek
81e5718e05
foreign keys for table PairData + DragonId column + DB schema improvements (#30)
* 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
2023-08-31 20:46:03 +02:00
rpaciorek
7bee6c620a
dragons tactics (battle) backpack (#26)
* 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
2023-08-31 20:42:03 +02:00
Spirtix
e564a44b13 name suggestion bugfix 2023-08-27 22:03:44 +02:00
Robert Paciorek
ada1fd5338 support for importer
- XP import interface
- allow overwrite dragon creation date for importer
2023-08-23 21:57:57 +02:00
J. D
99fe6cca02
Implement name suggestions (#24) 2023-08-23 21:56:02 +02:00
rpaciorek
d5fb8ce5f1
viking and user deletion (#19) 2023-08-19 19:16:08 +02:00
J. D
c3bb769934
ContentController.cs: Handle CommonInventoryRequests in CreatePet (#20) 2023-08-18 22:47:37 +02:00
Robert Paciorek
17303d9256 unlock all viking slots (placeholder) 2023-08-16 16:36:18 +02:00
Robert Paciorek
fb582b4c24 fix error and missing xp on dragon ageup
- fix error when GetAchievementsByUserID is called with dragonId instead of userID
- add dragon XP when ageUp by ticket
2023-08-15 08:11:56 +02:00
rpaciorek
406ebe20c2
initial support for XP points (#16)
* 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
2023-08-14 18:34:14 +02:00
rpaciorek
fbc9b8a201
Farm expansions (#13)
* 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
2023-08-14 15:03:00 +02:00
rpaciorek
0ef87a61ff
basic support for 1.13.0 client (#15)
- add GetUnselectedPetByTypes
- block update avatar in calls SetAvatar from too old clients
- add support for call GetUserProfileByUserID with viking apiToken
2023-08-14 14:36:33 +02:00
Robert Paciorek
9b52f1fdd4 increase CashCurrency and GameCurrency 2023-08-14 14:22:14 +02:00
Robert Paciorek
947b2cb4a3 fix Bewilderbeast Alpha Rally
- implemented UseInventory API endpoint
2023-08-14 14:22:14 +02:00