private async Task DoStuffToInvention(InventionJob job) { var decryptor = job.Decryptors.OrderByDescending(p => p.ProfitPerInvention).First(); if (decryptor.Price < 50000) return; var indyJob = new Domains.IndustryJob(await _staticService.GetBlueprintInfoAsync(job.ParentId), new Blueprint(job.ParentId, 0, 0, 1)); var runs = Math.Floor((double)60 * 60 * 24 / await indyJob.GetInventionTime() / 2); runs = runs > 0 ? runs : 1; _inventions.Add(new Invention(job.ParentId, job.ParentName, job.Name, decryptor.TypeName, decryptor.ProfitPerInvention, (int)runs)); if (decryptor.TypeId > 0) _materials.Add(new Material(decryptor.TypeId, decryptor.TypeName, (int)runs)); foreach (var p in indyJob.BlueprintInfo.Invention.Materials) _materials.Add(new Material(p.TypeId, p.TypeName, (int)(p.Quantity * runs))); }