UNPKG

bdo-shopping-cart-package

Version:
67 lines 2.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProfitCalculator = void 0; var Action_1 = require("../optimizers/Action"); var ShoppingCartCore_1 = require("./ShoppingCartCore"); var ProfitCalculator = /** @class */ (function () { function ProfitCalculator() { } /** * * @param item * @param shoppingCartData */ ProfitCalculator.calculateProfitValuesForItem = function (item, shoppingCartData) { if (shoppingCartData === void 0) { shoppingCartData = null; } if (shoppingCartData == null) { for (var _i = 0, _a = Object.values(item.shoppingCartData); _i < _a.length; _i++) { var val = _a[_i]; if (item.activeRecipeId != "" && val.action == Action_1.ActionTaken.Craft) { shoppingCartData = val; break; } else if (item.activeRecipeId == "" && val.action == Action_1.ActionTaken.Buy) { shoppingCartData = val; break; } } } if (shoppingCartData == null) return { profit: 0, profitPerSecond: 0 }; var _b = shoppingCartData, individualPrice = _b.individualPrice, cumulativeTimeSpent = _b.cumulativeTimeSpent; var marketPrice = ShoppingCartCore_1.getMarketPriceForItem(item); return { profit: this.calculateProfit(marketPrice, individualPrice), profitPerSecond: this.calculateProfitPerSecond(marketPrice, individualPrice, cumulativeTimeSpent), }; }; /** * * @param marketPrice * @param individualPrice */ ProfitCalculator.calculateProfit = function (marketPrice, individualPrice) { var sellingPrice = marketPrice * this.TAX_PERCENTAGE; if (this.valuePackEnabled) sellingPrice = 1.3 * sellingPrice; // console.log('Total Profit | Selling Price:', sellingPrice, 'Individual Price:', individualPrice) var profit = sellingPrice - individualPrice; return profit; }; /** * * @param marketPrice * @param individualPrice * @param cumulativeTimeSpent */ ProfitCalculator.calculateProfitPerSecond = function (marketPrice, individualPrice, cumulativeTimeSpent) { var profit = this.calculateProfit(marketPrice, individualPrice); var profitPerSecond = profit / cumulativeTimeSpent; return profitPerSecond; }; ProfitCalculator.valuePackEnabled = false; ProfitCalculator.TAX_PERCENTAGE = 0.65; return ProfitCalculator; }()); exports.ProfitCalculator = ProfitCalculator; //# sourceMappingURL=ShoppingCartProfitCalculator.js.map