27 Commits

Author SHA1 Message Date
e512568495 go back to using `EnsureCreated` due to project structure being incorrect for migrations of multiple database types 2025-03-19 13:20:47 -07:00
e9995f0876 restructure ef core migrations
-added different context for production environments
-added migrations for both dev and production databases
-added config values ``ProdDbProvider`` and ``ProdDbConnection`` (since most likely production environment will use PGSQL or MySQL, although PGSQL migrations are not provided but can be made)
2025-03-19 11:48:47 -07:00
6fab853d5f implement realtime communication with mmo server
-also added messages for anyone on wojs or earlier for ribbons
-mmo communication occurs in the ``MessagingService`` and ``BuddyService``
-for now this requires a DLL from the game client as we should not distribute the SmartFox client openly here due to it being closed sourced
2025-03-17 14:05:43 -07:00
1ca53d580f reference `Microsoft.EntityFrameworkCore.Design` for database version control
add initial migration
2025-03-02 16:29:25 -08:00
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
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
2f5a589bd4 Support for WoJS and SS in GetAnnouncementsByUser
* Add Announcement To Send Player To SanctuaryBabySS In SuperSecret
* Add Announcement for Amphitheater in WoJS
* Announcements are send based on per game resources file

Co-authored-by: Robert Paciorek <robert@opcode.eu.org>
2024-08-19 21:45:43 +00:00
Hipposgrumm
9ca4dfc7ae Added rank names and colors for MB. (#13) 2024-08-12 09:06:13 +00:00
Hipposgrumm
10d0fed889 Added Support for Math Blaster Movies (#9)
Added a result for type `MathBlasterMovie`.
2024-07-16 08:48:52 +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
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
6960aadcc3 fix set Jumpee name (and init move tutorial) 2024-03-03 14:00:10 +00:00
Robert Paciorek
f8c8b75645 quests data - quests files for WoJS 2024-03-03 14:00:10 +00:00
cc802043ec Profile Answers
-Add Ability For Profile Answers To Save
-Add WoJS response for ``GetQuestions``
-Add ``Pain`` Mood To Question Data
2024-03-02 17:36:29 +00:00
Robert Paciorek
1f190dd19a add api config settings: database and response url 2024-03-01 17:14:56 +00:00
Robert Paciorek
e5570f7c91 Magic and Mythies fixes:
- add fake missions for unlock fishing and mythie grow up
- add games to store
2023-12-11 16:50:20 +01: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
Spirtix
95008797b1 initial mmo work 2023-09-13 15:01:29 +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
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
Spirtix
9cef74dd26 add support for missions
still requires achievements to work corrently
2023-07-07 01:25:25 +02:00
Spirtix
5b2ec98701 stub various endpoints 2023-06-27 22:15:06 +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
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
Spirtix
e1d4daf3b7 Add project files; implement login/registration 2023-06-16 16:16:50 +02:00