feat(stats): minigame stats
All checks were successful
Build / build (22) (pull_request) Successful in 1m8s
Build / build (20) (pull_request) Successful in 1m13s
Build / build (18) (pull_request) Successful in 44s

Closes: #1247
This commit is contained in:
AMelonInsideLemon 2025-03-20 16:38:11 +01:00
parent 1b4aee0b90
commit b7d525ccb9
3 changed files with 21 additions and 1 deletions

View File

@ -92,7 +92,11 @@ const statsSchema = new Schema<IStatsDatabase>({
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", {

View File

@ -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]) {

View File

@ -26,6 +26,10 @@ export interface IStatsClient {
HealCount?: number;
ReviveCount?: number;
Races?: Map<string, IRace>;
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 {