112 Commits

Author SHA1 Message Date
YoshiCraft64
cecaa50610
support for old ("steps") missions (#20)
* add support for old missions API (aka "steps missions")
* config option to disable loading non SoD Data (used only for missions and achievements for now)
* make AuthenticateUser endpoint compatible with games that use e-mail as login
* add api keys for lands
* add GetGameCurrency endpoint
* allow create empty stores and add store "8" (empty)

---------

Co-authored-by: Robert Paciorek <robert@opcode.eu.org>
2025-02-13 22:58:19 +01:00
Robert Paciorek
65aa1fecb5 add MaM missions data, fix old clients mission api
- added MaM missions xml data (thanks to spectershade)
- send completed task to old client via GetUserMissionState API
2024-12-30 11:28:44 +01:00
YesntSoup
ca951d78e8
Change automatic RaisedPet name to not happen for WoJS (#6)
* Change automatic RaisedPet name to not happen for WoJS

This is because Voltage Dragons get a name later, so this placeholder name currently gets assigned first. 

I've never done this before, so let me know if I did it wrong lol

* Added Max_OldJS to the previous PR
* Added HaiFire's suggestion
* Added [FromForm] string apiKey

Ty HaiFire again!
2024-09-03 22:48:06 +02:00
Hipposgrumm
6a9f2722e1 Added saving support for Ice Cubed. (#15)
Saving support now exists for Ice Cubed and any other games using the system.
2024-08-12 09:06:13 +00:00
Hipposgrumm
4e02ee19b4 Fix Mutt Textures not immediately Updating (#12)
* Math Blaster Mutts will now correctly have their textures changed immediately out of the incubator.
2024-08-12 09:06:13 +00:00
Spirtix
e29f10c406
Purchase optimization (#3)
* purchase optimization

* purchase: simplify wallet update

* fix purchase: swap coins and gems

* purchase: rename mysteryBox to addAsMysteryBox

* purchase: adjust item quantity note

* purchase: change GetItemQuantity API
2024-07-25 22:54:48 +02:00
Hipposgrumm
28e275bcaa Math Blaster Pod Parties and Birthday Pod Parties (#10)
* Added support for Math Blaster Pod and Birthday parties.

* Now sends only the appropriate parties for each game.
Math Blaster only gets parties in MyPodInt.
JumpStart only gets parties in MyNeighborhood or MyVIPRoomInt.
Parties in any other rooms don't get sent.
Any other games don't get sent parties (I couldn't work out how to set up SuperSecret for testing).
2024-07-16 08:48:52 +00:00
Robert Paciorek
69910dad12 fix internal error in GetAvatarByUserId 2024-07-16 08:02:44 +00:00
Hipposgrumm
a0f7b1ba3e Fixed Mutt Pods + Implemented GetTopAchievementPointBuddiesByType
* Mutt Couch Fixes
Removed duplicate mutt from the couch.
Mutts on couch in other players' mutt pods will now reflect that player's account.

* Buddies list will now appear on the sidebar, making the mutt pod tutorial possible.

---------

* Fixed some issues that were pointed out.

* ContentController.GetUnselectedPetByTypes now uses regular IF check for setting owner viking.

* remove unused apiKey from GetActiveRaisedPet args
2024-07-12 07:44:30 +00:00
Robert Paciorek
a45323b447 bugfix for "Fixed Math Blaster's mutt textures." 2024-07-10 19:25:30 +00:00
Hipposgrumm
2203bae81f Fixed Math Blaster's mutt textures. (#6)
Will now set to appropriate mutt texture if pet is using a larva texture and is older than HATCHING.

The pet data saving code will now set to appropriate mutt texture if pet is using a larva texture and is older than HATCHING.
This fixes the issue that mutts were using their old larva's texture instead of the mutt's default texture.
Any existing mutts using the wrong texture will have it changed when the pet is saved (not when loaded). For users to see the fixed texture they would need to restart the game after the affected mutt(s)' data changed in any way (or otherwise saved to the server).
2024-07-10 08:27:43 +00:00
meleestars
9993198a9b Implemented neighborhoods, fixed default houses
Also:
* implemented ``GetAvatarByUserID`` from @Moonbase's previous PR.
* implemented ``GetPeriodicGameDataByGame`` and ``GetGamePlayDataForDateRange``

---------

Co-authored-by: Alan Moon <alanmoonbase2004@gmail.com>
2024-07-10 08:27:23 +00:00
meleestars
2ec4358a39 Implemented `GetGameDataByUser` 2024-07-10 08:20:53 +00:00
Robert Paciorek
3e06d89cb2 GetAssetVersions placeholder + WoJS bugfixes 2024-04-30 12:13:46 +00:00
Robert Paciorek
a9151c42c5 rework WoJS Party
- fix SQL issue on removing expired parties
- use item data for party creation
2024-04-09 11:30:01 +00:00
Robert Paciorek
2d9b83db89 bugfixes
- fix "No soil plots in v.2.9"
  - do not send null `UserItemPosition.Uses` for old clients
- fix "unable to do the expansion missions in Sodoff 2.9"
  - move expansion board missions to Headmaster for old versions
- fix race condition on PurchaseItems (causing negative gems amount issue)
- move gems bundles to correct store
  - also fix "gems bundles not show after click on gems counter" issue
- fix "internal error neighborhood" (WoJS)
  (caused by room item with null item)
- fix "Release date is set to creation date upon being released" (WoJS)
  - update GrowTime value in SetRaisedPetInactive
2024-04-09 00:21:06 +00:00
Robert Paciorek
cba1464079 fix Paralyzing Dreadfall Axe Blueprint 2024-03-19 13:47:54 +00:00
Robert Paciorek
446c40ccea merge House into SavedData, WoJS 1.1 vs 1.21 store
- use generic XML save system (SavedData) for Houses
- add support for return different stores for WoJS 1.1 and 1.21 (based on ApiKey)
- change values of ClientVersion / gameVersion for non SoD games and some version checks logic
- common function for Viking creation for call in RegisterChild and in RegisterParent
- add SS (standard) apiKey and WoJS 1.21 (custom) apiKey
2024-03-17 20:46:40 +00:00
1600938902 WoJS: Use DisplayName in GamesData
- Use DisplayName instead of Viking Name

Co-authored-by: Robert Paciorek <robert@opcode.eu.org>
2024-03-14 20:33:08 +00:00
d796f5c4ce Implement Get/SetScene and Houses
- Attempt Implementation Of ``GetScene`` and ``SetScene``
- Typo In Route
- Implement Houses
2024-03-14 18:29:16 +00:00
8d236ef8d3 Add Parties System (WoJS)
- Add Placeholder For GetActiveParties
- Add Proper Placeholder For GetActiveParties
- Attempt Party Implementation
- Return Null When Party Time Is Not One Hour
- Do Not Buy Party If It Already Exists
- Remove Coins From User After Buying Party
- Fix Parties Not Getting Removed After One Hour
- db model fixes
- Make Party ID key an integer
- Add ``GetPartiesByUserId``
- Fixes Parties Not Having Decorations
- Add All Other Party Durations And Types
- Fix Mistake In ``GetActiveParties``
2024-03-14 18:29:16 +00:00
93361c5e84 add endpoints for WoJS
add:
 - SetGameCurrency
 - GetDisplayNameByUserId
 - GetCommonInventoryByUserId
and some placeholders

- Reimplement Currency System (WoJS)
- Implement ``GetDisplayNameByUserId``
- Move ``GetCombinedListMessage`` To Messaging Controller
- Add More Placeholders For MMO
- ``SetScore`` Placeholder
- Add ``GetRevealIndex`` For Learning Games

Co-authored-by: Robert Paciorek <robert@opcode.eu.org>
2024-03-14 18:29:03 +00:00
Robert Paciorek
d8b996c6d7 bugfixes
- fix race condition on SetProduct
- properly create ModdingService singleton on startup
- remove debug print
2024-03-04 01:50:38 +00:00
Robert Paciorek
d557871fd3 rework ProductData and Petz saves
- support for separate saves for lands via ClientVersion.GetVersion(apiKey)
- add Adventureland apiKey to ClientVersion
2024-03-03 14:56:09 +00:00
Robert Paciorek
2a20cbd758 add GetActiveRaisedPetsByTypes 2024-03-03 14:00:35 +00:00
Robert Paciorek
22b5a76147 minisaur should start as baby (not powerup) 2024-03-03 14:00:35 +00:00
Robert Paciorek
f611b9203c SetAvatar (v1) should return bool 2024-03-03 14:00:35 +00:00
Robert Paciorek
baab40c828 Mythies issues fixes
- fix "Mythies" tab in profile
- fix Minisaurs vs Mythies conflict
2024-03-03 14:00:10 +00:00
Robert Paciorek
c842a2f3b2 implement Petz system 2024-03-03 14:00:10 +00:00
Robert Paciorek
6960aadcc3 fix set Jumpee name (and init move tutorial) 2024-03-03 14:00:10 +00:00
Robert Paciorek
7189f049e8 SetRaisedPetInactive -> support for releasing pet 2024-03-03 14:00:10 +00:00
Robert Paciorek
6dde75fbc7 use VikingSession for WoJS, fix GetActiveRaisedPet 2024-03-03 14:00:10 +00:00
Robert Paciorek
f695f96517 support for Math Blaster 2024-03-03 14:00:10 +00:00
Robert Paciorek
c1e759e766 WoJS: mythie and sanctuaty 1.1 fixes 2024-03-03 14:00:10 +00:00
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