rebase fix
This commit is contained in:
parent
89a47767fa
commit
d7dbf393bf
@ -60,7 +60,7 @@ import {
|
|||||||
ITraits,
|
ITraits,
|
||||||
IKubrowPetDetailsClient,
|
IKubrowPetDetailsClient,
|
||||||
IKubrowPetEggDatabase,
|
IKubrowPetEggDatabase,
|
||||||
IKubrowPetEggClient
|
IKubrowPetEggClient,
|
||||||
ICustomMarkers,
|
ICustomMarkers,
|
||||||
IMarkerInfo,
|
IMarkerInfo,
|
||||||
IMarker
|
IMarker
|
||||||
|
@ -1057,32 +1057,6 @@ export const updateSyndicate = (
|
|||||||
syndicateUpdate: IMissionInventoryUpdateRequest["AffiliationChanges"]
|
syndicateUpdate: IMissionInventoryUpdateRequest["AffiliationChanges"]
|
||||||
): void => {
|
): void => {
|
||||||
syndicateUpdate?.forEach(affiliation => {
|
syndicateUpdate?.forEach(affiliation => {
|
||||||
export const missionInventoryUpdate = async (data: IMissionInventoryUpdateRequest, accountId: string) => {
|
|
||||||
const {
|
|
||||||
RawUpgrades,
|
|
||||||
MiscItems,
|
|
||||||
RegularCredits,
|
|
||||||
ChallengeProgress,
|
|
||||||
FusionPoints,
|
|
||||||
Consumables,
|
|
||||||
Recipes,
|
|
||||||
Missions,
|
|
||||||
FusionTreasures,
|
|
||||||
AffiliationChanges,
|
|
||||||
EvolutionProgress,
|
|
||||||
LastRegionPlayed,
|
|
||||||
CustomMarkers
|
|
||||||
} = data;
|
|
||||||
const inventory = await getInventory(accountId);
|
|
||||||
|
|
||||||
// credits
|
|
||||||
inventory.RegularCredits += RegularCredits || 0;
|
|
||||||
|
|
||||||
// endo
|
|
||||||
inventory.FusionPoints += FusionPoints || 0;
|
|
||||||
|
|
||||||
// syndicate
|
|
||||||
AffiliationChanges?.forEach(affiliation => {
|
|
||||||
const syndicate = inventory.Affiliations.find(x => x.Tag == affiliation.Tag);
|
const syndicate = inventory.Affiliations.find(x => x.Tag == affiliation.Tag);
|
||||||
if (syndicate !== undefined) {
|
if (syndicate !== undefined) {
|
||||||
syndicate.Standing += affiliation.Standing;
|
syndicate.Standing += affiliation.Standing;
|
||||||
@ -1126,128 +1100,4 @@ export const addKeyChainItems = async (
|
|||||||
await addItems(inventory, nonStoreItems);
|
await addItems(inventory, nonStoreItems);
|
||||||
|
|
||||||
return inventoryChanges;
|
return inventoryChanges;
|
||||||
|
|
||||||
// Gear XP
|
|
||||||
equipmentKeys.forEach(key => addGearExpByCategory(inventory, data[key], key));
|
|
||||||
|
|
||||||
// Incarnon Challenges
|
|
||||||
if (EvolutionProgress) {
|
|
||||||
for (const evoProgress of EvolutionProgress) {
|
|
||||||
const entry = inventory.EvolutionProgress
|
|
||||||
? inventory.EvolutionProgress.find(entry => entry.ItemType == evoProgress.ItemType)
|
|
||||||
: undefined;
|
|
||||||
if (entry) {
|
|
||||||
entry.Progress = evoProgress.Progress;
|
|
||||||
entry.Rank = evoProgress.Rank;
|
|
||||||
} else {
|
|
||||||
inventory.EvolutionProgress ??= [];
|
|
||||||
inventory.EvolutionProgress.push(evoProgress);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// LastRegionPlayed
|
|
||||||
if (LastRegionPlayed) {
|
|
||||||
inventory.LastRegionPlayed = LastRegionPlayed;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CustomMarkers) {
|
|
||||||
CustomMarkers.forEach(markers => {
|
|
||||||
const map = inventory.CustomMarkers
|
|
||||||
? inventory.CustomMarkers.find(entry => entry.tag == markers.tag)
|
|
||||||
: undefined;
|
|
||||||
if (map) {
|
|
||||||
map.markerInfos = markers.markerInfos;
|
|
||||||
inventory.markModified("CustomMarkers");
|
|
||||||
} else {
|
|
||||||
inventory.CustomMarkers ??= [];
|
|
||||||
inventory.CustomMarkers.push(markers);
|
|
||||||
inventory.markModified("CustomMarkers");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// other
|
|
||||||
addMods(inventory, RawUpgrades);
|
|
||||||
addMiscItems(inventory, MiscItems);
|
|
||||||
addConsumables(inventory, Consumables);
|
|
||||||
addRecipes(inventory, Recipes);
|
|
||||||
addChallenges(inventory, ChallengeProgress);
|
|
||||||
addFusionTreasures(inventory, FusionTreasures);
|
|
||||||
if (Missions) {
|
|
||||||
addMissionComplete(inventory, Missions);
|
|
||||||
}
|
|
||||||
|
|
||||||
const changedInventory = await inventory.save();
|
|
||||||
return changedInventory.toJSON();
|
|
||||||
};
|
|
||||||
|
|
||||||
export const addBooster = async (ItemType: string, time: number, accountId: string): Promise<void> => {
|
|
||||||
const currentTime = Math.floor(Date.now() / 1000) - 129600; // Value is wrong without 129600. Figure out why, please. :)
|
|
||||||
|
|
||||||
const inventory = await getInventory(accountId);
|
|
||||||
const { Boosters } = inventory;
|
|
||||||
|
|
||||||
const itemIndex = Boosters.findIndex(booster => booster.ItemType === ItemType);
|
|
||||||
|
|
||||||
if (itemIndex !== -1) {
|
|
||||||
const existingBooster = Boosters[itemIndex];
|
|
||||||
existingBooster.ExpiryDate = Math.max(existingBooster.ExpiryDate, currentTime) + time;
|
|
||||||
inventory.markModified(`Boosters.${itemIndex}.ExpiryDate`);
|
|
||||||
} else {
|
|
||||||
Boosters.push({ ItemType, ExpiryDate: currentTime + time }) - 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
await inventory.save();
|
|
||||||
};
|
|
||||||
|
|
||||||
export const upgradeMod = async (artifactsData: IArtifactsRequest, accountId: string): Promise<string | undefined> => {
|
|
||||||
const { Upgrade, LevelDiff, Cost, FusionPointCost } = artifactsData;
|
|
||||||
try {
|
|
||||||
const inventory = await getInventory(accountId);
|
|
||||||
const { Upgrades, RawUpgrades } = inventory;
|
|
||||||
const { ItemType, UpgradeFingerprint, ItemId } = Upgrade;
|
|
||||||
|
|
||||||
const safeUpgradeFingerprint = UpgradeFingerprint || '{"lvl":0}';
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
||||||
const parsedUpgradeFingerprint = JSON.parse(safeUpgradeFingerprint);
|
|
||||||
parsedUpgradeFingerprint.lvl += LevelDiff;
|
|
||||||
const stringifiedUpgradeFingerprint = JSON.stringify(parsedUpgradeFingerprint);
|
|
||||||
|
|
||||||
let itemIndex = Upgrades.findIndex(upgrade => upgrade._id?.equals(ItemId!.$oid));
|
|
||||||
|
|
||||||
if (itemIndex !== -1) {
|
|
||||||
Upgrades[itemIndex].UpgradeFingerprint = stringifiedUpgradeFingerprint;
|
|
||||||
inventory.markModified(`Upgrades.${itemIndex}.UpgradeFingerprint`);
|
|
||||||
} else {
|
|
||||||
itemIndex =
|
|
||||||
Upgrades.push({
|
|
||||||
UpgradeFingerprint: stringifiedUpgradeFingerprint,
|
|
||||||
ItemType
|
|
||||||
}) - 1;
|
|
||||||
|
|
||||||
const rawItemIndex = RawUpgrades.findIndex(rawUpgrade => rawUpgrade.ItemType === ItemType);
|
|
||||||
RawUpgrades[rawItemIndex].ItemCount--;
|
|
||||||
if (RawUpgrades[rawItemIndex].ItemCount > 0) {
|
|
||||||
inventory.markModified(`RawUpgrades.${rawItemIndex}.UpgradeFingerprint`);
|
|
||||||
} else {
|
|
||||||
RawUpgrades.splice(rawItemIndex, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
inventory.RegularCredits -= Cost;
|
|
||||||
inventory.FusionPoints -= FusionPointCost;
|
|
||||||
|
|
||||||
const changedInventory = await inventory.save();
|
|
||||||
const itemId = changedInventory.toJSON().Upgrades[itemIndex]?.ItemId?.$oid;
|
|
||||||
|
|
||||||
if (!itemId) {
|
|
||||||
throw new Error("Item Id not found in upgradeMod");
|
|
||||||
}
|
|
||||||
|
|
||||||
return itemId;
|
|
||||||
} catch (error) {
|
|
||||||
console.error("Error in upgradeMod:", error);
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user