add toStoreItem & fromStoreItem
This commit is contained in:
parent
6b35408144
commit
6bf365ddc5
@ -1,6 +1,7 @@
|
|||||||
import { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers";
|
import { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers";
|
||||||
import { config } from "@/src/services/configService";
|
import { config } from "@/src/services/configService";
|
||||||
import { addMiscItems, getInventory } from "@/src/services/inventoryService";
|
import { addMiscItems, getInventory } from "@/src/services/inventoryService";
|
||||||
|
import { fromStoreItem } from "@/src/services/itemDataService";
|
||||||
import { getAccountIdForRequest } from "@/src/services/loginService";
|
import { getAccountIdForRequest } from "@/src/services/loginService";
|
||||||
import { getRandomInt, getRandomWeightedRewardUc } from "@/src/services/rngService";
|
import { getRandomInt, getRandomWeightedRewardUc } from "@/src/services/rngService";
|
||||||
import { IMongoDate, IOid } from "@/src/types/commonTypes";
|
import { IMongoDate, IOid } from "@/src/types/commonTypes";
|
||||||
@ -58,7 +59,7 @@ export const dronesController: RequestHandler = async (req, res) => {
|
|||||||
: 0;
|
: 0;
|
||||||
const resource = getRandomWeightedRewardUc(system.resources, droneMeta.probabilities)!;
|
const resource = getRandomWeightedRewardUc(system.resources, droneMeta.probabilities)!;
|
||||||
//logger.debug(`drone rolled`, resource);
|
//logger.debug(`drone rolled`, resource);
|
||||||
drone.ResourceType = "/Lotus/" + resource.StoreItem.substring(18);
|
drone.ResourceType = fromStoreItem(resource.StoreItem);
|
||||||
const resourceMeta = ExportResources[drone.ResourceType];
|
const resourceMeta = ExportResources[drone.ResourceType];
|
||||||
if (resourceMeta.pickupQuantity) {
|
if (resourceMeta.pickupQuantity) {
|
||||||
const pickupsToCollect = droneMeta.binCapacity * droneMeta.capacityMultipliers[resource.Rarity];
|
const pickupsToCollect = droneMeta.binCapacity * droneMeta.capacityMultipliers[resource.Rarity];
|
||||||
|
@ -35,7 +35,7 @@ import {
|
|||||||
IUpdateChallengeProgressRequest
|
IUpdateChallengeProgressRequest
|
||||||
} from "../types/requestTypes";
|
} from "../types/requestTypes";
|
||||||
import { logger } from "@/src/utils/logger";
|
import { logger } from "@/src/utils/logger";
|
||||||
import { convertInboxMessage, getExalted, getKeyChainItems } from "@/src/services/itemDataService";
|
import { convertInboxMessage, fromStoreItem, getExalted, getKeyChainItems } from "@/src/services/itemDataService";
|
||||||
import {
|
import {
|
||||||
EquipmentFeatures,
|
EquipmentFeatures,
|
||||||
IEquipmentClient,
|
IEquipmentClient,
|
||||||
@ -1260,7 +1260,7 @@ export const addKeyChainItems = async (
|
|||||||
`adding key chain items ${keyChainItems.join()} for ${keyChainData.KeyChain} at stage ${keyChainData.ChainStage}`
|
`adding key chain items ${keyChainItems.join()} for ${keyChainData.KeyChain} at stage ${keyChainData.ChainStage}`
|
||||||
);
|
);
|
||||||
|
|
||||||
const nonStoreItems = keyChainItems.map(item => item.replace("StoreItems/", ""));
|
const nonStoreItems = keyChainItems.map(item => fromStoreItem(item));
|
||||||
|
|
||||||
//TODO: inventoryChanges is not typed correctly
|
//TODO: inventoryChanges is not typed correctly
|
||||||
const inventoryChanges = {};
|
const inventoryChanges = {};
|
||||||
|
@ -244,3 +244,11 @@ export const convertInboxMessage = (message: IInboxMessage): IMessage => {
|
|||||||
r: false
|
r: false
|
||||||
} satisfies IMessage;
|
} satisfies IMessage;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const toStoreItem = (type: string): string => {
|
||||||
|
return "/Lotus/StoreItems/" + type.substring("/Lotus/".length);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const fromStoreItem = (type: string): string => {
|
||||||
|
return "/Lotus/" + type.substring("/Lotus/StoreItems/".length);
|
||||||
|
};
|
||||||
|
@ -27,6 +27,7 @@ import {
|
|||||||
} from "warframe-public-export-plus";
|
} from "warframe-public-export-plus";
|
||||||
import { config } from "./configService";
|
import { config } from "./configService";
|
||||||
import { TInventoryDatabaseDocument } from "../models/inventoryModels/inventoryModel";
|
import { TInventoryDatabaseDocument } from "../models/inventoryModels/inventoryModel";
|
||||||
|
import { fromStoreItem, toStoreItem } from "./itemDataService";
|
||||||
|
|
||||||
export const getStoreItemCategory = (storeItem: string): string => {
|
export const getStoreItemCategory = (storeItem: string): string => {
|
||||||
const storeItemString = getSubstringFromKeyword(storeItem, "StoreItems/");
|
const storeItemString = getSubstringFromKeyword(storeItem, "StoreItems/");
|
||||||
@ -240,7 +241,7 @@ export const handleStoreItemAcquisition = async (
|
|||||||
await handleBundleAcqusition(storeItemName, inventory, quantity, purchaseResponse.InventoryChanges);
|
await handleBundleAcqusition(storeItemName, inventory, quantity, purchaseResponse.InventoryChanges);
|
||||||
} else {
|
} else {
|
||||||
const storeCategory = getStoreItemCategory(storeItemName);
|
const storeCategory = getStoreItemCategory(storeItemName);
|
||||||
const internalName = storeItemName.replace("/StoreItems", "");
|
const internalName = fromStoreItem(storeItemName);
|
||||||
logger.debug(`store category ${storeCategory}`);
|
logger.debug(`store category ${storeCategory}`);
|
||||||
if (!ignorePurchaseQuantity) {
|
if (!ignorePurchaseQuantity) {
|
||||||
if (internalName in ExportGear) {
|
if (internalName in ExportGear) {
|
||||||
@ -328,8 +329,7 @@ const handleBoosterPackPurchase = async (
|
|||||||
const result = getRandomWeightedRewardUc(pack.components, weights);
|
const result = getRandomWeightedRewardUc(pack.components, weights);
|
||||||
if (result) {
|
if (result) {
|
||||||
logger.debug(`booster pack rolled`, result);
|
logger.debug(`booster pack rolled`, result);
|
||||||
purchaseResponse.BoosterPackItems +=
|
purchaseResponse.BoosterPackItems += toStoreItem(result.Item) + ',{"lvl":0};';
|
||||||
result.Item.split("/Lotus/").join("/Lotus/StoreItems/") + ',{"lvl":0};';
|
|
||||||
combineInventoryChanges(
|
combineInventoryChanges(
|
||||||
purchaseResponse.InventoryChanges,
|
purchaseResponse.InventoryChanges,
|
||||||
(await addItem(inventory, result.Item, 1)).InventoryChanges
|
(await addItem(inventory, result.Item, 1)).InventoryChanges
|
||||||
|
@ -3,7 +3,7 @@ import { isEmptyObject } from "@/src/helpers/general";
|
|||||||
import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel";
|
import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel";
|
||||||
import { createMessage } from "@/src/services/inboxService";
|
import { createMessage } from "@/src/services/inboxService";
|
||||||
import { addItem, addKeyChainItems } from "@/src/services/inventoryService";
|
import { addItem, addKeyChainItems } from "@/src/services/inventoryService";
|
||||||
import { getKeyChainMessage, getLevelKeyRewards } from "@/src/services/itemDataService";
|
import { fromStoreItem, getKeyChainMessage, getLevelKeyRewards } from "@/src/services/itemDataService";
|
||||||
import {
|
import {
|
||||||
IInventoryDatabase,
|
IInventoryDatabase,
|
||||||
IQuestKeyClient,
|
IQuestKeyClient,
|
||||||
@ -157,7 +157,7 @@ export const completeQuest = async (inventory: TInventoryDatabaseDocument, quest
|
|||||||
addFixedLevelRewards(fixedLevelRewards.levelKeyRewards, inventory, missionRewards);
|
addFixedLevelRewards(fixedLevelRewards.levelKeyRewards, inventory, missionRewards);
|
||||||
|
|
||||||
for (const reward of missionRewards) {
|
for (const reward of missionRewards) {
|
||||||
await addItem(inventory, reward.StoreItem.replace("StoreItems/", ""), reward.ItemCount);
|
await addItem(inventory, fromStoreItem(reward.StoreItem), reward.ItemCount);
|
||||||
}
|
}
|
||||||
} else if (fixedLevelRewards.levelKeyRewards2) {
|
} else if (fixedLevelRewards.levelKeyRewards2) {
|
||||||
for (const reward of fixedLevelRewards.levelKeyRewards2) {
|
for (const reward of fixedLevelRewards.levelKeyRewards2) {
|
||||||
@ -166,9 +166,9 @@ export const completeQuest = async (inventory: TInventoryDatabaseDocument, quest
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (reward.rewardType == "RT_RESOURCE") {
|
if (reward.rewardType == "RT_RESOURCE") {
|
||||||
await addItem(inventory, reward.itemType.replace("StoreItems/", ""), reward.amount);
|
await addItem(inventory, fromStoreItem(reward.itemType), reward.amount);
|
||||||
} else {
|
} else {
|
||||||
await addItem(inventory, reward.itemType.replace("StoreItems/", ""));
|
await addItem(inventory, fromStoreItem(reward.itemType));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user