返回提交历史
Modified
src/models/inventoryModels/inventoryModel.ts
+11
-2
Modified
src/services/missionInventoryUpdateService.ts
+11
-0
Modified
src/types/requestTypes.ts
+3
-1
XFEstudio/XFESpaceNinjaServer
feat: handle DiscoveredMarkers in missionInventoryUpdate (#1339)
Closes #679 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1339
36c7b6f8
代码差异
3 个文件
+25
-3
@@ -81,7 +81,8 @@ import {
81
81
IVendorPurchaseHistoryEntryClient,
82
82
INemesisDatabase,
83
83
INemesisClient,
84
IInfNode
84
IInfNode,
85
IDiscoveredMarker
85
86
} from "../../types/inventoryTypes/inventoryTypes";
86
87
import { IOid } from "../../types/commonTypes";
87
88
import {
@@ -377,6 +378,14 @@ droneSchema.set("toJSON", {
377
378
}
378
379
});
379
380
381
const discoveredMarkerSchema = new Schema<IDiscoveredMarker>(
382
{
383
tag: String,
384
discoveryState: [Number]
385
},
386
{ _id: false }
387
);
388
380
389
const challengeProgressSchema = new Schema<IChallengeProgress>(
381
390
{
382
391
Progress: Number,
@@ -1334,7 +1343,7 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
1334
1343
ActiveAvatarImageType: { type: String, default: "/Lotus/Types/StoreItems/AvatarImages/AvatarImageDefault" },
1335
1344
1336
1345
// open location store like EidolonPlainsDiscoverable or OrbVallisCaveDiscoverable
1337
DiscoveredMarkers: [Schema.Types.Mixed],
1346
DiscoveredMarkers: [discoveredMarkerSchema],
1338
1347
//Open location mission like "JobId" + "StageCompletions"
1339
1348
CompletedJobs: [Schema.Types.Mixed],
1340
1349
@@ -359,6 +359,17 @@ export const addMissionInventoryUpdates = async (
359
359
}
360
360
break;
361
361
}
362
case "DiscoveredMarkers": {
363
for (const clientMarker of value) {
364
const dbMarker = inventory.DiscoveredMarkers.find(x => x.tag == clientMarker.tag);
365
if (dbMarker) {
366
dbMarker.discoveryState = clientMarker.discoveryState;
367
} else {
368
inventory.DiscoveredMarkers.push(clientMarker);
369
}
370
}
371
break;
372
}
362
373
default:
363
374
// Equipment XP updates
364
375
if (equipmentKeys.includes(key as TEquipmentKey)) {
@@ -16,7 +16,8 @@ import {
16
16
IQuestKeyDatabase,
17
17
ILoreFragmentScan,
18
18
IUpgradeClient,
19
ICollectibleEntry
19
ICollectibleEntry,
20
IDiscoveredMarker
20
21
} from "./inventoryTypes/inventoryTypes";
21
22
22
23
export interface IAffiliationChange {
@@ -106,6 +107,7 @@ export type IMissionInventoryUpdateRequest = {
106
107
NumExtraRewards: number;
107
108
Count: number;
108
109
}[];
110
DiscoveredMarkers?: IDiscoveredMarker[];
109
111
} & {
110
112
[K in TEquipmentKey]?: IEquipmentClient[];
111
113
};