Factorio: fix random rocket recipe

This commit is contained in:
Fabian Dill 2021-09-22 08:08:29 +02:00
parent 104df1915d
commit 3da028415f
1 changed files with 23 additions and 20 deletions

View File

@ -189,11 +189,14 @@ class Factorio(World):
max_energy = remaining_energy * 0.75
min_energy = (remaining_energy - max_energy) / remaining_num_ingredients
ingredient = pool.pop()
if ingredient in ['stone', 'iron-ore', 'copper-ore', 'coal']:
continue
if ingredient in all_product_sources:
ingredient_recipe = min(all_product_sources[ingredient], key=lambda recipe: recipe.rel_cost)
ingredient_raw = sum((count for ingredient, count in ingredient_recipe.base_cost.items()))
ingredient_energy = ingredient_recipe.total_energy
else:
# assume simple ore TODO: remove if tree when mining data is harvested from Factorio
ingredient_raw = 1
ingredient_energy = 2
min_num_raw = min_raw / ingredient_raw
max_num_raw = max_raw / ingredient_raw
min_num_energy = min_energy / ingredient_energy