Mission rewards fix #54
@ -22,7 +22,7 @@ import { IMissionInventoryUpdateRequest } from "@/src/types/requestTypes";
 | 
				
			|||||||
- [ ]  CurrentLoadOutIds
 | 
					- [ ]  CurrentLoadOutIds
 | 
				
			||||||
- [ ]  AliveTime
 | 
					- [ ]  AliveTime
 | 
				
			||||||
- [ ]  MissionTime
 | 
					- [ ]  MissionTime
 | 
				
			||||||
- [ ]  Missions
 | 
					- [x]  Missions
 | 
				
			||||||
- [ ]  CompletedAlerts
 | 
					- [ ]  CompletedAlerts
 | 
				
			||||||
- [ ]  LastRegionPlayed
 | 
					- [ ]  LastRegionPlayed
 | 
				
			||||||
- [ ]  GameModeId
 | 
					- [ ]  GameModeId
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ import {
 | 
				
			|||||||
    IFlavourItem,
 | 
					    IFlavourItem,
 | 
				
			||||||
    IInventoryDatabaseDocument,
 | 
					    IInventoryDatabaseDocument,
 | 
				
			||||||
    IMiscItem,
 | 
					    IMiscItem,
 | 
				
			||||||
 | 
					    IMission,
 | 
				
			||||||
    IRawUpgrade
 | 
					    IRawUpgrade
 | 
				
			||||||
} from "@/src/types/inventoryTypes/inventoryTypes";
 | 
					} from "@/src/types/inventoryTypes/inventoryTypes";
 | 
				
			||||||
import { IGenericUpdate } from "../types/genericUpdate";
 | 
					import { IGenericUpdate } from "../types/genericUpdate";
 | 
				
			||||||
