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