feat: handle DiscoveredMarkers in missionInventoryUpdate #1339
@ -81,7 +81,8 @@ import {
|
||||
IVendorPurchaseHistoryEntryClient,
|
||||
INemesisDatabase,
|
||||
INemesisClient,
|
||||
IInfNode
|
||||
IInfNode,
|
||||
IDiscoveredMarker
|
||||
} from "../../types/inventoryTypes/inventoryTypes";
|
||||
import { IOid } from "../../types/commonTypes";
|
||||
import {
|
||||
@ -377,6 +378,14 @@ droneSchema.set("toJSON", {
|
||||
}
|
||||
});
|
||||
|
||||
const discoveredMarkerSchema = new Schema<IDiscoveredMarker>(
|
||||
{
|
||||
tag: String,
|
||||
discoveryState: [Number]
|
||||
},
|
||||
{ _id: false }
|
||||
);
|
||||
|
||||
const challengeProgressSchema = new Schema<IChallengeProgress>(
|
||||
{
|
||||
Progress: Number,
|
||||
@ -1334,7 +1343,7 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
|
||||
ActiveAvatarImageType: { type: String, default: "/Lotus/Types/StoreItems/AvatarImages/AvatarImageDefault" },
|
||||
|
||||
// open location store like EidolonPlainsDiscoverable or OrbVallisCaveDiscoverable
|
||||
DiscoveredMarkers: [Schema.Types.Mixed],
|
||||
DiscoveredMarkers: [discoveredMarkerSchema],
|
||||
//Open location mission like "JobId" + "StageCompletions"
|
||||
CompletedJobs: [Schema.Types.Mixed],
|
||||
|
||||
|
@ -359,6 +359,17 @@ export const addMissionInventoryUpdates = async (
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "DiscoveredMarkers": {
|
||||
for (const clientMarker of value) {
|
||||
const dbMarker = inventory.DiscoveredMarkers.find(x => x.tag == clientMarker.tag);
|
||||
if (dbMarker) {
|
||||
dbMarker.discoveryState = clientMarker.discoveryState;
|
||||
} else {
|
||||
inventory.DiscoveredMarkers.push(clientMarker);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
// Equipment XP updates
|
||||
if (equipmentKeys.includes(key as TEquipmentKey)) {
|
||||
|
@ -16,7 +16,8 @@ import {
|
||||
IQuestKeyDatabase,
|
||||
ILoreFragmentScan,
|
||||
IUpgradeClient,
|
||||
ICollectibleEntry
|
||||
ICollectibleEntry,
|
||||
IDiscoveredMarker
|
||||
} from "./inventoryTypes/inventoryTypes";
|
||||
|
||||
export interface IAffiliationChange {
|
||||
@ -106,6 +107,7 @@ export type IMissionInventoryUpdateRequest = {
|
||||
NumExtraRewards: number;
|
||||
Count: number;
|
||||
}[];
|
||||
DiscoveredMarkers?: IDiscoveredMarker[];
|
||||
} & {
|
||||
[K in TEquipmentKey]?: IEquipmentClient[];
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user