feat: mastery rank up inbox message #1206

Merged
OrdisPrime merged 1 commits from mastery-slates into main 2025-03-17 12:23:17 -07:00
2 changed files with 22 additions and 2 deletions

View File

@ -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<void>
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();

View File

@ -40,7 +40,7 @@ export interface IMessage {
export interface Arg {
Key: string;
Tag: string;
Tag: string | number;
Review

tag can be a number? I don't see why this pr needs that change, so I don't know where it's coming from

tag can be a number? I don't see why this pr needs that change, so I don't know where it's coming from
Review

The NEW_RANK is a number.

The `NEW_RANK` is a number.
Review

I think this might be a DE moment, and the client can just work with both.
It just work when a number is supplied, right?
I sadly can't try now.

I think this might be a DE moment, and the client can just work with both. It just work when a number is supplied, right? I sadly can't try now.
Review

Yeah, it's a number in my inbox messages.

Yeah, it's a number in my inbox messages.
Review

Yeah, it's a number in my inbox messages.

Weird situation, well in that case we gotta use mixed, you are right.
PR is good to go

> Yeah, it's a number in my inbox messages. Weird situation, well in that case we gotta use mixed, you are right. PR is good to go
}
//types are wrong
@ -99,7 +99,7 @@ const messageSchema = new Schema<IMessageDatabase>(
type: [
{
Key: String,
Tag: String,
Tag: Schema.Types.Mixed,
OrdisPrime marked this conversation as resolved
Review

why use mixed here? its the same as allowing everything. We should certainly not use mixed for anything that was validated.
Mixed was only set for things that are not implemented

why use mixed here? its the same as allowing everything. We should certainly not use mixed for anything that was validated. Mixed was only set for things that are not implemented
Review

Because it can also be a number.

Because it can also be a number.
_id: false
}
],