Add local and non_local items to item_links (#506)

* Add local and non_local items to item_links

* Whoops, don't pass list of list to verify_items.

* Give a did you mean result in the exception.
This commit is contained in:
CaitSith2
2022-05-15 07:41:11 -07:00
committed by GitHub
parent 2b6fc6dd3a
commit c0fb7d9f9a
4 changed files with 76 additions and 14 deletions

View File

@@ -12,6 +12,20 @@ else:
ItemRule = typing.Callable[[object], bool]
def group_locality_rules(world):
for group_id, group in world.groups.items():
if set(world.player_ids) == set(group["players"]):
continue
if group["local_items"]:
for location in world.get_locations():
if location.player not in group["players"]:
forbid_items_for_player(location, group["local_items"], group_id)
if group["non_local_items"]:
for location in world.get_locations():
if location.player in group["players"]:
forbid_items_for_player(location, group["non_local_items"], group_id)
def locality_rules(world, player: int):
if world.local_items[player].value:
for location in world.get_locations():