From b7d525ccb96cb07535eb4b70aa6300696b568b9e Mon Sep 17 00:00:00 2001 From: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com> Date: Thu, 20 Mar 2025 16:38:11 +0100 Subject: [PATCH] feat(stats): minigame stats Closes: #1247 --- src/models/statsModel.ts | 6 +++++- src/services/statsService.ts | 8 ++++++++ src/types/statTypes.ts | 8 ++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/models/statsModel.ts b/src/models/statsModel.ts index 93cf9c1f..6551ace4 100644 --- a/src/models/statsModel.ts +++ b/src/models/statsModel.ts @@ -92,7 +92,11 @@ const statsSchema = new Schema({ Deaths: Number, HealCount: Number, ReviveCount: Number, - Races: { type: Map, of: raceSchema, default: {} } + Races: { type: Map, of: raceSchema, default: {} }, + ZephyrScore: Number, + SentinelGameScore: Number, + CaliberChicksScore: Number, + OlliesCrashCourseScore: Number }); statsSchema.set("toJSON", { diff --git a/src/services/statsService.ts b/src/services/statsService.ts index ebc5b2f2..e6c2a8b1 100644 --- a/src/services/statsService.ts +++ b/src/services/statsService.ts @@ -305,6 +305,14 @@ export const updateStats = async (playerStats: TStatsDatabaseDocument, payload: break; + case "ZephyrScore": + case "SentinelGameScore": + case "CaliberChicksScore": + case "OlliesCrashCourseScore": + playerStats[category] ??= 0; + playerStats[category] = data; + break; + default: if (!ignoredCategories.includes(category)) { if (!unknownCategories[action]) { diff --git a/src/types/statTypes.ts b/src/types/statTypes.ts index 6d3a2fd3..8363a47e 100644 --- a/src/types/statTypes.ts +++ b/src/types/statTypes.ts @@ -26,6 +26,10 @@ export interface IStatsClient { HealCount?: number; ReviveCount?: number; Races?: Map; + ZephyrScore?: number; + SentinelGameScore?: number; + CaliberChicksScore?: number; + OlliesCrashCourseScore?: number; } export interface IStatsDatabase extends IStatsClient { @@ -139,6 +143,10 @@ export interface IStatsMax { WEAPON_XP?: IUploadEntry; MISSION_SCORE?: IUploadEntry; RACE_SCORE?: IUploadEntry; + ZephyrScore?: number; + SentinelGameScore?: number; + CaliberChicksScore?: number; + OlliesCrashCourseScore?: number; } export interface IStatsSet {