- Removed obsolete GetClearList handler and replaced it with GetMissionClear and GetMissionClearList handlers for improved clarity and functionality.
- Introduced ObtainMissionReward handler to manage mission reward claims.
- Added BuyProduct and MultipleBuyProduct handlers to facilitate shop product purchases.
- Implemented EventShopHelper class to encapsulate shop-related logic, including product buying and currency deduction.
- Updated EventStoryHelper to manage event ticket logic and user event data.
- Enhanced User and EventData models to support new event and shop functionalities.
- Improved logging and error handling across various handlers.
- Added new classes for handling AZX mini-game events including entering, finishing, and retrieving data.
- Introduced helper methods for managing rewards, rankings, and achievements within the AZX mini-game.
- Updated existing event handling to include user-specific data for events and mini-games.
- Enhanced user model to store AZX mini-game data and private banner IDs.
- Modified event response structures to accommodate new data fields related to AZX mini-game.
- Implemented logging for better traceability of AZX mini-game actions and errors.
- Added GetAcquireBuffFunction to handle buff acquisition requests in the simulation room.
- Added InfinitePopupCheck to manage infinite popup checks for users.
- Added ProceedSkipFunction to process skip requests in the simulation room.
- Updated SelectDifficulty to handle overclock options and season data.
- Enhanced SimRoomHelper to support overclock mechanics and event group logic.
- Modified GetSimRoomData to include buffs and legacy buffs in the response.
- Updated Quit functionality to reset overclock state upon quitting the simulation room.
- Added logic to handle overclock rewards and high score updates.
- Refactored user model to retain current season data and legacy buffs during resets.
- Introduced new OverclockData and OverclockHighScoreData models to manage overclock states.
feat: Implement SimRoom functionality with Simple Mode features
- Added SimRoomHelper class to manage SimRoom events and logic.
- Implemented SimpleModeSelectBuff handler for buff selection in Simple Mode.
- Implemented SimpleModeSetSkipOption to enable/disable skip options.
- Implemented SimpleModeSkipAll to handle skipping all Simple Mode stages and reward retrieval.
- Implemented SimpleModeSkipBuffSelection for skipping buff selection.
- Implemented SimpleModeStart to initiate Simple Mode with event handling.
- Updated SimRoom data models to include buffs, legacy buffs, and event tracking.
- Updated GameData add SimRoom data tables
-Added JsonStaticDataReplenish add SimRoom data models
- Enhanced User model to manage weekly reset logic and retain legacy buffs.
- Added DateTimeHelper utility for managing time zone specific date calculations.
- Updated game configuration for static data and resource URLs.
- Implement FastClearEventStage handler for fast clearing event stages.
- Enhance GetStoryDungeon handler to include team data and cleared stages.
- Modify GetInventoryData to streamline item processing.
- Introduce BuyEventPassRank and BuyPassRank handlers for purchasing event pass ranks.
- Add CompleteEventPassMission and CompletePassMission handlers for mission completion.
- Create ObtainEventPassReward and ObtainOneEventPassReward handlers for reward retrieval.
- Implement ObtainPassReward and ObtainOnePassReward handlers for general pass rewards.
- Add PassHelper class to manage pass-related logic, including obtaining rewards and completing missions.
- Update User and EventData models to support new pass functionality.
- Integrate log4net for improved logging capabilities throughout the application.
- Update game configuration for static data and resource URLs.
- Create log4net configuration file for logging setup.
- Implement comprehensive equipment awakening system with multiple new endpoints:
* Awakening.cs: Handle equipment awakening process
* ChangeOption.cs: Change equipment awakening options
* GetAwakeningDetail.cs: Get detailed awakening information
* LockOption.cs: Lock awakening options (with Disposable option)
* ResetOption.cs: Reset awakening options
* UpgradeOption.cs: Upgrade awakening options
- Enhance interception system:
* Simplify GetInterceptData to use fixed normal group ID (1)
* Update InterceptionHelper to support type 1 in addition to type 0
* Modify GetInterceptData to use simplified special ID calculation
- Implement new inventory system features:
* Replace ClearAllEquipment with AllClearEquipment
* Enhance GetInventoryData to properly handle HarmonyCubes and Awakenings
* Update WearEquipmentList for improved equipment management
- Update data models and game data:
* Modify GetConditionReward to handle valueMax == 0 cases
* Update EquipmentAwakeningData model with proper default values
* Update ResetableData with DailyCounselCount as dictionary instead of struct field
- Additional improvements:
* Create GameAssemblyProcessor utility
* Enhance level infinite controller
* Update server selector UI
* Organize protocol message documentation
* feat: Implement Favorite Item and Harmony Cube systems
This commit introduces the core implementation for the Favorite Item and Harmony Cube systems.
Features:
- Added data structures and loading for Favorite Items, Harmony Cubes, and Attractive Levels.
- Implemented lobby handlers for all related actions:
- Favorite Items: equip, increase exp, quests, rewards, etc.
- Harmony Cubes: get, clear, increase exp, level up, management, etc.
- Character Counsel: check, present, quick counsel.
- Updated user data models to store related progression.
- Switched JSON deserialization for db.json to Newtonsoft.Json to handle protobuf models correctly.
* fix InfraCoreExp
* fix UserFavoriteItems and present count
---------
Co-authored-by: Mikhail Tyukin <mishakeys20@gmail.com>