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