mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Factorio: load fluids from exported data
This commit is contained in:
@@ -8,7 +8,7 @@ from .Technologies import base_tech_table, recipe_sources, base_technology_table
|
||||
all_ingredient_names, all_product_sources, required_technologies, get_rocket_requirements, rocket_recipes, \
|
||||
progressive_technology_table, common_tech_table, tech_to_progressive_lookup, progressive_tech_table, \
|
||||
get_science_pack_pools, Recipe, recipes, technology_table, tech_table, factorio_base_id, useless_technologies, \
|
||||
liquids, stacking_items
|
||||
fluids, stacking_items
|
||||
from .Shapes import get_shapes
|
||||
from .Mod import generate_mod
|
||||
from .Options import factorio_options, MaxSciencePack, Silo, Satellite, TechTreeInformation, Goal
|
||||
@@ -215,8 +215,8 @@ class Factorio(World):
|
||||
liquids_used = 0
|
||||
for _ in original.ingredients:
|
||||
new_ingredient = pool.pop()
|
||||
if new_ingredient in liquids:
|
||||
while liquids_used == allow_liquids and new_ingredient in liquids:
|
||||
if new_ingredient in fluids:
|
||||
while liquids_used == allow_liquids and new_ingredient in fluids:
|
||||
# liquids already at max for current recipe.
|
||||
# Return the liquid to the pool and get a new ingredient.
|
||||
pool.append(new_ingredient)
|
||||
@@ -246,7 +246,7 @@ class Factorio(World):
|
||||
# fill all but one slot with random ingredients, last with a good match
|
||||
while remaining_num_ingredients > 0 and pool:
|
||||
ingredient = pool.pop()
|
||||
if liquids_used == allow_liquids and ingredient in liquids:
|
||||
if liquids_used == allow_liquids and ingredient in fluids:
|
||||
continue # can't use this ingredient as we already have maximum liquid in our recipe.
|
||||
ingredient_raw = 0
|
||||
if ingredient in all_product_sources:
|
||||
@@ -282,14 +282,14 @@ class Factorio(World):
|
||||
remaining_raw -= num * ingredient_raw
|
||||
remaining_energy -= num * ingredient_energy
|
||||
remaining_num_ingredients -= 1
|
||||
if ingredient in liquids:
|
||||
if ingredient in fluids:
|
||||
liquids_used += 1
|
||||
|
||||
# fill failed slots with whatever we got
|
||||
pool = fallback_pool
|
||||
while remaining_num_ingredients > 0 and pool:
|
||||
ingredient = pool.pop()
|
||||
if liquids_used == allow_liquids and ingredient in liquids:
|
||||
if liquids_used == allow_liquids and ingredient in fluids:
|
||||
continue # can't use this ingredient as we already have maximum liquid in our recipe.
|
||||
|
||||
ingredient_recipe = recipes.get(ingredient, None)
|
||||
@@ -310,7 +310,7 @@ class Factorio(World):
|
||||
remaining_raw -= num * ingredient_raw
|
||||
remaining_energy -= num * ingredient_energy
|
||||
remaining_num_ingredients -= 1
|
||||
if ingredient in liquids:
|
||||
if ingredient in fluids:
|
||||
liquids_used += 1
|
||||
|
||||
if remaining_num_ingredients > 1:
|
||||
@@ -331,7 +331,7 @@ class Factorio(World):
|
||||
science_pack_pools = get_science_pack_pools()
|
||||
valid_pool = sorted(science_pack_pools[self.world.max_science_pack[self.player].get_max_pack()])
|
||||
self.world.random.shuffle(valid_pool)
|
||||
while any([valid_pool[x] in liquids for x in range(3)]):
|
||||
while any([valid_pool[x] in fluids for x in range(3)]):
|
||||
self.world.random.shuffle(valid_pool)
|
||||
self.custom_recipes = {"rocket-part": Recipe("rocket-part", original_rocket_part.category,
|
||||
{valid_pool[x]: 10 for x in range(3)},
|
||||
|
Reference in New Issue
Block a user