fix conflicts from 993

This commit is contained in:
alwaysintreble
2023-10-10 18:04:31 -05:00
parent 6f9cbe7750
commit 7bc7465ea5
8 changed files with 14 additions and 11 deletions

View File

@@ -880,6 +880,7 @@ class ItemSet(OptionSet):
class Accessibility(Choice):
"""Set rules for reachability of your items/locations.
Full: ensure everything can be reached and acquired.
Minimal: ensure what is needed to reach your goal can be acquired."""
display_name = "Accessibility"
@@ -891,6 +892,7 @@ class Accessibility(Choice):
class ItemsAccessibility(Accessibility):
"""Set rules for reachability of your items/locations.
Full: ensure everything can be reached and acquired.
Items: ensure all logically relevant items can be acquired. Some items, such as keys, may be self-locking.
Minimal: ensure what is needed to reach your goal can be acquired."""

View File

@@ -221,7 +221,7 @@ class TestFillRestrictive(unittest.TestCase):
player2 = generate_player_data(multi_world, 2, 3, 3)
multi_world.accessibility[player1.id].value = multi_world.accessibility[player1.id].option_minimal
multi_world.accessibility[player2.id].value = multi_world.accessibility[player2.id].option_locations
multi_world.accessibility[player2.id].value = multi_world.accessibility[player2.id].option_full
multi_world.completion_condition[player1.id] = lambda state: True
multi_world.completion_condition[player2.id] = lambda state: state.has(player2.prog_items[2].name, player2.id)

View File

@@ -1,7 +1,8 @@
import typing
from BaseClasses import MultiWorld
from Options import Choice, DeathLink, DefaultOnToggle, ItemsAccessibility, Option, PlandoBosses, Range, Toggle
from Options import Choice, DeathLink, DefaultOnToggle, ItemsAccessibility, Option, PlandoBosses, Range, \
StartInventoryPool, Toggle
class Logic(Choice):

View File

@@ -3,14 +3,14 @@ from typing import Dict
from schema import And, Optional, Or, Schema
from Options import Accessibility, Choice, DeathLink, DefaultOnToggle, OptionDict, PerGameCommonOptions, Range, \
from Options import Choice, DeathLink, DefaultOnToggle, ItemsAccessibility, OptionDict, PerGameCommonOptions, Range, \
StartInventoryPool, Toggle
class MessengerAccessibility(Accessibility):
default = Accessibility.option_locations
class MessengerAccessibility(ItemsAccessibility):
# defaulting to locations accessibility since items makes certain items self-locking
__doc__ = Accessibility.__doc__.replace(f"default {Accessibility.default}", f"default {default}")
default = ItemsAccessibility.option_full
__doc__ = ItemsAccessibility.__doc__
class Logic(Choice):

View File

@@ -150,7 +150,7 @@ class MessengerRules:
lambda state: state.has("Shop Chest", self.player))
multiworld.completion_condition[self.player] = lambda state: state.has("Rescue Phantom", self.player)
if multiworld.accessibility[self.player] > MessengerAccessibility.option_locations:
if multiworld.accessibility[self.player] > MessengerAccessibility.option_full:
set_self_locking_items(self.world, self.player)

View File

@@ -522,7 +522,7 @@ class PokemonRedBlueWorld(World):
self.multiworld.elite_four_pokedex_condition[self.player].total = \
int((len(reachable_mons) / 100) * self.multiworld.elite_four_pokedex_condition[self.player].value)
if self.multiworld.accessibility[self.player] == "locations":
if self.multiworld.accessibility[self.player] == "full":
balls = [self.create_item(ball) for ball in ["Poke Ball", "Great Ball", "Ultra Ball"]]
traps = [self.create_item(trap) for trap in item_groups["Traps"]]
locations = [location for location in self.multiworld.get_locations(self.player) if "Pokedex - " in

View File

@@ -1,4 +1,4 @@
from Options import Choice, DeathLink, Range, SpecialRange, TextChoice, Toggle
from Options import Choice, DeathLink, ItemsAccessibility, Range, SpecialRange, TextChoice, Toggle
class GameVersion(Choice):

View File

@@ -323,12 +323,12 @@ def process_pokemon_data(self):
mon_data["tms"][int(flag / 8)] &= ~(1 << (flag % 8))
hm_verify = ["Surf", "Strength"]
if self.multiworld.accessibility[self.player] == "locations" or ((not
if self.multiworld.accessibility[self.player] == "full" or ((not
self.multiworld.badgesanity[self.player]) and max(self.multiworld.elite_four_badges_condition[self.player],
self.multiworld.route_22_gate_condition[self.player], self.multiworld.victory_road_condition[self.player])
> 7) or (self.multiworld.door_shuffle[self.player] not in ("off", "simple")):
hm_verify += ["Cut"]
if self.multiworld.accessibility[self.player] == "locations" or (not
if self.multiworld.accessibility[self.player] == "full" or (not
self.multiworld.dark_rock_tunnel_logic[self.player]) and ((self.multiworld.trainersanity[self.player] or
self.multiworld.extra_key_items[self.player])
or self.multiworld.door_shuffle[self.player]):