XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

feat: handle DiscoveredMarkers in missionInventoryUpdate (#1339)

Closes #679 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1339

36c7b6f8
Sainan <sainan@calamity.inc>
提交于

代码差异

3 个文件 +25 -3
Modified src/models/inventoryModels/inventoryModel.ts +11 -2
@@ -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
Modified src/services/missionInventoryUpdateService.ts +11 -0
@@ -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)) {
Modified src/types/requestTypes.ts +3 -1
@@ -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 };