- Implemented MinigameLeaderboardUIService to manage the leaderboard UI.
- Created MinigameLeaderboardUISystem to handle UI updates.
- Added methods in MinigameStatsService and MinigameStatsRepository for fetching top players and distinct dimension values.
- Introduced new commands for accessing minigame stats in the command language.
- Added tests for minigame interactions and ensured proper decoding of interaction fields.
- Refactored MinigameRuntimeEffect to utilize MinigameActionContext for better context handling.
- Introduced various minigame volume templates including map vote pad, NPC spawn, objective progress, player activation spawn, race, score zone, solo arena, team arena, team assignment pad, timed heal pack, and waiting area.
- Each template includes specific configurations for positions, shapes, effects, and tags relevant to their functionality.
- Implemented unit tests for minigame volume template export and spawn functionalities to ensure correct behavior and tag rewriting.
- Added tests for minigame map discovery service to validate player respawn logic based on team assignments.
- Enhanced minigame queue service tests to cover player join midgame scenarios.
- Created a data store test for saving and loading player defaults in the minigame template builder.
- Add MinigameStatsDamageSystem to record assists when players damage each other.
- Introduce MinigameStatsDeathSystem to track kills, deaths, and assists on player death.
- Create MinigameStatsListener to bridge minigame events with the stats service.
- Develop MinigameStatsService to manage live stats tracking and persistence.
- Implement PlayerStatAccumulator for per-player stat accumulation.
- Define StatKeys for well-known stat keys used in tracking.
- Create database models: GameRecord, ParticipantRecord, and MinigameStatsRepository for data persistence.
- Add SqliteStatsDatabase for SQLite backend implementation.
- Establish StatsDatabase interface for database connection management.
- Update language file to improve clarity in minigame messaging.
- Implemented LeaveMinigameQueueEffect to handle player removal from queues and runtime.
- Added OpenMinigameQueueUIEffect to manage the opening of the minigame queue UI.
- Introduced StartPlayerTimerEffect and StopPlayerTimerEffect for managing player timers and scoring.
- Enhanced PlaceBlocksEffect with options for filling volumes and hollow placements.
- Updated SpawnItemEffect to fix codec handling for item IDs.
- Added MountPlayerEffect and DismountPlayerEffect for player interactions with NPCs.
- Improved StartQueuedMinigameEffect to check player counts before starting games.
- Added localization entries for new effects and UI elements.
- Updated manifest to include HyUI as a dependency.
- Introduced DismountPlayerEffect to handle player dismounting from NPCs.
- Added MountPlayerEffect for mounting players onto NPCs with configurable parameters.
- Implemented PlaceBlocksEffect to allow block placement in specified regions.
- Created RespawnPlayerEffect with improved destination resolution for player respawns.
- Added SetPlayerLoadoutEffect to manage player loadouts dynamically.
- Introduced SetPlayerStatusEffect to manage player statuses with additional activation logic.
- Created SpawnNpcEffect for spawning and managing NPCs with respawn capabilities.
- Updated language files to include tooltips and descriptions for new effects.