class TradeChecker { APP_ID = 440; MONTH = 2678400; WEEK = 604800; DAY = 86400; prices_map = {} constructor() { } setPrices(prices) { for (const pos in prices) { if (prices[pos]["money_price"] === 0){ continue } this.prices_map[prices[pos]['period']] = parseInt(prices[pos]["item_price"].split()[0]) } if (this.prices_map.length === 0) { console.log("cannot parse prices"); } } mannco_key(items) { const class_id = 101785959; const instance_id = 11040578; let count = 0; for (const item_id in items) { if (items[item_id].appid === this.APP_ID && parseInt(items[item_id].classid) === class_id && parseInt(items[item_id].instanceid) === instance_id) count++; } return count; } pure_metal(items) { const class_id = 2674; const instance_id = 11040547; let count = 0; for (const item_id in items) { if (items[item_id].appid === this.APP_ID && parseInt(items[item_id].classid) === class_id && parseInt(items[item_id].instanceid) === instance_id) count++; } return count; } Items2Seconds(items) { const key_count = this.mannco_key(items); const metal_count = this.pure_metal(items); let final_amount = 0; if(key_count >= this.prices_map["month"]) final_amount += key_count * this.MONTH if(metal_count >= this.prices_map["week"]) final_amount += (metal_count / self.prices_map["week"]) * this.WEEK; else if(metal_count >= this.prices_map["day"]) final_amount += (metal_count / this.prices_map["day"]) * this.DAY; return final_amount; } } module.exports = TradeChecker;