45 Commits

Author SHA1 Message Date
Spirtix
3ddc1e205c fix stable quest reward with invalid pet ID 2023-10-18 08:32:04 +02: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
ac281ca4ad fix mission completed check in "one of tasks is needed to be completed" case 2023-10-02 20:32:40 +02:00
Robert Paciorek
2fa842c822 fix battle items identification and adding 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
c7b3a74390 use ItemService for store and itemId in store.xml
- replace full items def in store.xml by item id
- load items def from items.xml (via ItemService) in StoreService constructor
2023-09-18 14:01:24 +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
e57e5ad44b add int overflow protection for achievement values 2023-09-13 14:57:45 +02:00
Robert Paciorek
9b1609c6ad repeatable mission support 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
9508af4199 fix Cogs/Incredible Machines achievement rewards 2023-09-03 19:40:18 +02:00
Spirtix
efb2958124 remove InventoryService from AchievementStore 2023-09-03 12:07:07 +02:00
Robert Paciorek
9949fb5e7d split AchievementService into scoped and singleton 2023-09-02 12:38:18 +02:00
Robert Paciorek
a1f1ee0e29 bugfix: get/set user pairs from viking apiToken 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
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
rpaciorek
665089d5ef
support AchievementTask and AchievementID rewards (#25)
- 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>
2023-08-23 22:07:08 +02:00
Robert Paciorek
dd9dfa4873 support for farm on old clients
- add support UserItemPositionSetRequest without item (but with UserInventoryCommonID)
2023-08-23 21:57:57 +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
Spirtix
5e6eba3af3 fix null growth state when hatching some dragons 2023-08-15 14:59:47 +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
Spirtix
2a0b62552e inject AchievementService to MissionService 2023-08-14 19:29:33 +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
Spirtix
d7f3ad81bd fix item rewards not being saved 2023-07-30 15:57:44 +02:00
Spirtix
9c3c374741 unify timestamps 2023-07-27 19:06:19 +02:00
Spirtix
258b1ddce1 fix farm consumables 2023-07-25 17:03:41 +02:00
Spirtix
ffd7fd9a20 fix farms issues
spoof levels
2023-07-24 22:16:46 +02:00
Spirtix
f71fbe3559 initial farm implementation 2023-07-20 22:11:42 +02:00
Spirtix
1c01eb25f5 hideouts 2023-07-12 22:07:24 +02:00
Spirtix
8416b47fa8 fix lab missions completion 2023-07-11 18:10:01 +02:00
Spirtix
379b731f61 fix premature completion of missions 2023-07-10 20:10:51 +02:00
Spirtix
caadb0c097 fix mission completion 2023-07-09 18:55:52 +02:00
Spirtix
c3615bc7ce fix mission acceptance 2023-07-09 17:10:05 +02:00
Spirtix
9cef74dd26 add support for missions
still requires achievements to work corrently
2023-07-07 01:25:25 +02:00
Spirtix
0460746824 implement store, purchases; fix inventory
This only implements V2 purchases
V1 purchases are used outside of the store
2023-07-03 19:38:52 +02:00
Spirtix
b7e2b2f822 properly track mission states and rewards 2023-06-22 22:08:54 +02:00
Spirtix
94da3ff337 support for items and inventories 2023-06-22 13:59:14 +02:00
Spirtix
e30798270e Fix get/set pair issues
- add mitmproxy endpoints
- fix indentation
- pass UserId and VikingId rather than session
2023-06-19 20:33:49 +02:00
Spirtix
2a4edfffef Get/Set pairs 2023-06-19 19:59:42 +02:00