rebase fix
Some checks failed
Build / build (20) (pull_request) Failing after 19s
Build / build (22) (pull_request) Failing after 17s
Build / build (18) (pull_request) Failing after 3s

This commit is contained in:
AMelonInsideLemon 2025-02-01 15:06:11 +01:00 committed by Sainan
parent 89a47767fa
commit d7dbf393bf
2 changed files with 1 additions and 151 deletions

View File

@ -60,7 +60,7 @@ import {
ITraits, ITraits,
IKubrowPetDetailsClient, IKubrowPetDetailsClient,
IKubrowPetEggDatabase, IKubrowPetEggDatabase,
IKubrowPetEggClient IKubrowPetEggClient,
ICustomMarkers, ICustomMarkers,
IMarkerInfo, IMarkerInfo,
IMarker IMarker

View File

@ -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;
}
}; };