28 Commits

Author SHA1 Message Date
Robert Paciorek
13df822608 rework achievements system + minor cleanup
rework achievements system:
    - support for Achievements page in journal
    - register achievement tasks in database to avoid duplicate rewards and to register progress (achievement levels)
    - better achievement tasks xml database (for multiple games)
    - support for older games SetUserAchievementTask (V1)
    - add some missed achievement IDs
    - move achievement data to Resources/achievements/

additionally:
    - add mmo zones for MaM and some additional mmo zones for EMD
    - move missions Resources into Resources/missions/
    - split SoD/MaM missions into separte files
    - move rank data to Resources/ranks/
    - cleanup sodoff.csproj

SQLite database schema changes:

```
CREATE TABLE "AchievementTaskState" (
	"VikingId"	INTEGER NOT NULL,
	"TaskId"	INTEGER NOT NULL,
	"Points"	INTEGER NOT NULL,
	CONSTRAINT "PK_AchievementTaskState" PRIMARY KEY("TaskId","VikingId"),
	CONSTRAINT "FK_AchievementTaskState_Vikings_VikingId" FOREIGN KEY("VikingId") REFERENCES "Vikings"("Id") ON DELETE CASCADE
);
```
2025-02-08 10:29:56 +00:00
Hipposgrumm
9ca4dfc7ae Added rank names and colors for MB. (#13) 2024-08-12 09:06:13 +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
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
9089ea786d ContentByType, ProfileTags, WoJS Ranks and Quests
- Add ``UserProfileTag`` Placeholder
- Add Placeholder Profile Tags
- Reimplement ``GetContentByTypeByUser``
- Fix ``GetContentByTypeByUser``
- Add Test Movie Theater Content
- Add Real Movie Content
- Add Big Cat
- Fix CatURL
- Add Arcade Content
- Add Proper Response For Arcade Content
- Replace ContentInfo With ContentInfoData
- Still Trying Arcade Things
- Update Jukebox
- Movie Theater Thumbnails
- Replace All Content And MMO URL's To Point To New Server
- Replace https With http And Do Similar Action To ``allranks_wojs``
- Fix Typo
- Add All Other MainStreet Missions
- Add WoJS Ranks
- Add Learning Content (Brain Arcade)
- Restore Original Jukebox Content
- Add External Games And Fruit Salad Chop To Arcade Content
- Update Learning Content
2024-03-14 20:32:57 +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
Robert Paciorek
f5c7bc0fca initial support for World Of Jumpstart 2024-03-03 14:00:09 +00:00
Spirtix
c5bc21e539 top achievement points leaderboard 2023-11-26 17:44:38 +01:00
Spirtix
fd831058c6 data model improvements 2023-10-17 07:58:04 +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
656f39398f bugfix: not saved achievement rewards
AchievementService Add*/Apply* function do NOT save data to DB
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
Robert Paciorek
391be35a7a fix vikings profile and vist farm on MMO 2023-09-03 19:35:04 +02:00
rpaciorek
e3314ae1f1
Viking session via ActionFilter (#29) 2023-08-31 21:01:55 +02:00
rpaciorek
d0eacb75b6
Achievement race condition fix (#28) 2023-08-28 08:35:05 +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
ada1fd5338 support for importer
- XP import interface
- allow overwrite dragon creation date for importer
2023-08-23 21:57:57 +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
Spirtix
207e56602f stub SetAchievementByEntityIDs 2023-07-25 20:10:07 +02:00
Spirtix
ffd7fd9a20 fix farms issues
spoof levels
2023-07-24 22:16:46 +02:00
Spirtix
f821a0b1cb stub achievements to progress in missions 2023-07-07 22:23:48 +02:00
Spirtix
5b2ec98701 stub various endpoints 2023-06-27 22:15:06 +02:00
Spirtix
2c195832f5 mockup for the tutorial mission 2023-06-21 16:13:21 +02:00
hictooth
199d44f1cd create profile
works up to start of tutorial
2023-06-19 20:23:53 +01:00