def create_regions(self): player = self.player menu = Region("Menu", RegionType.Generic, "Menu", player, self.world) crash = Entrance(player, "Crash Land", menu) menu.exits.append(crash) nauvis = Region("Nauvis", RegionType.Generic, "Nauvis", player, self.world) skip_silo = self.world.silo[self.player].value == Silo.option_spawn for tech_name, tech_id in base_tech_table.items(): if skip_silo and tech_name == "rocket-silo": continue tech = Location(player, tech_name, tech_id, nauvis) nauvis.locations.append(tech) tech.game = "Factorio" location = Location(player, "Rocket Launch", None, nauvis) nauvis.locations.append(location) location.game = "Factorio" event = FactorioItem("Victory", ItemClassification.progression, None, player) event.game = "Factorio" self.world.push_item(location, event, False) location.event = location.locked = True for ingredient in self.world.max_science_pack[ self.player].get_allowed_packs(): location = Location(player, f"Automate {ingredient}", None, nauvis) location.game = "Factorio" nauvis.locations.append(location) event = FactorioItem(f"Automated {ingredient}", ItemClassification.progression, None, player) self.world.push_item(location, event, False) location.event = location.locked = True crash.connect(nauvis) self.world.regions += [menu, nauvis]
def factorio_create_regions(world: MultiWorld, player: int): menu = Region("Menu", None, "Menu", player) crash = Entrance(player, "Crash Land", menu) menu.exits.append(crash) nauvis = Region("Nauvis", None, "Nauvis", player) nauvis.world = menu.world = world for tech_name, tech_id in tech_table.items(): tech = Location(player, tech_name, tech_id, nauvis) nauvis.locations.append(tech) tech.game = "Factorio" crash.connect(nauvis) world.regions += [menu, nauvis]