Exemple #1
0
        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)));
        }