diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index 958ac984..5848600e 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -25,6 +25,7 @@ import { ISettings, IInfestedFoundryDatabase, IHelminthResource, + IMissionDatabase, IConsumedSuit, IQuestStage, IQuestKeyDatabase, @@ -482,6 +483,15 @@ const helminthResourceSchema = new Schema( { _id: false } ); +const missionSchema = new Schema( + { + Tag: String, + Completes: { type: Number, default: 0 }, + Tier: { type: Number, required: false } + }, + { _id: false } +); + const questProgressSchema = new Schema( { c: Number, @@ -1010,7 +1020,7 @@ const inventorySchema = new Schema( 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 diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index 59174b5b..09caccf7 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -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 }); } diff --git a/src/types/inventoryTypes/inventoryTypes.ts b/src/types/inventoryTypes/inventoryTypes.ts index 256f8231..e27df725 100644 --- a/src/types/inventoryTypes/inventoryTypes.ts +++ b/src/types/inventoryTypes/inventoryTypes.ts @@ -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; }