missionInventoryUpdate - dynamic gear update calls

This commit is contained in:
holmityd 2023-08-30 23:50:52 +04:00
parent 4c8536a339
commit bfdc6bfaff
2 changed files with 11 additions and 7 deletions

View File

@ -23,7 +23,7 @@ import { MissionInventoryUpdate } from "@/src/types/missionInventoryUpdateType";
- [ ] LastRegionPlayed - [ ] LastRegionPlayed
- [ ] GameModeId - [ ] GameModeId
- [ ] hosts - [ ] hosts
- [+] ChallengeProgress - [x] ChallengeProgress
- [ ] SeasonChallengeHistory - [ ] SeasonChallengeHistory
- [ ] PS - [ ] PS
- [ ] ActiveDojoColorResearch - [ ] ActiveDojoColorResearch

View File

@ -164,17 +164,21 @@ const addChallenges = (inventory: IInventoryDatabaseDocument, itemsArray: Challe
}); });
}; };
const gearKeys = ["Suits", "Pistols", "LongGuns", "Melee"] as const;
type GearKeysType = (typeof gearKeys)[number];
export const missionInventoryUpdate = async (data: MissionInventoryUpdate, accountId: string): Promise<void> => { export const missionInventoryUpdate = async (data: MissionInventoryUpdate, accountId: string): Promise<void> => {
const { RawUpgrades, MiscItems, Suits, Pistols, LongGuns, Melee, RegularCredits, ChallengeProgress } = data; const { RawUpgrades, MiscItems, RegularCredits, ChallengeProgress } = data;
const inventory = await getInventory(accountId); const inventory = await getInventory(accountId);
// TODO - multipliers logic // TODO - multipliers logic
// credits
inventory.RegularCredits += RegularCredits || 0; inventory.RegularCredits += RegularCredits || 0;
addGearExpByCategory(inventory, Pistols, "Pistols");
addGearExpByCategory(inventory, LongGuns, "LongGuns"); // gear exp
addGearExpByCategory(inventory, Melee, "Melee"); gearKeys.forEach((key: GearKeysType) => addGearExpByCategory(inventory, data[key], key));
addGearExpByCategory(inventory, Suits, "Suits");
// other
addItemsByCategory(inventory, RawUpgrades, "RawUpgrades"); // TODO - check mods fusion level addItemsByCategory(inventory, RawUpgrades, "RawUpgrades"); // TODO - check mods fusion level
addItemsByCategory(inventory, MiscItems, "MiscItems"); addItemsByCategory(inventory, MiscItems, "MiscItems");
addChallenges(inventory, ChallengeProgress); addChallenges(inventory, ChallengeProgress);