Factorio: add rocket recipe scaling by max science
This commit is contained in:
		
							parent
							
								
									5cb2689609
								
							
						
					
					
						commit
						298f2f652a
					
				|  | @ -1,6 +1,8 @@ | ||||||
| -- this file gets written automatically by the Archipelago Randomizer and is in its raw form a Jinja2 Template | -- this file gets written automatically by the Archipelago Randomizer and is in its raw form a Jinja2 Template | ||||||
| require('lib') | require('lib') | ||||||
| 
 | 
 | ||||||
|  | data.raw["recipe"]["rocket-part"].ingredients = {{ rocket_recipe | safe }} | ||||||
|  | 
 | ||||||
| local technologies = data.raw["technology"] | local technologies = data.raw["technology"] | ||||||
| local original_tech | local original_tech | ||||||
| local new_tree_copy | local new_tree_copy | ||||||
|  |  | ||||||
|  | @ -27,6 +27,24 @@ base_info = { | ||||||
|     "factorio_version": "1.1" |     "factorio_version": "1.1" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | # TODO: clean this up, probably as a jinja macro; then add logic for the recipes in completion condition | ||||||
|  | rocket_recipes = { | ||||||
|  |     Options.MaxSciencePack.option_space_science_pack: | ||||||
|  |         '{{"rocket-control-unit", 10}, {"low-density-structure", 10}, {"rocket-fuel", 10}}', | ||||||
|  |     Options.MaxSciencePack.option_utility_science_pack: | ||||||
|  |         '{{"speed-module", 10}, {"steel-plate", 10}, {"solid-fuel", 10}}', | ||||||
|  |     Options.MaxSciencePack.option_production_science_pack: | ||||||
|  |         '{{"speed-module", 10}, {"steel-plate", 10}, {"solid-fuel", 10}}', | ||||||
|  |     Options.MaxSciencePack.option_chemical_science_pack: | ||||||
|  |         '{{"advanced-circuit", 10}, {"steel-plate", 10}, {"solid-fuel", 10}}', | ||||||
|  |     Options.MaxSciencePack.option_military_science_pack: | ||||||
|  |         '{{"defender-capsule", 10}, {"stone-wall", 10}, {"coal", 10}}', | ||||||
|  |     Options.MaxSciencePack.option_logistic_science_pack: | ||||||
|  |         '{{"electronic-circuit", 10}, {"stone-brick", 10}, {"coal", 10}}', | ||||||
|  |     Options.MaxSciencePack.option_automation_science_pack: | ||||||
|  |         '{{"copper-cable", 1}, {"iron-plate", 1}, {"wood", 1}}' | ||||||
|  | } | ||||||
|  | 
 | ||||||
| def generate_mod(world: MultiWorld, player: int, seedname: str): | def generate_mod(world: MultiWorld, player: int, seedname: str): | ||||||
|     global template, locale_template |     global template, locale_template | ||||||
|     with template_load_lock: |     with template_load_lock: | ||||||
|  | @ -51,7 +69,8 @@ def generate_mod(world: MultiWorld, player: int, seedname: str): | ||||||
|     template_data = {"locations": locations, "player_names" : player_names, "tech_table": tech_table, |     template_data = {"locations": locations, "player_names" : player_names, "tech_table": tech_table, | ||||||
|                      "mod_name": mod_name, "allowed_science_packs": world.max_science_pack[player].get_allowed_packs(), |                      "mod_name": mod_name, "allowed_science_packs": world.max_science_pack[player].get_allowed_packs(), | ||||||
|                      "tech_cost_scale": tech_cost, "custom_data": world.custom_data[player], |                      "tech_cost_scale": tech_cost, "custom_data": world.custom_data[player], | ||||||
|                      "tech_tree_layout_prerequisites": world.tech_tree_layout_prerequisites[player]} |                      "tech_tree_layout_prerequisites": world.tech_tree_layout_prerequisites[player], | ||||||
|  |                      "rocket_recipe" : rocket_recipes[world.max_science_pack[player].value]} | ||||||
|     for factorio_option in Options.factorio_options: |     for factorio_option in Options.factorio_options: | ||||||
|         template_data[factorio_option] = getattr(world, factorio_option)[player].value |         template_data[factorio_option] = getattr(world, factorio_option)[player].value | ||||||
|     control_code = control_template.render(**template_data) |     control_code = control_template.render(**template_data) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue