add missionSchema

This commit is contained in:
Sainan 2025-02-05 19:04:42 +01:00
parent 1c82b90033
commit 0dd4cec541
3 changed files with 16 additions and 4 deletions

View File

@ -25,6 +25,7 @@ import {
ISettings,
IInfestedFoundryDatabase,
IHelminthResource,
IMissionDatabase,
IConsumedSuit,
IQuestStage,
IQuestKeyDatabase,
@ -482,6 +483,15 @@ const helminthResourceSchema = new Schema<IHelminthResource>(
{ _id: false }
);
const missionSchema = new Schema<IMissionDatabase>(
{
Tag: String,
Completes: { type: Number, default: 0 },
Tier: { type: Number, required: false }
},
{ _id: false }
);
const questProgressSchema = new Schema<IQuestStage>(
{
c: Number,
@ -1010,7 +1020,7 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
CrewShipSalvagedWeapons: [Schema.Types.Mixed],
//Complete Mission\Quests
Missions: [Schema.Types.Mixed],
Missions: [missionSchema],
QuestKeys: [questKeysSchema],
ActiveQuest: { type: String, default: "/Lotus/Types/Keys/VorsPrize/VorsPrizeQuestKeyChain" }, //TODO: check after mission starting gear
//item like DojoKey or Boss missions key

View File

@ -1090,7 +1090,6 @@ export const addMissionComplete = (inventory: TInventoryDatabaseDocument, { Tag,
if (itemIndex !== -1) {
Missions[itemIndex].Completes += Completes;
inventory.markModified(`Missions.${itemIndex}.Completes`);
} else {
Missions.push({ Tag, Completes });
}

View File

@ -753,10 +753,13 @@ export interface ILotusCustomization extends IItemConfig {
Persona: string;
}
export interface IMission {
export interface IMissionDatabase {
Tag: string;
Completes: number;
Tier?: number;
Tag: string;
}
export interface IMission extends IMissionDatabase {
RewardsCooldownTime?: IMongoDate;
}