bdo-shopping-cart-package
Version:
For use with my bdo-crafting-profit projects
67 lines • 2.79 kB
JavaScript
;
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