@ -228,11 +229,24 @@ const addChallenges = (inventory: IInventoryDatabaseDocument, itemsArray: IChall
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const addMissionComplate = (inventory: IInventoryDatabaseDocument, { Tag, Completes }: IMission) => {
 | 
				
			||||||
 | 
					    const { Missions } = inventory;
 | 
				
			||||||
 | 
					    const itemIndex = Missions.findIndex(item => item.Tag === Tag);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (itemIndex !== -1) {
 | 
				
			||||||
 | 
					        Missions[itemIndex].Completes += Completes;
 | 
				
			||||||
 | 
					        inventory.markModified(`Missions.${itemIndex}.Completes`);
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        Missions.push({ Tag, Completes });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const gearKeys = ["Suits", "Pistols", "LongGuns", "Melee"] as const;
 | 
					const gearKeys = ["Suits", "Pistols", "LongGuns", "Melee"] as const;
 | 
				
			||||||
type GearKeysType = (typeof gearKeys)[number];
 | 
					type GearKeysType = (typeof gearKeys)[number];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const missionInventoryUpdate = async (data: IMissionInventoryUpdateRequest, accountId: string) => {
 | 
					export const missionInventoryUpdate = async (data: IMissionInventoryUpdateRequest, accountId: string) => {
 | 
				
			||||||
    const { RawUpgrades, MiscItems, RegularCredits, ChallengeProgress, FusionPoints, Consumables, Recipes } = data;
 | 
					    const { RawUpgrades, MiscItems, RegularCredits, ChallengeProgress, FusionPoints, Consumables, Recipes, Missions } =
 | 
				
			||||||
 | 
					        data;
 | 
				
			||||||
    const inventory = await getInventory(accountId);
 | 
					    const inventory = await getInventory(accountId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // credits
 | 
					    // credits
 | 
				
			||||||
@ -250,6 +264,7 @@ export const missionInventoryUpdate = async (data: IMissionInventoryUpdateReques
 | 
				
			|||||||
    addConsumables(inventory, Consumables);
 | 
					    addConsumables(inventory, Consumables);
 | 
				
			||||||
    addRecipes(inventory, Recipes);
 | 
					    addRecipes(inventory, Recipes);
 | 
				
			||||||
    addChallenges(inventory, ChallengeProgress);
 | 
					    addChallenges(inventory, ChallengeProgress);
 | 
				
			||||||
 | 
					    addMissionComplate(inventory, Missions!);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const changedInventory = await inventory.save();
 | 
					    const changedInventory = await inventory.save();
 | 
				
			||||||
    return changedInventory.toJSON();
 | 
					    return changedInventory.toJSON();
 | 
				
			||||||
 | 
				
			|||||||
@ -45,19 +45,19 @@ const getRewards = ({
 | 
				
			|||||||
        drops.push(...guaranteedDrops);
 | 
					        drops.push(...guaranteedDrops);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const testDrops = [
 | 
					    // const testDrops = [
 | 
				
			||||||
        { chance: 7.69, name: "Lith W3 Relic", rotation: "B" },
 | 
					    //     { chance: 7.69, name: "Lith W3 Relic", rotation: "B" },
 | 
				
			||||||
        { chance: 7.69, name: "Lith W3 Relic", rotation: "B" },
 | 
					    //     { chance: 7.69, name: "Lith W3 Relic", rotation: "B" },
 | 
				
			||||||
        { chance: 10.82, name: "2X Orokin Cell", rotation: "C" },
 | 
					    //     { chance: 10.82, name: "2X Orokin Cell", rotation: "C" },
 | 
				
			||||||
        { chance: 10.82, name: "Arrow Mutation", rotation: "C" },
 | 
					    //     { chance: 10.82, name: "Arrow Mutation", rotation: "C" },
 | 
				
			||||||
        { chance: 10.82, name: "200 Endo", rotation: "C" },
 | 
					    //     { chance: 10.82, name: "200 Endo", rotation: "C" },
 | 
				
			||||||
        { chance: 10.82, name: "200 Endo", rotation: "C" },
 | 
					    //     { chance: 10.82, name: "200 Endo", rotation: "C" },
 | 
				
			||||||
        { chance: 10.82, name: "2,000,000 Credits Cache", rotation: "C" },
 | 
					    //     { chance: 10.82, name: "2,000,000 Credits Cache", rotation: "C" },
 | 
				
			||||||
        { chance: 7.69, name: "Health Restore (Large)", rotation: "C" },
 | 
					    //     { chance: 7.69, name: "Health Restore (Large)", rotation: "C" },
 | 
				
			||||||
        { chance: 7.69, name: "Vapor Specter Blueprint", rotation: "C" }
 | 
					    //     { chance: 7.69, name: "Vapor Specter Blueprint", rotation: "C" }
 | 
				
			||||||
    ];
 | 
					    // ];
 | 
				
			||||||
    console.log("Mission rewards:", testDrops);
 | 
					    // console.log("Mission rewards:", testDrops);
 | 
				
			||||||
    return formatRewardsToInventoryType(testDrops);
 | 
					    // return formatRewardsToInventoryType(testDrops);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    console.log("Mission rewards:", drops);
 | 
					    console.log("Mission rewards:", drops);
 | 
				
			||||||
    return formatRewardsToInventoryType(drops);
 | 
					    return formatRewardsToInventoryType(drops);
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,7 @@ import {
 | 
				
			|||||||
    IConsumable,
 | 
					    IConsumable,
 | 
				
			||||||
    ICrewShipSalvagedWeaponSkin,
 | 
					    ICrewShipSalvagedWeaponSkin,
 | 
				
			||||||
    IMiscItem,
 | 
					    IMiscItem,
 | 
				
			||||||
 | 
					    IMission,
 | 
				
			||||||
    IRawUpgrade
 | 
					    IRawUpgrade
 | 
				
			||||||
} from "./inventoryTypes/inventoryTypes";
 | 
					} from "./inventoryTypes/inventoryTypes";
 | 
				
			||||||
import { IWeaponDatabase } from "./inventoryTypes/weaponTypes";
 | 
					import { IWeaponDatabase } from "./inventoryTypes/weaponTypes";
 | 
				
			||||||
@ -31,6 +32,7 @@ interface IMissionInventoryUpdateRequest {
 | 
				
			|||||||
    ChallengeProgress?: IChallengeProgress[];
 | 
					    ChallengeProgress?: IChallengeProgress[];
 | 
				
			||||||
    RewardInfo?: IMissionInventoryUpdateRequestRewardInfo;
 | 
					    RewardInfo?: IMissionInventoryUpdateRequestRewardInfo;
 | 
				
			||||||
    FusionPoints?: number;
 | 
					    FusionPoints?: number;
 | 
				
			||||||
 | 
					    Missions?: IMission;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
interface IMissionInventoryUpdateRequestRewardInfo {
 | 
					interface IMissionInventoryUpdateRequestRewardInfo {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user