Ejemplo n.º 1
0
 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"],
     )
Ejemplo n.º 2
0
 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"],
     )
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
def _location_with_data(request):
    return request.param["encoded"], StartingLocation.from_json(
        request.param["json"])