mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Don't require every item to fill
This commit is contained in:

committed by
Fabian Dill

parent
6333cc3bea
commit
814851ba60
@@ -342,14 +342,14 @@ class TestFillRestrictive(unittest.TestCase):
|
||||
multi_world.completion_condition[player1.id] = lambda state: state.has_all(
|
||||
names(player1.prog_items), player1.id)
|
||||
|
||||
region1 = player1.generate_region(player1.menu, 5)
|
||||
region2 = player1.generate_region(player1.menu, 5, lambda state: state.has_all(
|
||||
player1.generate_region(player1.menu, 5)
|
||||
player1.generate_region(player1.menu, 5, lambda state: state.has_all(
|
||||
names(items[2:7]), player1.id))
|
||||
region3 = player1.generate_region(player1.menu, 5, lambda state: state.has_all(
|
||||
player1.generate_region(player1.menu, 5, lambda state: state.has_all(
|
||||
names(items[7:12]), player1.id))
|
||||
region4 = player1.generate_region(player1.menu, 5, lambda state: state.has_all(
|
||||
player1.generate_region(player1.menu, 5, lambda state: state.has_all(
|
||||
names(items[12:17]), player1.id))
|
||||
region5 = player1.generate_region(player1.menu, 5, lambda state: state.has_all(
|
||||
player1.generate_region(player1.menu, 5, lambda state: state.has_all(
|
||||
names(items[17:22]), player1.id))
|
||||
|
||||
locations = multi_world.get_unfilled_locations()
|
||||
@@ -540,6 +540,23 @@ class TestDistributeItemsRestrictive(unittest.TestCase):
|
||||
self.assertEqual(gen1.locations[2].item, gen2.locations[2].item)
|
||||
self.assertEqual(gen1.locations[3].item, gen2.locations[3].item)
|
||||
|
||||
def test_can_reserve_advancement_items_for_general_fill(self):
|
||||
multi_world = generate_multi_world()
|
||||
player1 = generate_player_data(
|
||||
multi_world, 1, location_count=5, prog_item_count=5)
|
||||
items = player1.prog_items
|
||||
multi_world.completion_condition[player1.id] = lambda state: state.has_all(
|
||||
names(items), player1.id)
|
||||
|
||||
location = player1.locations[0]
|
||||
location.progress_type = LocationProgressType.PRIORITY
|
||||
location.item_rule = lambda item: item != items[
|
||||
0] and item != items[1] and item != items[2] and item != items[3]
|
||||
|
||||
distribute_items_restrictive(multi_world)
|
||||
|
||||
self.assertEqual(location.item, items[4])
|
||||
|
||||
|
||||
class TestBalanceMultiworldProgression(unittest.TestCase):
|
||||
def assertRegionContains(self, region: Region, item: Item):
|
||||
|
Reference in New Issue
Block a user