diff --git a/src/controllers/api/trainingResultController.ts b/src/controllers/api/trainingResultController.ts index 022d6c10..a9bc196e 100644 --- a/src/controllers/api/trainingResultController.ts +++ b/src/controllers/api/trainingResultController.ts @@ -5,6 +5,7 @@ import { IMongoDate } from "@/src/types/commonTypes"; import { RequestHandler } from "express"; import { unixTimesInMs } from "@/src/constants/timeConstants"; import { IInventoryChanges } from "@/src/types/purchaseTypes"; +import { createMessage } from "@/src/services/inboxService"; interface ITrainingResultsRequest { numLevelsGained: number; @@ -26,6 +27,25 @@ const trainingResultController: RequestHandler = async (req, res): Promise if (trainingResults.numLevelsGained == 1) { inventory.TrainingDate = new Date(Date.now() + unixTimesInMs.hour * 23); inventory.PlayerLevel += 1; + + await createMessage(accountId, [ + { + sndr: "/Lotus/Language/Menu/Mailbox_WarframeSender", + msg: "/Lotus/Language/Inbox/MasteryRewardMsg", + arg: [ + { + Key: "NEW_RANK", + Tag: inventory.PlayerLevel + } + ], + att: [ + `/Lotus/Types/Items/ShipDecos/MasteryTrophies/Rank${inventory.PlayerLevel.toString().padStart(2, "0")}Trophy` + ], + sub: "/Lotus/Language/Inbox/MasteryRewardTitle", + icon: "/Lotus/Interface/Icons/Npcs/Lotus_d.png", + highPriority: true + } + ]); } const changedinventory = await inventory.save(); diff --git a/src/models/inboxModel.ts b/src/models/inboxModel.ts index c451d18a..16986184 100644 --- a/src/models/inboxModel.ts +++ b/src/models/inboxModel.ts @@ -40,7 +40,7 @@ export interface IMessage { export interface Arg { Key: string; - Tag: string; + Tag: string | number; } //types are wrong @@ -99,7 +99,7 @@ const messageSchema = new Schema( type: [ { Key: String, - Tag: String, + Tag: Schema.Types.Mixed, _id: false } ],