def from_json_dict(cls, json_dict: dict) -> "LayoutConfiguration": return LayoutConfiguration( trick_level_configuration=TrickLevelConfiguration.from_json( json_dict["trick_level"]), damage_strictness=LayoutDamageStrictness( json_dict["damage_strictness"]), sky_temple_keys=LayoutSkyTempleKeyMode( json_dict["sky_temple_keys"]), elevators=LayoutElevators(json_dict["elevators"]), starting_location=StartingLocation.from_json( json_dict["starting_location"]), available_locations=AvailableLocationsConfiguration.from_json( json_dict["available_locations"]), major_items_configuration=MajorItemsConfiguration.from_json( json_dict["major_items_configuration"], default_prime2_item_database(), ), ammo_configuration=AmmoConfiguration.from_json( json_dict["ammo_configuration"], default_prime2_item_database(), ), translator_configuration=TranslatorConfiguration.from_json( json_dict["translator_configuration"]), hints=HintConfiguration.from_json(json_dict["hints"]), beam_configuration=BeamConfiguration.from_json( json_dict["beam_configuration"]), skip_final_bosses=json_dict["skip_final_bosses"], energy_per_tank=json_dict["energy_per_tank"], split_beam_ammo=json_dict["split_beam_ammo"], )
def from_json_dict(cls, json_dict: dict) -> "LayoutConfiguration": return cls.from_params( trick_level=LayoutTrickLevel(json_dict["trick_level"]), sky_temple_keys=LayoutSkyTempleKeyMode( json_dict["sky_temple_keys"]), elevators=LayoutRandomizedFlag(json_dict["elevators"]), pickup_quantities=json_dict["pickup_quantities"], starting_location=StartingLocation.from_json( json_dict["starting_location"]), starting_resources=StartingResources.from_json( json_dict["starting_resources"]), )
def _location_with_data(request, mocker, echoes_game_description): world_list = echoes_game_description.world_list areas = list( itertools.islice( (AreaLocation(world.world_asset_id, area.area_asset_id) for world in world_list.worlds for area in world.areas if area.valid_starting_location), 15)) mocker.patch("randovania.layout.starting_location._areas_list", return_value=list(sorted(areas))) return request.param["encoded"], StartingLocation.from_json( request.param["json"])
def from_json_dict(cls, json_dict: dict) -> "LayoutConfiguration": return cls.from_params( trick_level_configuration=TrickLevelConfiguration.from_json(json_dict["trick_level"]), sky_temple_keys=LayoutSkyTempleKeyMode(json_dict["sky_temple_keys"]), elevators=LayoutElevators(json_dict["elevators"]), starting_location=StartingLocation.from_json(json_dict["starting_location"]), randomization_mode=RandomizationMode(json_dict["randomization_mode"]), major_items_configuration=MajorItemsConfiguration.from_json( json_dict["major_items_configuration"], default_prime2_item_database(), ), ammo_configuration=AmmoConfiguration.from_json( json_dict["ammo_configuration"], default_prime2_item_database(), ), translator_configuration=TranslatorConfiguration.from_json(json_dict["translator_configuration"]), hints=HintConfiguration.from_json(json_dict["hints"]), split_beam_ammo=json_dict["split_beam_ammo"], )
def test_round_trip_json_all_custom_location(custom_starting_location): # Run round_trip = StartingLocation.from_json(custom_starting_location.as_json) # Assert assert custom_starting_location == round_trip
def test_round_trip_json_simple(simple_starting_location): # Run round_trip = StartingLocation.from_json(simple_starting_location.as_json) # Assert assert simple_starting_location == round_trip
def _location_with_data(request): return request.param["encoded"], StartingLocation.from_json( request.param["json"])