SpaceNinjaServer/src/services/tradeService.ts

73 lines
2.5 KiB
TypeScript
Raw Normal View History

2023-06-05 03:13:46 +08:00
import { Item, Misc, Skin, Warframe, Weapon } from "warframe-items";
import { InventoryChanges, StoreItem } from "../types/commonTypes";
import { generateOid, parseString } from "../helpers/general";
const PurchaseItem = (item: Item, quantity: number, usePremium: boolean, price: number): InventoryChanges => {
// {"InventoryChanges":{"WishlistChanges":["/Lotus/Types/StoreItems/SuitCustomizations/ColourPickerItem"],"FlavourItems":[{"ItemType":"/Lotus/Types/StoreItems/SuitCustomizations/ColourPickerItem"}],"PremiumCredits":-75}}
const newInventoryChanges: InventoryChanges = {};
if ((item as Warframe).productCategory == "Suits") {
const newSuits: StoreItem[] = [
{
ItemType: item.uniqueName,
Cofigs: [],
ItemId: generateOid()
}
];
newInventoryChanges.Suits = newSuits;
2023-06-05 03:22:30 +08:00
} else if ((item as Weapon).productCategory == "LongGuns") {
2023-06-05 03:13:46 +08:00
const newLongGuns: StoreItem[] = [
{
ItemType: item.uniqueName,
Cofigs: [],
ItemId: generateOid()
}
];
newInventoryChanges.LongGuns = newLongGuns;
2023-06-05 03:22:30 +08:00
} else if ((item as Weapon).productCategory == "Pistols") {
2023-06-05 03:13:46 +08:00
const newPistols: StoreItem[] = [
{
ItemType: item.uniqueName,
Cofigs: [],
ItemId: generateOid()
}
];
newInventoryChanges.Pistols = newPistols;
2023-06-05 03:22:30 +08:00
} else if ((item as Weapon).productCategory == "Melee") {
2023-06-05 03:13:46 +08:00
const newMelee: StoreItem[] = [
{
ItemType: item.uniqueName,
Cofigs: [],
ItemId: generateOid()
}
];
newInventoryChanges.Melee = newMelee;
2023-06-05 03:22:30 +08:00
} else if (item as Skin) {
2023-06-05 03:13:46 +08:00
newInventoryChanges.WishlistChanges = [];
newInventoryChanges.WishlistChanges.push(parseString(item.uniqueName));
const newFlavourItem: StoreItem[] = [
{
ItemType: item.uniqueName
}
];
newInventoryChanges.FlavourItems = newFlavourItem;
2023-06-05 03:26:36 +08:00
} else if (item as Misc) {
const newMisc: StoreItem[] = [
{
ItemType: item.uniqueName,
ItemCount: quantity
}
];
newInventoryChanges.MiscItems = newMisc;
2023-06-05 03:13:46 +08:00
}
if (usePremium) {
newInventoryChanges.PremiumCredits = -price;
}
if (!usePremium) {
newInventoryChanges.RegularCredits = -price;
}
return newInventoryChanges;
};
export { PurchaseItem };