mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-03-22 07:35:37 -07:00
fix conflicts from 993
This commit is contained in:
@@ -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."""
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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]):
|
||||
|
||||
Reference in New Issue
Block a user